はじめに
本連載では、ここまで新しい技術というよりは、小規模な受託開発に特化して、AWS活用の勘所について説明してきました。
中には最新技術で置き換えた方がよい状況もあったりするかと思いますが、小規模なビジネスにおける現実解を意識して、ポイントとなるところをご説明してきました。
とはいえ、小規模な業務システムの受託開発の世界においても、昨今よく使用されるようになってきた技術要素や開発手法を取り入れたいというニーズもあると思います。特にサーバレスアーキテクチャは場合によっては、スピード、コストの面で優位となるケースがあると考えています。
ここでは、小規模なシステム開発における実利という観点でサーバレスアーキテクチャの使い所を説明するとともに、簡単なシステム構築方法について紹介します。
サーバレスアーキテクチャの活用どころ
こちらの記事は是非参照いただきたい内容です。サーバレスアーキテクチャの位置づけについて、非常に端的にまとめられていると思います。
結局のところ、サーバレスアーキテクチャは
- マイクロサービスを構成するための一つの方法
- 標準化された選択肢
- イベントドリブン
- かなりの部分でマネージドサービスを使用して開発
という手法と言えるかと思います。
大きな視点に立つと、上述のような位置づけになるのかと思います。一方で、小規模な受託開発に特化して考えると、マイクロサービスアーキテクチャを採用することが必ずしも顧客満足に繋がるわけではない、現実的ではないケースも多々あると思います。
主観にはなりますが、小規模な開発においては、全体的、あるいは、部分的にサーバレスを取り入れることで、
- マネージドサービスの活用を促進し、機能恩恵を享受しながら、保守運用コストを下げる
- インフラ、ミドルウェアのレイヤーを意識させず、業務ロジックに集中し、開発スピードを上げる
といった目的で、機能をサービスにオフロードしていくスタンスで利用するのがいいのではないかと考えています。
具体的な例がある方が想像が付きやすいと思いますので、小規模な業務システム開発において、こういったところがサーバレスにすると効果がある可能性が高い例を挙げさせていただきます。
1. (メインではなく)サブの機能
- メイン機能には組み込みたくない、組み込めない
- 利用頻度が読みにくい
- 他のシステムでも使用されるかもしれない
2. 複数のマネージドサービスを組み合わせた機能
-
プッシュ通知の基盤
- SNSへEndpoint作成してからpublishする処理の実装
-
全文検索
- CloudSearch、及び、データ取り込み
3. システム間データ連携処理
- IoTのデータ処理
- 他システムから提供されるデータフォーマット変換、分割、統合
これらの他にも、多くのケースが想定されます。