6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PhotocreateAdvent Calendar 2018

Day 7

re:Inventで感じた本格的なサーバーレス時代の到来(Photocreate Advent Calendar 7日目 )

Last updated at Posted at 2018-12-06

クラフトビールを愛するテックリードの@rinrinです。
この記事は Photocreate Advent Calendar 2018 の 7日目 の記事です。

tl;dr

  • サーバーレスだけで十分サービス構築が可能な環境が整ってきた
  • 今後は積極的にサーバーレス(Lambda)中心の設計を採用していく

AWS re:Invent 2018に参加してきました

毎年11月下旬から12月上旬頃に行われる、AWSのテックカンファレンスです。
フォトクリエイトは一年ほど前から、オンプレミスからAWSへの大規模な移行に着手している背景もあって初参加となりました。

基調講演の席確保ために早朝から並んだり、夜遅くのイベントでは大量に出てくる🍺を飲み続けたり相当ハード(?)な出張でしたが、ライブ配信では感じられない現場の熱量を感じれ、現地で出会ったエンジニアと技術について話し、これからのアーキテクチャについて思いを巡らせることができた充実した一週間でした。

主役はサーバーレス

1d3e71bc-8fac-47b2-832e-4beb8ecfcb44.png

基調講演ではサーバーレスについて多く語られたように思えます。1
特に次の3つのアップデートはサーバーレスを一層前に進めるものと感じました。

AWS Lambda

Runtime APIによって自由に好きな言語でLambdaを利用可能になりました。
Ruby、C++、Rustがサポートされ、その他の言語もパートナー企業からリリースされます。2

Layersでは重量級ライブラリなどを事前に別途アップロードしておくことで、デプロイを高速化したり、モニタリング処理などの差し込みなども容易になりました。

ALBサポートはトラディッショナルなサーバーアプリケーションのサーバーレス化可能な部分のみをLambdaで実装するという柔軟なアーキテクチャを可能にします。

Step Functions

Lambdaをつなげてワークフローを構築するサービスでしたが、ECSをはじめ各サービスもアクションに利用することが可能になりました。
今まではLambdaに限定されていたため、RDBにアクセスしたい場合などはLambda in VPCからRDBに接続する相性の悪い方法を取らざるを得なかったのですが、Lambdaとコンテナアプリケーションを一つのワークフローで連携させることが容易になりStep Functionsが一気に採用しやすくなったと感じます。

DynamoDB

制限はいくつかあるもののトランザクションをサポートしたことで凝ったことをして複数テーブルへの書き込みの整合性を確保する必要がなくなりました。
また、On-Demandモードの登場でバーストに備えて余分にキャパシティをプロビジョニングする必要がなくなりコスト最適化が容易になりました。

2日目の基調講演ではワーナーCTOからAmazon.comがRDBからDynamoDBに大部分を移行し、よりスケーラブルに変わっていっている話がありましたが、このDynamoDBのアップデートはRDBからDynamoDBへ置き換えることができる範囲をぐっと広げてくれたと感じています。

待望のサービスメッシュ

基調講演での発表ではなかったものの、コンテナ関連でもアップデートはあり、サービスディスカバリのAWS Cloud Map、そしてECSユーザー待望のマネージドなサービスメッシュ、AWS App Meshが発表されました。

フォトクリエイトではAWS移行と同時にマイクロサービス化を進めており、gRPCでのクライアントロードバランスを考えた時に必須ともいえるサービスメッシュの仕組みが提供されることは非常に大きいです。

これからのコンテナとサーバーレスの関係

私が見聞きしている範囲では、汎用性の高いコンテナとそのオーケストレーションツールを中心にサービスを構築し、補助的にサーバーレスを利用するスタイルが多い印象があります。RDBを中心に据えている場合は自然とそのパターンになりますし、フォトクリエイトもこのスタイルです。

サーバーレス中心の場合、設計手法は大きく変わりますし経験も多くないためリスクはありますがスケーラビリティとコスト最適化、信頼性、パフォーマンスなどメリットは数多くあります。
今までは機能やツールなどが不足しており積極的な採用は控えていましたが、今回の発表を受け、フォトクリエイトでも積極的にサーバーレス中心のアーキテクチャを取り入れていこうと考えています。

さいごに

フォトクリエイトは国内最大級の写真データを保有しており、そのデータとアプリケーションを絶賛AWSに移行中です。
アプリケーションの移行は単純に載せ替えるのではなく、クラウドネイティブに再設計しながら進めており、日々よりよい設計と新しい技術にトライしています。

また、サーバーレスと並んで毎年関心が高まっているML関連の発表をレコチョクさんとの合同のre:Invent報告イベントでお話しますので、興味がある方はぜひご参加ください。

フォトクリエイトではAWSをフル活用してサービスを構築したいエンジニアのご応募をお待ちしております

  1. ここではLambda中心に書いていますが、AWSにおいてサーバーレスはもはやLambdaやAPI Gatewayだけでなく、Auroraや今回発表されたQLDB、Timestream、Personalizeなどマネージドなサービス全てを指しています

  2. Wrap-up Sessionでの話では自身でランタイムを作るのはパッチやバージョンアップなどのメンテナンスコストが増えるだけのためあまりオススメしないとのことでした。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?