[和訳] HabitatとAzure: アプリの種類や場所を選ばないクラウド移行 #getchef #habitat #azure
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本稿は Habitat and Azure: Cloud Migration for Any App, Anywhere (2019/9/7) の和訳です。
今日の企業は、データセンターを増強したり閉鎖したり、パブリッククラウドへの移行を進めています。サービスをAzureや他のクラウドプロバイダーに移行する際、ビジネスユーザがただちに直面する疑問は次に挙げるような多種多様なものです。
- サービスをクラウドに移行するもっとも効率的な方法は?
- どのサービスを移行するか査定する方法は?
- インフラストラクチャをリフト&シフトするのか?
- アプリケーションを再ホストするだけでいいのか、リファクタリングするのか?
- それともアプリケーションを再構築すべきなのか?
- クラウド向けにアプリケーションを最適化する方法は?
これらの問いへの答えは、そもそもなぜ多くの企業がクラウドへ移行するのかを考えることで得られます。データセンターとの契約が来月までなので移行が必要だったという場合もあるでしょう。またはデータセンターの容量が枯渇したため、早急に新たなシステムを構築しなければならない場合もあるでしょう。あるいは、長期的戦略の一環としてアプリケーションの運用と関連し、コスト削減のために徐々にデータセンターから脱却できればと期待している場合もあるでしょう。その道のりが緩やかなものであれ、急速なものであれ、あなたのビジネスには、エンドユーザのために継続的に利用可能なアプリケーションとサービスが必要です。
ほとんどの組織は多種多様なアプリケーションを世に送り出しています。つい先週書かれたものもあれば、20年以上前に書かれたものもあります。それらすべてがあなたのビジネスに何らかの価値を提供しています。しかし非常に多くの方法と、非常に多くのツールで構築しているため、それらすべてを管理することはほぼ不可能に近い事態となっています。
アプリケーションを新たな場所へ移行しようとするときほど、この事実を克明に認識することはありません。Chefのアプリケーションおよび運用チームでは、通常、次のような解析手順を行っています:
- 何をするアプリケーションなのか?
- 誰が書いたのか?書いた人物は今も働いているか? 会社は存続しているか?
- 言語は何か? インストーラはあるか?
- アプリケーションはどのように設定されたのか?
- 最近のOSでどのように起動させるか?
- その他...
多くのモダンなOSでは、Azure MigrateやAzure Site Recoveryなどのツールを活用して、素早く既存のサービスをそのままクラウドにリフト&シフトすることで、前述の解析手順のいくつかは省略できるでしょう。しかしレガシーなソフトウェアでは、それはできません。データセンターの裏に隠れている大型のシステムは、今も古いOSでアプリケーションを実行しているのです。また、いくつかのコードを書き直しさえすればコンテナ用に再構築できるというアプリケーションは、どうすれば良いのでしょうか?
アプリケーションの書き直しにリソースを費やすのはやめて、いずれにせよ実行の必要がある解析作業を行い、移行のためにアプリケーションをリパッケージしましょう。Habitatでそれが可能になります。事例をご紹介します。
レガシーアプリケーションの移行
私たちは先日、大手の製造業社がWindows Server 2003インスタンスで運用していた、商用オフザシェルフ(Commercial Off the Shelf; COTS)アプリケーションをモダンなシステムに移行するお手伝いをしました。このアプリケーションは、サポート終了のOS上に構築されていただけでなく、更新を完了するのに3~5日もかかっていました。
もともとは2000年ごろにBorland Delphiで書かれたアプリケーションで、ポルトガル語で書かれていることも複雑さを増していました。顧客が必須とするアプリケーションだったため、会社にとってとても価値の高いものでした。私たちはHabitatを使って、このアプリケーションをリパッケージしました。彼らは、私たちのエンジニア2人とともに数週間で、どのようにアプリをデプロイし、その手順をコードに取り込むかを明らかにする作業を行いました。
最終的には自らのチームでアプリケーションの新しいインスタンスを10秒もかからずにデプロイできるようになりました。新たにパッケージしたアプリは、現在では最新バージョンのWindows Serverおよびクラウド、さらに自らの新しいクラウド環境にもデプロイできるようになりました。
数週間後には彼らはクラウド時代の波に乗り、レガシーアプリケーションをモダナイズできるようになりました。
可搬性
アプリケーションを自らモダンなOSに移行できることは、組織内のリスクを軽減できるすばらしい方法です。クラウド移行の際に期待する別の点は、リソースの最適化です。リスクに備えるのも最適化の1つの目的ですが、クラウド内の利用状況を最適化することも重要です。より規模の小さなシステムを活用するためにコンテナへ移行する場合、あるいは、AzureのPaaSアプリケーションを活用して、アプリケーションのコンポーネントを置き換える場合です。
一旦Habitatでアプリケーションをパッケージしたら、それをエクスポートし、VMでの実行はもちろん、Azureコンテナレジストリにコンテナイメージをアップロードし、Azure
Kubernetesサービス上でイメージを実行することまでもが可能となります。データベースを使用するアプリケーションは、データベースをHabitatでパッケージするか、あるいはデータベースをAzureデータベースサービスに移行し、アプリケーションパッケージをそのデータベースサービスに接続する2つの方法があります。これらのソリューションで、あなたのクラウドにおけるデプロイを高度に最適化する速度を早め、有効性を高めます。
次なるステップ
自動化・監査・アプリツアーに参加し、Habitatを使用してアプリケーションをAzureへ移行する方法についてもっと学んでください。近い将来あなたの街にもうかがうかもしれません。
もっと早く始めたい場合は、今すぐご覧いただけるこちらをご参照ください:
- ブログ記事を読む: Packaging COTS Applications for Windows
- State of Apps Infographic をダウンロードする
- ホワイトペーパーをダウンロードする: Modernizing Legacy Applications for the Digital Age
- Habitatについて学ぶ: https://www.habitat.sh/learn/
- ChefとAzureについてもっと学ぶ