大クラウド時代の技術選定

大クラウド時代の技術選定

Tags
Published
Author
Jun Ebina
 
AWS、GCP、Azureといった3大クラウドが目まぐるしく新サービスをリリースし、Render.comやfly.ioなどの新PaaSの登場や、Vercel、Cloudflareといったエッジサービス+フルスタックフレームワークの提供をしているような次世代のサービスなど、選択肢が非常に幅広いです。
 
私は普段の業務ではAWSを使っていますが、最近のクラウド事情の変化により技術選定時の考え方も変わってきたように感じます。
 
これまでの技術選定というと、ビジネスモデルに合致するライブラリが豊富な言語・FWを選んだり、チームメンバーのスキルセット、採用・技術ブランディングなどの観点で選ぶことが多かったと思いますが、今の時代はビジネスモデルに最適なクラウドを選ぶところから始まるのかなと思います。
 
  • 社内システムやシンプルな掲示板など、Web 3層でCRUD機能を実現できれば良いようなサービスはシンプルなPaaSを導入し、良い意味で枯れている汎用的なフレームワーク(Ruby on RailsやLaravelなど)を用いて、ランニングコストやメンテナンスコストを低く保ちながら運用する。
  • 大量トラフィックを捌く・信頼性の高いサービスを提供するなどの場合は、CDNやエッジに特化しているVercel、Cloudflareなどを選び、それらの企業が提供しているフレームワーク(Next.jsやHono)で開発を行うことでベンダーが提供するサービス群の強みを最大限に活かす。
  • 画像解析やIoTなど専門性が高い領域については、内製化せずにAWSやGCPなどの大手クラウドが提供しているサービスを用いて、自前実装をできる限り薄くしてクラウドに乗っかり切る
 
面白いのが、上から下に行くほどどんどんビジネスやシステムの規模は大きくなるが、アプリケーションの重要性が下がっていくということです。今後Web系エンジニアに求められるのも、アプリケーションではなくクラウド側の能力に変わっていくかもしれないです。
もちろん、0からサービスを作るならばという前提条件があり、ある程度大きくなったサービスならアプリケーション専任のエンジニアが必要だろうとか、一概に↑のような話に収まるわけではないと思いますが。