メニュー

このページでは機械翻訳を使用しました。一部のコンテンツは完璧ではない場合があります。どうすれば改善できるか教えてください。

フィードバックを共有

リファクタリング

目次

このページを共有

リファクタリングとは?

リファクタリングとは、アプリケーションをクラウドに移行しつつ、新しい環境に合わせて再設計するクラウド移行戦略のことです。このプロセスでは、アプリケーションの既存のコード ベースを変更して、クラウド ネイティブの機能、柔軟性、弾力性を最大限に活用する必要があります。

このアプローチは、重要なコード変更を伴うため、他の移行方法よりも複雑であり、問題を回避するために慎重にテストする必要があります。リファクタリングとは、多くの場合、大規模なモノリシック アプリケーションを、マイクロサービスと呼ばれる小規模で独立したコンポーネントに分割することを意味します。この構造により、可用性が向上し、自動化が進み、クラウドでのリソース利用率が向上します。

リファクタリングには多額の時間とリソースの初期投資が必要ですが、長期的な投資効果が最も高く、最も将来を見据えた移行戦略であると広く見られています。

リファクタリングの利点

リファクタリング戦略の採用は、クラウドに移行したアプリケーションにいくつかの大きなメリットをもたらします。

  • 長期的なコスト削減: リファクタリングにより、アプリケーションのリソース ニーズに合わせてクラウド インフラを調整できます。必要に応じてリソースをスケールアップまたはスケールダウンできるため、消費量が削減され、リファクタリングの取り組みに対して長期的な利益が得られます。
  • 適応性: クラウドネイティブ アーキテクチャとマイクロサービス アーキテクチャにより、アプリケーションの迅速な進化を実現します。変化する顧客の要件に合わせて、サーバーレス コンピューティング、自動スケーリング、分散負荷分散などのツールを使用して、新しい機能を追加したり、機能を変更したりできます。
  • レジリエンスの向上: アプリケーション コンポーネントを分離し、高可用性のために設計されたマネージド ソリューションと統合することで、アプリケーションはクラウド プラットフォームの耐久性と信頼性を継承します。

リファクタリングのデメリット

長期的なメリットがあるにもかかわらず、リファクタリングには組織が考慮しなければならないいくつかの課題があります。

  • ベンダー ロックイン: アプリケーションがプロバイダのクラウドネイティブ機能を使用すればするほど、その特定のパブリック クラウドとの結びつきが強くなります。これにより、後で別のプロバイダに切り替えるのが困難になり、コストがかかる可能性があります。
  • 時間のコミットメント: リファクタリングは、リソースを大量に消費するプロセスであり、単純な「リフト&シフト」方式の移行よりもはるかに複雑です。その結果、プロジェクトがビジネス価値を実現できるまでにはるかに長い時間がかかります。
  • スキル要件: この戦略は初心者向けではありません。リファクタリング プロジェクトを成功させるには、コーディング、自動化、DevOps プラクティスの高度なスキルを備えたチームが必要です。
  • エラーのリスク: リファクタリングではアプリケーションのさまざまな側面を変更する必要があるため、コード、構成、インフラのレベルでエラーが発生するリスクが高くなります。一歩間違えると、プロジェクトの遅延、コストの増加、サービスの停止につながる可能性があります。

適切なクラウド ストレージを選択することの重要性

リファクタリングに期待されるパフォーマンス、拡張性、対費用効果を実現するには、それぞれのアプリケーション コンポーネントに適したクラウド ストレージを選択することが不可欠です。ストレージ オプションを評価する際には、次の要素を考慮してください:

  • ストレージの種類: アプリケーションのニーズに最適なストレージを決定します。ファイル ストレージ、ブロック ストレージ、オブジェクト ストレージのどれが必要かは、パフォーマンス、容量、またはその両方のバランスの要件によって異なります。
  • 拡張性: ストレージ ソリューションでは、パフォーマンスに影響を与えることなくデータの増加やトラフィックのピークに対応できるように、シームレスに拡張できる必要があります。
  • データ階層化:すべてのデータが同じレベルのアクセスを必要とするわけではありません。使用頻度の高いデータをハイパフォーマンス階層に自動的に移動し、使用頻度の低いデータを低コストの階層に移動して、コスト削減を最適化するストレージを探しましょう。
  • データ モビリティ:データは、必要な場所へ安全かつ効率的に移動できなければなりません。高速かつセキュアなデータ コピーが可能なストレージ ソリューションを導入すると、クラウド間の移動や、オンプレミスからクラウドへのデータ移行がシンプルになり、複雑さとリスクが軽減されます。
  • データ保護: クラウド データとアプリケーションの保護の第一歩はストレージです。スナップショットとレプリケーションの機能を備えたソリューションを探してください。増分スナップショットは、大量のストレージ スペースを消費することなく、より迅速で完全なバックアップを提供します。
  • データ セキュリティ:クラウド ストレージは、保存中と転送中のデータの暗号化、アクセス制御、ランサムウェアの自動保護など、堅牢なセキュリティ機能を提供する必要があります。消去できないバックアップを使用して、ほぼ瞬時にリカバリできるようにすることで、データ損失とダウンタイムに対する防御を強化できます。

クラウド移行戦略の評価

効果的なクラウド移行戦略があれば、スムーズに移行するための明確なロードマップが用意されます。クラウド プラットフォームの運用効率を最適化するとともに、アプリケーションやデータセットごとに固有の要件を満たすことができます。

クラウド移行戦略が重要な理由

移行戦略が明確に定義されていないと、組織はさまざまなリスクに直面します:

  • コストの上昇: 明確な戦略には、支出と節約を追跡するのに役立つ主要パフォーマンス指標(KPI)が含まれます。これがなければ、新しいクラウド サービスの導入やアプリケーションの利用拡大に応じたコスト管理が困難になります。
  • ベンダー ロックイン: クラウドへの移行は時間とコストがかかります。プランなしでクラウド サービスを使い始めると、最初の選択がニーズに合わなくなった場合、プロバイダーを切り替えるのが難しい場合があります。
  • セキュリティとコンプライアンスのギャップ: クラウド プロバイダがインフラを保護している間、データとアプリケーションのセキュリティ保護はユーザが責任を負います。異なる環境間で大量のデータを移動し、アクセス制御を設定しようとすると、重大なセキュリティ侵害が生じる可能性があります。

7つのクラウド移行戦略(7つのR)

アプリケーションやデータをクラウドに移行するためのフレームワークを提供する、7つの一般的なクラウド移行戦略があります。アプリケーションが異なれば、必要な戦略も異なる場合があります。

戦略 説明
リファクタリング/リアーキテクト クラウドネイティブの機能を活用して即応性、パフォーマンス、拡張性を向上させるようにアーキテクチャを変更することで、アプリケーションを変革します。
リプラットフォーム アプリケーションをクラウドに移行し、新しい環境のメリットを享受するために、クラウド向けの最適化策をいくつか取り入れます。
再発注 多くの場合、ベンダーの Software as a Service(SaaS)モデルを採用して、別の製品に移行する。
リホスト(Lift and Shift) 最小限の変更で、またはまったく変更せずに、新しいクラウド機能を活用することなく、アプリケーションをクラウドに移行します。
移転 アプリケーションを書き換えたり運用方法を変更したりすることなく、インフラをクラウドに移行できます。その多くは VMware Cloud のようなテクノロジを使用します。
保持 通常は大幅なリファクタリングが必要で、それを先延ばしにできるか、移行するビジネス ケースがないという理由で、アプリケーションをソース環境に残します。
リタイヤ ソース環境で不要になったアプリケーションを運用停止にする。

クラウド移行の5つのフェーズ

ITインフラストラクチャ、アプリケーション、データをクラウドに移行する作業は、通常5つのフェーズで構成されます。移行を成功させるには、これらの段階を理解することが重要です。

  1. 準備: 現在のIT環境を評価して、移行の実現可能性、コスト、メリットを判断します。これには、リスクの特定、依存関係の分析、移行戦略の選択が含まれます。
  2. 計画: 詳細な移行ロードマップを作成する。目標を定義し、クラウド サービス プロバイダを選択して、必要なリソースとツールを特定します。
  3. 移行: インフラ、アプリケーション、データをクラウドに転送します。これには、クラウド リソースの導入、データの移動、アプリケーションのテストが含まれます。
  4. 運用: 新しいクラウド環境の管理と保守を行います。これには、パフォーマンスの監視、リソースの更新、セキュリティ上の懸念への対応が含まれます。
  5. 最適化: パフォーマンスを継続的に監視し、リソースを微調整し、コスト削減策を実施して、クラウド環境のメリットを最大限に引き出します。
Drift chat loading