受託開発でもサーバレスを活用しよう! Twilio、AWSを組み合わせたアプリケーション開発事例

CodeZine / 2019年5月16日 11時0分

 本連載では、比較的「小規模」な「受託」開発を実施する際のAWS活用の勘所を、実際の開発現場での経験を元に紹介します。大規模な開発では当てはまらない部分もあると思いますが、可能な限りインフラ関連の工数を少なくし、効率的に開発を実施するために、最低限抑えておく実務上役立つ点について、解説します。本記事では業務システムの受託開発におけるサーバレスアーキテクチャの使い所、実例としてTwilioとAWSでのサーバレスを組み合わせたアプリケーション開発方法について紹介します。

■はじめに

 本連載では、ここまで新しい技術というよりは、小規模な受託開発に特化して、AWS活用の勘所について説明してきました。

 中には最新技術で置き換えた方がよい状況もあったりするかと思いますが、小規模なビジネスにおける現実解を意識して、ポイントとなるところをご説明してきました。

 とはいえ、小規模な業務システムの受託開発の世界においても、昨今よく使用されるようになってきた技術要素や開発手法を取り入れたいというニーズもあると思います。特にサーバレスアーキテクチャは場合によっては、スピード、コストの面で優位となるケースがあると考えています。

 ここでは、小規模なシステム開発における実利という観点でサーバレスアーキテクチャの使い所を説明するとともに、簡単なシステム構築方法について紹介します。

■サーバレスアーキテクチャの活用どころ

 こちらの記事は是非参照いただきたい内容です。サーバレスアーキテクチャの位置づけについて、非常に端的にまとめられていると思います。

 結局のところ、サーバレスアーキテクチャは

マイクロサービスを構成するための一つの方法
標準化された選択肢
イベントドリブン
かなりの部分でマネージドサービスを使用して開発

という手法と言えるかと思います。

 大きな視点に立つと、上述のような位置づけになるのかと思います。一方で、小規模な受託開発に特化して考えると、マイクロサービスアーキテクチャを採用することが必ずしも顧客満足に繋がるわけではない、現実的ではないケースも多々あると思います。

 主観にはなりますが、小規模な開発においては、全体的、あるいは、部分的にサーバレスを取り入れることで、

マネージドサービスの活用を促進し、機能恩恵を享受しながら、保守運用コストを下げる
インフラ、ミドルウェアのレイヤーを意識させず、業務ロジックに集中し、開発スピードを上げる

といった目的で、機能をサービスにオフロードしていくスタンスで利用するのがいいのではないかと考えています。

 具体的な例がある方が想像が付きやすいと思いますので、小規模な業務システム開発において、こういったところがサーバレスにすると効果がある可能性が高い例を挙げさせていただきます。

1. (メインではなく)サブの機能

メイン機能には組み込みたくない、組み込めない
利用頻度が読みにくい
他のシステムでも使用されるかもしれない

2. 複数のマネージドサービスを組み合わせた機能

プッシュ通知の基盤

SNSへEndpoint作成してからpublishする処理の実装

全文検索

CloudSearch、及び、データ取り込み

3. システム間データ連携処理

IoTのデータ処理
他システムから提供されるデータフォーマット変換、分割、統合

 これらの他にも、多くのケースが想定されます。

塩飽 展弘(株式会社鈴木商店)[著]

【関連記事】
AWSでシングルサインオン(SSO)を実現する~SAML2.0ベースのAWSマネージメントコンソールへのフェデレーション
Ansible、Vagrant、Packerを用いたAWSの開発/本番/ステージング環境の構築
小規模な受託開発におけるAWSインフラ環境~工数削減のポイントとセキュリティ
GCPを効率よく学ぶには? GCPエキスパートが教える認定資格、トレーニング活用のすすめ
GCPが注目を集める背景と、ITエンジニアがGCPをいま学ぶべき理由とは

■記事全文へ

この記事に関連するニュース

トピックスRSS

ランキング