AWSでサーバレスを選ぶ理由
はじめに
サーバレスは、開発者が主にアマゾン ウェブ サービス(AWS)などのクラウド上で、サーバを意識することがないコンピューティング基盤を利用してアプリケーションを実行するアプローチである。
同じくクラウドでアプリケーションを実行するために、仮想サーバを基盤とする従来型のアプローチがある。
サーバレスは従来型に比べて何が新しく、我々のようなクラウドを利用する開発者にどんなメリットを与えるのかを解説する。
サーバレスは何が新しいのか
従来型と呼んだアプローチでは、アプリケーションを実行するコンピューティング基盤として主にクラウド上で仮想サーバを構築する。
AWSにおける仮想サーバの具体例はAmazon EC2である。
例として、AWSでアプリケーションをWebサーバ、AP(アプリケーション)サーバ、DB(データベース)サーバの3層で構築する場合、各サーバに対応するEC2インスタンスを作成して起動する。
アプリケーションがクライアントからのリクエストをいつでも処理できることが要件であれば、EC2インスタンスを常時起動しておく必要がある。
従来型では起動中のEC2インスタンスの台数からコスト予測を容易に行えるが、来たるピークに備えて事前に起動するため、全く処理が発生しない時間帯のコストと電力が無駄になる。
AWSではAWS Auto Scaling や AWS Systems Manager などのサービスを利用して、リクエスト数に応じてEC2インスタンスの台数を自動的に増減するスケールインおよびスケールアウトを行えるが、設定の調整は運用者の責任範囲であり、継続的な運用として実施する必要がある。
また、サーバーやオペレーティングシステム(OS)の運用とメンテナンスも必要で、運用者にOSのセキュリティパッチ適用などの定期的な作業が発生し、作業の管理も必要となる。
サーバレスのメリットは、アプリケーションを実行するコンピューティング基盤のCPUやメモリのリソースを割り当てる責任がクラウドベンダーに移ることと、処理時間に応じた課金モデルが提供されることにある。
AWSではサーバレスのコンピューティング基盤はブラックボックスであり、AWSがアプリケーションを実行するためのリソースを管理し、実行する処理の需要に応じて動的に供給する。
従来型ではアプリケーションを実行する各仮想サーバのリソースの逼迫を見越して、リクエストが到着する前に運用者がピークに備えるための作業を必要としたが、サーバレスではAWSがリソースの供給量を動的に決めるため、運用者の設計と作業の負荷が軽減する。
また、運用者はOSのセキュリティパッチ適用など、従来型で必要とされた定期的な作業を行う必要はない。
運用者が管理する範囲はビジネスロジックとアプリケーションのコードそのものに絞られ、アプリケーションの開発により時間と労力を集中できる。
また、サーバレスでは、従来型の課題であったコストと電力の無駄がなくなる。
AWSでは実際に処理が発生した時間にコストが発生するため、アイドリング時間にも課金される従来型とは異なり、無駄が発生しにくい。
AWSにおけるサーバレスの具体例は、AWS Lambda、Amazon S3、Amazon DynamoDBである。
「簡易性」か「柔軟性」のどちらを取るか
これまでの説明で、サーバレスが従来型の全てを上回るように思われるかもしれないが、要求次第では従来型が勝ると言える性質もあり、一部の性質の間にはトレードオフの関係が存在する。
例えば、開発作業における「簡易性」と「柔軟性」はトレードオフの関係である。
「簡易性」は、コンピューティング基盤の設定項目が少なく簡便であり、他のサービスや機能との連携を最小限の操作で行えることを意味する。
「柔軟性」は、コンピューティング基盤の設定を細かく調整でき、制約が少ないことを意味する。
この定義に基づけば、一般的にサーバレスでは「簡易性」が高く、従来型では「柔軟性」が高い。
AWSにおけるサーバレスの「簡易性」の具体例として、AWS Lambdaでアプリケーションをデプロイすると自動的またはごく僅かな操作によって監視やログ保管を行えることが挙げられる。
但し、サーバレスでは「簡易性」が高いことが設定上の制約となる場面があり、多くのケースではサーバレス特有の操作方法を新たに学ぶ必要がある。
従来型では「柔軟性」が高いことの裏返しで、運用の中で管理すべき設定項目が増える傾向があるが、慣れ親しんだ操作 (OSのコマンドやインタフェース等) を再現できることと、不測の事態に柔軟に対応できるメリットがある。
サーバレスと従来型の両方のメリットとデメリットを理解して、どちらを選択するかを判断すべきである。
|
メリット | デメリット |
---|---|---|
従来型 |
|
|
サーバレス |
|
|
ユーザ企業の将来を考えたAWS移行
近年、自らAWSなどのデジタル技術を活用することで、社会課題の解決を行い、新たな価値と体験の提供を目指すユーザ企業が増加している。
ユーザ企業が自ら技術の習得に動く背景には、経営のアジリティ向上と、価値提供の迅速化が挙げられる。
この姿を目指すユーザ企業では、自ら開発と運用を担えるように変わるためのアクションが始まっており、これを「内製化」と呼ぶ。
内製化は今すぐに出来るものではなく、計画的かつ段階的に実施するものである。
内製化を目指すユーザー企業の課題 (経済産業省: DXレポート2.1 より) |
---|
|
但し、内製化とは開発や運用の一部または全ての役割がユーザ企業に移ることを意味するため、内製化を目指すユーザ企業は、将来に自身が役割を担う姿を思い浮かべ、目の前のAWS移行を検討する必要がある。
前述のメリットの通り、サーバレスはユーザ企業自身の開発と運用の負荷を下げるための有力な選択肢となる。
サーバレスにも対応するTISのAWSマイグレーション
TISの「AWSマイグレーション」サービスで、ユーザ企業のオンプレミス環境で実行中のアプリケーションをAWSに移行し、前述のメリットを得ることが可能だ。
様々な移行方式の1つに「Re-Architect」がある。
「Re-Architect」ではアプリケーションの再設計を行い、開発・運用手法を従来から変更する。
従来型の仮想サーバを保って移行する「Re-Host」では実現が難しい機能をAWSの複数サービス間を連携して開発する場合に「Re-Architect」方式を選択する。
「Re-Architect」はサーバレスを前提とする場合が多く、スケーラビリティの確保、パフォーマンスの向上といったニーズにも応える。
サーバレスでは、従来型を前提としたスクラッチ開発と比較して、同等の機能を実現するまでの新規開発に費やす期間を短縮でき、ランニングコストの無駄が減り、運用の複雑さも緩和できる。
「Re-Host」に比べて開発期間は長くなるが、開発者と運用者が共に得られる長期的なメリットが大きい。
TISは、ユーザ企業が目指したい姿を念頭に置き、ビジネス上の指標(KPI)を意識した最適化の先に、技術的なメリットを追求する。
AWSのベストプラクティスであるAWS Well-Architected Frameworkでも、開発者と運用者に対し、KPIを意識してゴールや優先順位を定義することが重要と説く。
TISもこの考えを念頭に、ユーザ企業と目標を共有し、様々な移行方式から最善策を導いている。
現在のアプリケーションのAWS移行を検討する際は、まずは一度、AWS移行の専門家が集うTISにご相談いただければ幸いである。
著者紹介
横井 公紀
IT基盤技術事業本部 IT基盤技術事業部
IT基盤ビジネス推進部 主査
AWS東京リージョン開設当初から、数々のAWS移行プロジェクトに担当者・プロジェクトリーダーとして参画。
2019年にはAWS Partner Ambassadorsの選出を受け、現在はAWS CCoEリーダーとして、TIS社内のAWS技術者コミュニティ運営や、全社のAWS利用促進によるビジネスの拡大と、エンジニアの先鋭化を目指した育成を推進している。
AWS活用事例紹介
システム保守・開発のための多拠点情報共有基盤 「AXION」をクラウドへ移行。
TISインテックグループでは、システム保守・開発プロジェクトを円滑に推進するための情報共有基盤として「AXION」を構築している。
保守/開発プロジェクトに必要なツールをそろえ、社内外・複数拠点と、物理的に離れた場所からもドキュメントや情報をリアルタイムに共有できる仕組みとなっている。2012年から自社環境で展開してきたAXIONは、より柔軟に扱えるようにするため、2016年から2017年にかけて、アマゾン ウェブ サービス(AWS)環境への移行を実施し、より俊敏性・柔軟性・生産性の高い基盤として生まれ変わった。
AXIONのプロジェクトマネージャと、IT基盤エキスパートに移行プロジェクトのポイントについて聞いた・・・
スマホアプリのリリースサイクル向上のため、内製化によるクラウドネイティブなアプローチを採用
TISでは、運動や食事を管理し、普段の買い物にも活用できるスマートフォン向け健康管理アプリ「ASTARI」を提供している。
ASTARIはアマゾン ウェブ サービス(AWS)上で構築されており、従来は外部の開発会社に依頼して開発運用を進めていたが、いち早くユーザーに新機能を届け、ユーザー体験の向上を目指すために、開発を社内チームに拡げ、よりクラウドネイティブなアプローチでアジャイルな開発を進める必要があった。
ASTARI開発の中心となっている2人に、新たな取り組みへのチャレンジについて聞いた・・・
ダウンロード資料
Platform Square特設サイトにて、AWSをはじめとしたホワイトペーパーや事例など各種コンテンツをダウンロードできます。