クラウドネイティブ開発を導入する

デジタルなクラウドネイティブの世界に適応する

クラウドネイティブ・アプリケーション開発は、デジタルの世界での競争力を高めます。テクノロジー、プロセス、組織を適応させることで、迅速にイノベーションを起こし、価値の高いサービスを顧客に提供することができます。また、この開発スタイルでは、新規および既存のアプリケーションのソフトウェア生産とデリバリー・ライフサイクルを改善し、クラウド技術をビジネスニーズや開発プロセスと連動させます。 

オープンなプラットフォーム、ツール、作業方法は、アプリケーションやクラウドプラットフォームの価値、スピード、アジリティをさらに引き出します。オープンソース・コミュニティは、テクノロジーを急速に進歩させ、相互運用性を促進するため、時とともに進化する最新のツールやプラットフォームの導入も問題なく行えるようになります。オープンな働き方は、インクルーシブな文化、コラボレーション、透明性を促進し、スタッフメンバーの誰もが新しいアイデアを提案して貢献できるような環境をつくります。

このオープン・トランスフォーメーションが、イノベーションと顧客エンゲージメントをさらに加速させます。オープンなプロセスや組織文化と、クラウドネイティブ・アプリケーション開発のアプローチを組み合わせることで、組織における持続的な改善を実現できます。そして、顧客により多くの価値を提供し、組織としても多くのメリットを得ることができるのです。IT 関連の効果には、以下が含まれます。

  • アプリケーションの更新速度の向上
  • アプリケーションのデプロイの高速化
  • 迅速な障害復旧
  • 精度の向上

ビジネス上の効果としては、以下を挙げることができます。

  • 新機能や新サービスの市場投入時間の短縮
  • 製品やサービスの品質の向上
  • 運用コストと資本コストの低減
  • 関連性と競争力の向上

Red Hat® コンサルティングは、お客様の組織、プロセス、テクノロジーを変革し、連携させる独自のアプローチを用いて、クラウドネイティブ・アプリケーション開発をより迅速に、より成功裏に導入できるよう支援します。この成果を重視するアプローチは、開発プロセスそのものに着目し、継続的な改善に重点を置いています。これまでにも多くの本番環境において、クラウドネイティブのプラットフォームやアプリケーションの提供を成功に導いてきました。

人材、プロセス、テクノロジーを統合し、モダナイズを実現

アプリケーション開発のモダナイズには、組織の 3 つの領域、すなわち、人材、プロセス、テクノロジーが関係します。以下のセクションでは、各分野をクラウドネイティブ・アプリケーション開発に適応させるためのガイダンスを紹介します。

人材

オープンで革新的な文化は、クラウドネイティブなテクノロジーとプロセスを基盤として、真のビジネス価値と変化を生み出します。

  • オープンな働き方を促進する
    閉鎖的な環境で限られた情報のみに触れて仕事をすると、効果的な行動がとれず、プロジェクトや事業の進捗を阻害することになりかねません。組織内の情報と意思決定プロセスの可視性を高めるために、オープンな働き方を推進しましょう。スタッフに自らの知識や専門性を他の人と共有するよう奨励し、メンタリング (Mentoring) やチーム横断的なコラボレーションにオープンになるよう促しましょう。
  • 成功に向けてチームを構成する
    チームの連携は、プロジェクトやビジネスの成功の大きな決め手となります。新しい技術やオープンな設計手法をより簡単に導入できる、職務横断的な小規模なチームを編成し、価値ある新サービスや機能をより早く展開できるようにしましょう。ソフトウェアのデリバリーライフサイクル全体で、チームがオーナーシップと可視性を得られるようにします。
  • 実験や新しい考え方を奨励する
    イノベーションには調査と変化が必要です。スタッフが直面している課題に対して、新たなアイデアを試し、適用するよう促しましょう。失敗は学習の機会ととらえ、次に活かします。
  • スキルアップの機会を提供する
    学習とリーダーシップが重視される文化をつくることで、問題を迅速に解決し、効率的にイノベーションを起こせるようチームを備えることができます。オープンプラクティスの採用、新しいテクノロジーの利用、イノベーションとコラボレーションの促進に必要なリソース、トレーニング、メンタリングの機会を、スタッフが確実に得られるようにしましょう。

プロセス

プロセスは、ビジネス目標を達成するために、テクノロジーと人がどのように連携するかを定義します。クラウドネイティブ・アプローチでは、アジリティ、スピード、継続的な改善の実現に向けて、プロセスを適応させる必要があります。

  • アジャイルな DevOps 開発スタイルにシフトする
    DevOps の原則は、アプリケーションとサービスの品質とデリバリー速度を向上させるのに役立ちます。開発チームと運用チームが目的を共有し、定期的なフィードバックを行う体制を作ることで、2 つのチームを連携させます。DevOps 手法とコンテナ技術を使用してアプリケーションの更新やデプロイメントを容易に行えるようにし、小規模で迅速なリリースに切り替えます。サービスベースのアーキテクチャと継続的インテグレーション/継続的デプロイメント (CI/CD) ワークフローを使用すれば、レガシー・アプリケーションの最適化が可能です。
  • 結果重視の行動と変化を採用する
    何が有効であり、何を改善すべきかを判断する上で、メトリクスは必要不可欠です。開発プロセス全体にメトリクスを適用し、チームの構成、行動、目標をそのメトリクスに合わせましょう。ビジネスレベルの目標と IT レベルの目標を結びつけ、組織のすべての構成要素が同じ方向に向かっていることを確認します。クラウドネイティブ・アプリケーション開発における主要なメトリクスには、変更までのリードタイム、デプロイ頻度、回復までの平均時間、変更失敗率などがあります。

テクノロジー

クラウドネイティブ・テクノロジーは、組織の目標に沿ったものでなければなりません。主なコンポーネントは以下の通りです。

  • サービスベースのアーキテクチャ
    マイクロサービスのようなサービスベースのモジュール式アーキテクチャは、複雑さを増すことなく、アプリケーション開発の柔軟性とスピードを向上させます。
  • アプリケーション・プログラミング・インタフェース (API)
    API は軽量で標準的なリンクを介してサービスを接続し、導入、拡張、メンテナンスの複雑性とオーバーヘッドを軽減します。API とコントラクトファーストのアプローチを組み合わせることで、コラボレーション、独立性、一貫性を高めることができます。
  • コンテナ
    コンテナと Kubernetes は、基盤技術に関係なく、すべてのプロセスに共通の運用モデルを提供し、多階層環境とマルチクラウド環境の管理オーバーヘッドを削減します。また、コンテナベースのデプロイメントは、インフラストラクチャ全体にアプリケーションの可搬性をもたらし、IT の俊敏性を支えます。 

クラウドネイティブ・アプリケーション開発を採用し、組織、プロセス、技術の変化が広く共有されれば、より大きな変革の取り組みにつなげることができます。クラウドネイティブのイニシアチブを成功させれば、このアプローチの価値が証明され、組織内の他のチームによるこの手法の採用が促進されます。このような組織レベルでの革新と改善により、スピード、収益、コスト削減を向上させることができます。これにより、改善された組織のデリバリー能力に合わせてエグゼクティブレベルの戦略が再調整され、大規模な変革につながるのです。

 

イメージコンテナ 図 1 クラウドネイティブ・アプリケーション開発アーキテクチャ


クラウドネイティブ・アプリケーション開発向けの環境を構築

効果的なクラウドネイティブ・アプリケーション開発には、チームを結集させ、ソフトウェア開発とデリバリー戦略をクラウド環境がもたらす俊敏性に対応させる包括的なプロセスが必要です。このような最新の設計技術や手法の組み合わせが、迅速で信頼性の高いビジネス革新の核となります。

アプリケーションのアーキテクチャと設計

柔軟性の高いクラウドネイティブ・ソフトウェアを構築する際に、アプリケーションのアーキテクチャと設計は重要な考慮事項となります。マイクロサービス・アーキテクチャは、アプリケーションを疎結合のパーツに分解し、モジュール化することで、開発、デプロイ、変更の信頼性、敏捷性、スピードを向上させます。API はサービスを接続し、サービスを新しく改善されたアプリケーションに動的に再構成できるようにします。コンテナのオーケストレーションとサービスメッシュ機能は、マイクロサービス・ベースのアプリケーションの動的で柔軟性に優れた性質をサポートします。ドメインモデリングを実践することで、ビジネスドメインの定義とマイクロサービスやセキュリティの実装を結び付けることができます。

開発およびデリバリーの自動化

自動化されたパイプラインは、アプリケーションとインフラストラクチャを PoC から本番環境へと進め、拡張性に制限のある手作業の必要性を排除します。Ansible などのツールを使った IT の自動化や CI/CD の実践は、迅速なアプリケーション提供の中核となり、ビジネス要求への迅速な対応を可能にします。また、これはアプリケーションのセキュリティや品質の向上にもつながります。効果的な開発およびデリバリーのワークフローが、効率的なコーディング、ユーザー・インターフェースとサービスの統合テスト、セキュリティスキャン、Infrastructure-as-Code (IaC) アプローチを支えます。

デプロイ環境

アプリケーションは、価値を提供することを目的としてデプロイされなければなりません。オープン・ハイブリッドクラウド・プラットフォームは、オンプレミス環境とクラウド環境で一貫したアプリケーション環境を提供するように設計されています。このアーキテクチャは、共通のコンテナ・オーケストレーション・アーキテクチャを用いて、スケーラビリティ、一貫性、可搬性、可用性を提供します。

フィードバックとメトリクス

改善を実現していくには、フィードバックとメトリクスが必要不可欠です。これらは、アーキテクチャと設計に反映される情報およびコードのフローを完成させるものであり、将来の修正と機能強化に影響を与えます。顧客体験、ランタイムの動作、運用体験に関するメトリクスを収集することから始め、組織のニーズに応じて他の指標を追加していきます。 

Red Hat がオープンなクラウドネイティブ手法の導入を支援

イノベーションは、テクノロジーのみによって実現されるものではありません。Red Hat は、チームの連携強化、プロセスの効率化、プラットフォームや組織間の相互運用性の推進に必要な専門知識と技術を提供します。Red Hat コンサルタントは、クラウドネイティブ・アプリケーション開発に不可欠な、Kubernetes やクラウドネイティブ・ランタイムなどのオープンソース・テクノロジーに関する豊富なエンジニアリング経験を有しています。また Red Hatは、自社の組織において、オープンな組織文化開発モデルを推進しています。

Red Hat コンサルティングはこのような専門知識と経験を生かし、お客様がクラウドネイティブ・アプリケーション開発手法を導入して、機敏で対応力の高いマーケットリーダーになるためのお手伝いをします。オープンで、人を中心としたアプローチにより、開発チームと運用チームがより多くのビジネス価値を提供できるようなプラットフォーム、ツール、手法を展開することができます。

Red Hat コンサルティングは、お客様やスタッフの方々と共に、以下のことを行います。

  • 人、プロセス、テクノロジーを統合し、より多くのビジネス価値の創造を支援します。
  • 統合されていないチーム、オペレーション、インフラストラクチャをつなぎ合わせ、効率性、透明性、コラボレーションの向上を支援します。
  • コラボレーションとイノベーションを促進するために、組織内にオープンな組織文化やコミュニティ・オブ・プラクティス (実践コミュニティ) を構築します。

Red Hat のエキスパートは、実績のある規範的なデザイン方式を使用して、お客様の組織のニーズ、目標、課題を明確にします。また、Red Hat および認定パートナーの製品、対象となるトレーニング、豊富な経験に基づいたカスタム・ソリューションの導入を通じて、お客様が短期的な成功を収めるだけでなく、未来のチャンスにも備えられるよう支援します。事前に定義されたツールセット、フレームワーク、ブループリントを使用することで、プロジェクトを素早く開始し、ソリューションを組織全体へ展開できます。

必要な専門知識、ガイダンス、テクノロジーとつながる

Red Hat は、クラウドネイティブ・アプリケーション開発を採用するために必要なリソース、情報、テクノロジーへのアクセスを提供します。

手法とプロセス

Red Hat は、新しいアイデアやソリューションを求めるチームのためにコラボレーティブな手法やツールを集めた、コミュニティ主導型リポジトリである Open Practice Library に貢献し、そのキュレーションを行っています。手法は大きく 4 つの分野に分けられます。

  • 基盤:コラボレーションと技術的な手法を展開するためのチーム文化および環境づくりを行う。
  • ディスカバリー:目標や成果を定義する。
  • 選択:可能性と解決策を見出す。
  • 提供:ソリューションおよびプロセスを実装し、テストする。

文化

Red Hat は、オープンな組織文化こそがイノベーションと変革の核になると考えています。Red Hat コンサルティングは、オープンソース・アプローチを用いて組織構造を調整し、より高い価値を提供する高機能なチームとコミュニティ・オブ・プラクティス (実践コミュニティ) を構築しています。実際、Open Practice Library に含まれるテクニックの多くは、Red Hat のエキスパートが確立および実証し、コミュニティと共有されたものです。

教育

Red Hat コンサルティングは、お客様のチームが新しいテクノロジーやアプローチをより早く、より効果的に導入できるようにするため、メンタリングに基づく各種サービスと役割に応じた実践的なトレーニングを提供します。オープンソース・テクノロジーの利用と管理、ソリューションの範囲内でのアプリケーションの開発や文化の醸成などがトピックに含まれます。このような取り組みを通じて、コアチームから組織全体に拡張可能な再現性のあるプロセスを構築し、より広範なオープン・トランスフォーメーションを実現していくことができます。さらに、Red Hat は、各自のスケジュールに合わせ、自分のペースで進められるオンラインの自習トレーニングコースも幅広く用意しています。

テクノロジー

Red Hat は、クラウドネイティブ・アプリケーションの開発、変革、コラボレーションのための、サポート付きのエンタープライズグレードのオープンソース・プラットフォームとツールを提供します。これらのテクノロジーを活用すればより簡単に情報を共有し、クラウドネイティブ・アプローチを組織や環境全体に広げることができます。クラウドネイティブ・アプリケーション開発のための主要なプラットフォームには、Red Hat OpenShift® と Red Hat Runtimes が含まれます。

さらに詳しく

クラウドネイティブ・アプリケーション開発は、オープン・トランスフォーメーションのカギとなる要素です。テクノロジー、プロセス、人材に焦点を当てることで、ビジネスの俊敏性、変革、成功を支援する革新的でオープンなアプローチを展開することができます。Red Hat コンサルティングは、お客様がより早く目標を達成できるようにするための、アプローチ、トレーニング、サービスを提供します。

Red Hat がお客様の変革の取り組みをどのようにサポートするかについては、redhat.com/ja/services/consulting/cloud-native-development をご覧ください。