0
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?

[AIに聞いてみた] サーバーレスってなんや [AWS Lambda]

Posted at

サーバレスってなんや

オッス、オラよわよわエンジニア。
涙目になりながら、AWSを使って一人でwebアプリが作れるようになったところだ。
ところが近頃 「サーバーレスじゃないと〜」Lambdaつかえよ とかよく言われる

サーバーがないの?なにそれ怖い。

結論

なんで早く教えてくれなかったんだ
EC2でApache動かすとかより先にLabdaを学ぶべきなんじゃないか?
ただの神じゃねえか。

項目 従来の Web サーバー Lambda
サーバー管理 自分で行う必要がある AWS が行う
OS/ソフトウェアの更新 自分で行う必要がある AWS が自動的に行う
セキュリティパッチの適用 自分で行う必要がある AWS が自動的に行う
負荷分散 自分で設定する必要がある AWS が自動的に行う
スケーラビリティ 自分で設定する必要がある AWS が自動的に行う
コスト サーバーの運用コストがかかる 実行時間に応じた従量課金

Lambda最高!Apacheとかもういらなくね!?

そう言ったらAIに怒られました。以下AIによる回答です。

Lambdaは確かに素晴らしいサービスで、従来のサーバー管理の手間を大幅に削減できる点で魅力的ですよね!

しかし、「もうApacheとか使わなくて良い」と言い切れるかどうかは、ケースバイケースです。

Lambdaのメリット

  • サーバー管理不要: インフラの管理から解放され、コードの実行に集中できます。
  • 自動スケーリング: アクセス量に応じて自動でスケールするため、負荷の変動に対応しやすいです。
  • 従量課金: 使用した分だけ支払うため、コスト効率が良いです。

Lambdaのデメリット

  • 実行時間制限: 長時間実行する処理には不向きです。
  • コールドスタート: 初回実行時に起動時間がかかる場合があります。
  • ステートレス: 状態を保持できないため、セッション管理などに工夫が必要です。
  • デバッグの難しさ: ローカル環境でのデバッグが難しい場合があります。

Apacheを使うケース

  • 複雑なWebアプリケーション: 長時間実行が必要な処理や、ステートフルな処理を含む場合。
  • フルコントロール: サーバーの設定を細かくカスタマイズしたい場合。
  • 既存システムとの連携: 既存のApacheベースのシステムとの連携が必要な場合。

結論

Lambdaは、シンプルなWebアプリケーションやAPI、イベント駆動型の処理などに最適です。しかし、複雑なアプリケーションや、サーバーのフルコントロールが必要な場合は、Apacheなどの従来のサーバーも依然として有効な選択肢です。

より詳しく知りたい場合は

これらの資料も参考にして、LambdaとApacheのどちらが適しているか判断してください。

他にもあんの?

はい、AWS Lambdaのようなサーバーレスコンピューティングサービスは、他のクラウドプロバイダーも提供しています。代表的なサービスとその特徴をMarkdown方式で表にまとめました。

サービス名 プロバイダー 特徴 料金 対応言語
Azure Functions Microsoft Azure .NETとの親和性が高い、App Serviceとの統合 リクエスト数と実行時間に応じた従量課金 C#, Java, JavaScript, Python, PowerShell
Google Cloud Functions Google Cloud Platform Googleサービスとの統合、シンプルな料金体系 リクエスト数、実行時間、メモリ使用量に応じた従量課金 Node.js, Python, Go, Java
IBM Cloud Functions IBM Cloud Apache OpenWhiskベース、Kubernetesとの統合 リクエスト数と実行時間に応じた従量課金 Node.js, Python, Swift, Java, PHP

補足

  • 各サービスとも、基本的な機能はLambdaとほぼ同じです。
  • イベント駆動でコードを実行し、サーバーの管理が不要というサーバーレスコンピューティングのメリットを提供しています。
  • プロバイダーごとに、得意な分野や料金体系、対応言語などが異なります。
  • 上記以外にも、Alibaba CloudのFunction Computeなど、様々なサーバーレスコンピューティングサービスがあります。

選択のポイント

  • 使用するプログラミング言語
  • 他のクラウドサービスとの連携
  • 料金体系
  • 利用可能なリージョン
  • サポート体制

これらの要素を考慮して、最適なサービスを選択してください。

サーバーレスっていつからあんの?最近だよなぁ!?

全然違いました。 以下AIによる回答です。

サーバーレスコンピューティングは、ここ10年ほどで急速に発展してきました。主な出来事を年表形式でまとめます。

出来事
2008年 Google App Engineのリリース
2012年 "サーバーレス" という言葉が登場
2014年 AWS Lambdaのリリース
2015年 Amazon API Gatewayのリリース
2016年 Azure Functionsのリリース
2017年 Google Cloud Functionsのリリース
2018年 サーバーレスフレームワークの普及
2019年 サーバーレスデータベースの登場
2020年 エッジコンピューティングでのサーバーレス活用
2021年 AI/ML分野でのサーバーレス活用
2022年 サーバーレスセキュリティの進化
2023年 より多くの企業がサーバーレスを採用

初期

  • 2008年にGoogle App Engineがリリースされたことが、サーバーレスの起源と言えるでしょう。
  • 当初は、プラットフォームに依存したサービスとしての提供が主流でした。

AWS Lambdaの登場

  • 2014年にAWS Lambdaがリリースされたことで、サーバーレスは大きな転換期を迎えました。
  • AWS Lambdaは、FaaS(Function as a Service)の先駆けとなり、多くのクラウドプロバイダーが追随しました。

発展

  • API Gatewayなどの関連サービスが登場し、サーバーレスで構築できるアプリケーションの幅が広がりました。
  • サーバーレスフレームワークの登場により、開発の効率化が進みました。
  • サーバーレスデータベースの登場により、データの永続化が容易になりました。

現在

  • サーバーレスは、Webアプリケーションだけでなく、モバイルバックエンド、IoT、AI/MLなど、様々な分野で活用されています。
  • エッジコンピューティングでのサーバーレス活用も進んでいます。
  • セキュリティ対策も進化し、より安心して利用できるようになっています。

今後の展望

  • サーバーレスは、今後も進化を続け、より多くのアプリケーションで利用されるようになると予想されます。
  • 特に、AI/ML分野での活用が期待されています。
  • また、セキュリティ対策もさらに強化され、より安全なサービスになるでしょう。

参考資料

この年表が、サーバーレスの歴史を理解する上で役立つことを願っています。

0
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
0
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?