Webサイト発注虎の巻ダウンロード
Webサイト発注虎の巻ダウンロード

AWS Step Functionsを活用したモダナイゼーションへのチャレンジ

タク

テクノロジー事業部 テクニカルディレクターのタクです。

LIGというと「Web制作会社」のイメージが強いかもしれませんが、現在はお客様のビジネス課題をお伺いして要件化するコンサルティングから、サービスの開発・運用までカバーできる体制を整えています。

今回は、そんな我々が取り組んでいる、レガシーシステムをモダナイゼーション(近代化)するためのソリューション開発についてご紹介します。

レガシーシステムのモダナイゼーションとそのジレンマ

今、多くの国内企業において課題となっているのが、システムの老朽化問題です。なかには運用実績が20〜30年のものもあり、その企業のビジネスを長らく支えてきました。

ですが、そのようなレガシーシステムをこの先も運用し続けるのには、リスクがあります。それは2018年9月に経済産業省による『DXレポート ~ITシステム「2025年の崖」克服とDXの本格的な展開~』でも明示されているように、このままレガシーシステムを運用し続けると、レガシーシステムの保守やメンテナンスにコストがかかるため、新規投資が難しくなります。同レポートが話題になったことから、みなさまも「そういうリスクがあることは十分わかっている」とお思いでしょう。

レガシーシステムから脱却することが大事であることはわかっていながらも、そのまま使い続けてしまう企業は少なくありません。

その理由はさまざまでしょう。例えば100個ぐらいの機能を持つシステムをすべて刷新するには、億単位の規模の投資が必要となり、莫大なコストがかかります。また、長く運用実績のあるものを変えることへの不安や、入れ替えの際に不具合が生じる可能性への不安などから躊躇してしまうケースが多いのではないでしょうか。

そこで今、私たちは、そういった企業のみなさまが不安を抱えることなく、レガシーシステムのモダナイゼーションするためのソリューション開発に注力しています。

AWS Step Functionsを活用した段階的モダナイゼーション

私たちがその手段として目をつけたのが、「AWS Step Functions(以下、Step Functions)」です。Step Functionsは、AWSのサービスを組み合わせることでアプリケーション開発ができるローコード開発ツールで、AWS re:Invent 2016でリリースされ、その後、アップデートを繰り返すことで、呼び出せるサービスの種類が拡張されました。

現在は200以上のAWSのサービスが呼び出せるようになっており、開発できるアプリケーションの範囲も広がっているため、私たちも注目しています。

弊社は今、Step Functionsを活用したWebアプリケーションのエコ・システム化(いろいろなサービスを組み合わせてシステムを作り上げていくこと)にチャレンジしています。エコ・システム化のメリットは、順を追ってモダナイゼーションしていけることです。

例えば100ある機能のうち、10の機能を切り出してAWSで新しいシステムに作り替える。それがうまくいけば、次の10個にとりかかる。しかもStep Functionsを活用し、Webアプリケーションをエコ・システム化することで、レガシーシステムをコストと時間をかけずにモダナイゼーションできると考えています。

Step Functionsを活用するメリット

Webアプリケーションのエコ・システム化へのチャレンジで、Step Functionsを選択したのには理由があります。第一にAWSの認知度の高さです。AWSはMicrosoft AzureやGoogle Cloud Platformなどよりも先駆けてサービスがリリースされたこともあり、現在もグローバルのシェアではナンバーワンを誇っています。

第二に信頼性の高さ。AWSではセキュリティ品質を向上させるための積極的な投資はもちろん、安定したシステム運用を保証するためにSLA(サービス品質保証)を定義しています。

そういったAWS自体のサービスが持つ良さに加え、Step Functionsは比較的短期間かつ低コストでアプリケーション開発ができます。例えばRed Hatでもモダナイゼーションに適したプラットフォームを提供していますが、導入するだけで数百万単位のコストがかかります。一方、Step Functionsであれば、無料枠(1カ月あたり4000回までの状態遷移)が用意されているなど、初期コストをかけずに導入できます。

そして先ほどもご紹介したとおり、Step FunctionsはいろいろなAWSサービスをサポートしています。つまりStep Functionsと他のAWSサービスの組み合わせにより、画面の開発はもちろん、バックエンド、データベース、サーバなど、システム開発に必要な要素をすべて揃えることができます。

「ボタン一つでAWS上にインフラ環境を作成するアプリケーション」を開発

Step Functionsは有意義なサービスであるにもかかわらず、国内開発事例はまだ多くありません。そこで弊社では昨年よりStep Functionsワークフローでのデータベース処理、API Gatewayを利用したStep Functionsステートマシンの呼び出し、Step Functionsを活用したToDoリストの作成、Amazon CloudFront(低レイテンシーな高速転送による、コンテンツ配信ネットワークサービス)+Amazon S3(データを保存・管理できるオブジェクトストレージサービス)を活用した静的ホスティングなどを試験的に実施しています。

これらの取り組みを通じて「Step Functionsはレガシーシステムのモダナイゼーションする手法として活用できる」と実感しました。

現在は、Step FunctionsとAWS Lambda(イベント駆動型のサーバーレスコンピューティングサービス)、CloudFormation(リソースのモデル化、セットアップを自動化するサービス)、API Gateway、CloudFront、S3というAWSのサービスを使って、ボタン一つでAWS上にインフラ環境を作成するサーバーレスなアプリケーション開発に取り組んでいます。

同アプリケーションの開発は、PoC的な位置づけとして始まっていますが、構築が完了すれば、Step Functionsの開発実績になります。現在、チーム一丸となって、AWSのナレッジを高めるべく同アプリケーションの開発に注力しています。

そしてこの開発で得た知見をお客様にも還元し、レガシーシステムのモダナイゼーションに貢献していきたいと考えています。

さいごに

もちろん、どのシステムを切り出して刷新していくか。そこには知見が必要です。当社には詳しいテクニカルディレクターが在籍しておりますので、ぜひ気軽にお声がけください。

もちろん、Step Functionsを活用したモダナイゼーションだけが私たちの提案ではありません。きっとお客さまに寄り添ったモダナイゼーションの提案をできると思います。

レガシーシステムのモダナイゼーションにこれから取り組もうと考えている企業の方は、一度、弊社へご相談ください。

レガシーシステムのモダナイゼーションについて
問い合わせる