【MBTI診断】16タイプ別・フリーランスに向いてる仕事/働き方
- コラム
- フリーランス/個人事業主
- 働き方
3月12日に、AWSのスタートアップ向けカンファレンス『AWS Startup Day Tokyo 2018』が開催されました。
「AWSってなに?誰かわかりやすく説明して!」という人はコチラから↓↓↓
AWS Startup Day Tokyo 2018イベントレポ(1)グノシー、SegmentのCTOがAWSと歩んだ成長の軌跡を辿る
Workship MAGAZINE
WorkshipMAGAZINEでは数回に分けて、『AWS Startup Day Tokyo 2018』のイベントレポートを公開。
今回はエンジニアが知っておきたい、AWSの使い方をご紹介します。
イベントには、AWSを活用してサービスをグロースさせたスタートアップの技術者たちが登壇しました。成功事例や、やってみてつまづいた点などをお話しいただきました。
scoutyは、人工知能が、インターネット上のオープンデータから情報を取得して、エンジニアの能力を自動分析し、最適な企業とマッチングさせるサービスです。scoutyを運営する同社から、リードエンジニアの伊藤 勝梧氏(@showwin)が登壇しました。機械学習を使ったサービスを構築する過程で、さまざまな問題に直面してきたと話します。
ユーザーの評価基準を作るために、まずはQiitaなどに投稿されている記事を人力で評価し、アノテーションをつけました。ガイドラインを一度作って、大量のアノテーションをつけるために次のフェーズへ。すると次のような問題が起こったそう。
伊藤氏は、反省点を次のように語ります。
現在のscoutyでは、顧客ニーズとアルゴリズムが一致しているかをアルゴリズムマネージャが判定して、OK/NGを出し評価するようになったそうです。
scoutyでは、AWSを以下の図のように組み込んでいます。Dockerコンテナをサポートする拡張性とパフォーマンスに優れたコンテナオーケストレーションサービスのAmazon ECS上でscrapyというpythonのボットを動かしています。
次に登壇したのは、VoicyのCTOを務める窪田 雄司氏(@yuji0316)。Voicyという音声ブログを中心としたサービスを手がける同社は、プロダクトの成長とともに、いろいろな部分を自動化してきたと話します。今回はリリースの自動化についてお話しいただきました。
当初、リリースについて次のような問題を抱えていました。
そんな問題を解決したのが、AWSの各サービスです。CodeBuildを使用してEBSに配置しています。
窪田氏がつまづいたのは、AWS Code BuildにGo1.8が入っていないことでした。
VoicyではGoを使っていた上に、パッケージ管理ツールとしてdepを使用していました。depを動かすにはGo1.8以上が必要だが、Code Build上で作成されるコンテナにはGo1.7しか入っていなかったそう。そこで、 buildspec.ymlで最初にGo1.8をインストールしてからビルドコマンドを叩くように変更しました。
メディア事業やコンサルティング事業を手がけるSpeeeのエンジニア・森岡 周平氏(@selmertsx)は、サーバレスの魅力を聴衆に訴えました。Speeeには、新しい技術を社内ツールで試してみるという社風があり、AWSのLambdaはかなり積極的に使用しているとのこと。
例えば画像をリサイズするシステムには、API Gateway とAWS Lambdaを組み込みました。
AWSのアカウントを事業単位で分けると話すのは、ガス会社のエネチェンジでチーフエンジニアを務める川西 智也氏。
コストをどう計上するかというテーマでお話しいただきました。事業部別にアカウントを分けると、明確にコストを把握できるというメリットがある一方、事業部をまたぐような作業をするときに、運用上の手間がかかるというデメリットもあります。
そこでエネチェンジは、全社でアカウントを統一。代わりに、コスト配分タグを使って事業部別コストを管理しています。同社は、コスト配分タグを自動で付与する仕組みを開発しました。EC2にタグがあれば、EBSなどにも自動でタグを付与します。
dockerコンテナをデプロイするツールであるKubernetesをご存知でしょうか。「将来的にFaasの裏側はKubernetesになっていくでしょう」と絶賛するのは、freeeのエンジニアである九岡 佑氏(@mumoshu)。
Kubernetesは、自動デプロイ、スケーリング、アプリ・コンテナの運用自動化のために設計されたオープンソースのプラットフォームです。
「生産性が上がらない」「エンジニアが足りない」といったスタートアップのよくある課題を解決するのに適したツールだと九岡氏。一方、「Microservicesアーキテクチャ」や「リモートワーク」などがスタートアップにおける開発のトレンド入りしているとも指摘します。
コンテナを動かす環境としては、AWSのECSが便利。九岡氏は、次のようなメリットをあげました。
Kubernetesは、コンテナの運用を助けてくれます。ほとんどのコンテナのユースケースはK8Sか周辺ツールでサポートされます。また、LambdaやECSよりも凡庸的であるのも魅力。そのぶん学習コストが高いのがデメリットではあります。
また、Kubernetesで使えるクラスタマネージドサービスの「EKS」がとても便利出そう。Kubernetesの「コントロールプレーン」をマネージしたり、AWS IAMやVPCとの統合をサポートしてくれるとか。
「Kubernetes on AWSを使うならEKSを使っておくべき」とのことです。
WorkshipMAGAZINEでは、『AWS Startup Day Tokyo 2018』の模様をお届けしました。
AWSってなに?誰かわかりやすく説明して!という人はコチラから↓↓↓
AmazonのWebプラットフォーム『AWS』とは?特徴や便利なサービスまとめ
Workship MAGAZINE