ユニファ開発者ブログ

ユニファ株式会社プロダクトデベロップメント本部メンバーによるブログです。

AWS LambdaのコンテナイメージによるTensorFlow推論の処理時間比較

こんにちは、データエンジニアリングチームの宮崎です。

昨年、AWS Lambdaにおけるコンテナイメージのサポートが発表され、AWS Lambda上でTensorFlowを使用しやすくなりました。 一方で、以前コチラの記事でご紹介したように、AWS LambdaでTensorFlowを使用するにはServerless Python Requirementsを利用する方法もあります。コンテナを使う場合は、ロードなどにより処理時間が増えそうでもあり、今後どのように使い分ければ良いのか迷いどころです。

そこで、今回はServerless Python Requirementとコンテナイメージ利用、それぞれで処理時間がどのようになるのか計測してみました。

続きを読む

PostmanでCookieが必要なAPIを実行する

こんにちは、ユニファQAの坂口です。 QAチームでテスト自動化エンジニアを担当しており、現在は主にPostmanでAPIテストを実装しています。 GWは本を読んだりTwitter APIで遊んだりしていました。

本記事では、PostmanでCookieが必要なAPIを実行する方法を紹介いたします。 シングルサインオンで認証するような、セッション情報が求められるWebページのAPIを実行する際に活用できるのではないかなと思います。 また、Cookieは有効期限がありますので、Webブラウザに保存したCookie情報を自動でPostmanに連携する機能(Postman Interceptor)についても紹介します。

続きを読む

朝会で雑談しよーよ! 「CTU」のすゝめ

f:id:unifa_tech:20210505105051p:plain こんにちは、プロダクトマネージャーの田嶋です。

突然ですが、みなさんのチームでは、朝会をやっていますか?

朝会をやっているものの、
・業務共有だけでは何か素っ気ないな。。
・もう少し雑談を交えて、メンバーの距離を縮めたいな。。
と思っている方へ向けて、今回は弊チームが毎日実践している、オリジナルの朝会プラクティスをご紹介します!(約1.5ヶ月運用中!)

続きを読む

羽ばたけ! Slack じゃんけん!

みなさんこんにちは。

前回のエントリーで Slack じゃんけんを公開し、その後まったくご好評いただいていない柿本です!

tech.unifa-e.com

ひょっとしたら、もしかして、見方によっては、可能性として、 Slack でじゃんけんをしたいという需要はあまりないのかもしれません!

それはともかく、せっかく Slack アプリを作ったので Slack App Directory に登録して、ボット職人の仲間入りを果たそうと思います。

Slack アプリ申請の手順は公式のガイドラインに記載の通りなので詳細は省きます。

それ以外の「意外と手こずった!」作業について記載することにします。

続きを読む

AWS ECSのserviceにアクセスする方法

こんにちは、プロダクトエンジニアリング部のちょうです。天気もすっかり春になった気分ですね。気温がさむくなったり暖かくなったりするので体調管理を十分気をつけましょう。

さて、コンテナ技術の流行りとともに、AWS ECSなどを利用して機能を提供するサービスが増えたと思います。ただ、EC2インスタンスからECS serviceに変わる際に、実際インフラレベルの内容が複雑になることが多く、いままでできたことをどうやってECSで実現できるかを調べないといけないです。その一つはサーバーに入って、調査したり、作業したりすることです。

ECSにはEC2とFargate二種類があります。EC2は名前通りEC2インスタンスです。既存のEC2インスタンスを再利用できます。特にSpot instanceなどです。Fargateはまったくインスタンスを管理しなくてもいいタイプです。EC2タイプはインスタンスがあるので、そのインスタンスに入って、ローカルと同じようにdockerのコマンドを使えば実行中のECS serviceにアクセスできます。Fargateになると、インスタンスがないので、簡単で入ることができません。

先月AWSからECS serviceにdocker execを実行できるニュースがあります。

Amazon ECS で、Amazon EC2 または AWS Fargate で実行されているコンテナでのコマンドの実行が可能に

いろいろ設定を変えれば、Fargateでも入れるようになります。先日弊社のブログにも書きました。

Amazon ECS Execを使ってrails consoleを動かしてみる - ユニファ開発者ブログ

でも、よく考えると、実行中のECS serviceに、docker execで入って、調査はまだいいですが、作業はやめたほうがいいかもしれません。実行中のサービスに影響があります。それと、Fargateを使ってインスタンスを管理しなくてもいい反面、ディスクのサイズは固定、プログラムが終わると消えるデメリットがあります。正直本番作業に向いていないです。いろいろ設定して、作業用に変えるより、素直にEC2タイプを使いましょう。

続きを読む

決め方の数理 1:検討の数理

UniFa プロダクトデベロップメント本部 副本部長の西川です、こんにちは。

仕事柄、意思決定に携わることが多いです。
意思決定はその結果がより良い未来につながっていることもあれば、より好ましくない未来につながっていることもあります。
当然、未来に大した影響を与えないような意思決定もあります。

先に意思決定の結果が知れるような魔法の杖でもあればステッキなのですが、残念ながら2021年現在、どのECサイトを覗いてもそんなものは売ってないようです。

では、私たちは何を基準として意思決定を行っていけば良いのでしょうか。
この記事から数回に分けて不定期更新する(心意気の)「決め方の数理」というシリーズは、この問いへの、現時点での私なりの見解をまとめてみようという試みです。
第1回のこの記事、”検討の数理”では、「調査や議論に代表されるような検討には、果たしてどれくらいコストを投じるのが適切なのか」をテーマに語ってみたいと思います。

続きを読む

Amazon ECS Execを使ってrails consoleを動かしてみる

(2021-04-19追記)下記内容を追記しました。

  • ログの出力方法
  • 注意点

人生初の某春のパン祭りに参加中のWebエンジニアの本間です。早くゴールしてご飯に戻りたい...。

さて、弊社のRailsアプリケーションの多くは、Amazon ECS + AWS Fargateの組み合わせで稼働しています。 過去はEC2上で動かしていたのですが、ECS + Fargateに移行したことで様々なメリットがありました。

しかし、ECS + Fargateに移行したことでデメリットもあります。 EC2でRailsを動かしていた時代では、作業用のEC2にsshで接続し、そこでrails consoleを動かして作業、ということが簡単にできていました。 ECS + Fargateに移行してからはこの方法が使えなくなってしまったため、データ修復やジョブリトライの作業を行うのが難しくなりました。 DBに直接接続したり、ECSのRun taskを使ったり、SREチームに特別な環境を用意してもらったりとだましだましやってきたのですが、この部分はEC2自体の方がやりやすかったと思っています。

そのような中、先日 Amazon ECS Exec が発表されました。 詳細は割愛しますが、ECS Execを使うことで 稼働中のDockerコンテナに接続してコマンドを実行する ことができるようになります。 (詳細は クラスメソッドさんの解説記事 が詳しいです)

この機能のリリースを聞いたとき「EC2時代と同じ感覚でrails consoleが使えるのではないか?」という期待が頭に浮かびました。 今回はこれができるかどうか確認するため、ECS Execを有効にした作業用のDockerコンテナを立ち上げて接続し、rails consoleを動かしてみようと思います。

続きを読む