DevOpsは、サイロを解体し、ソフトウェア開発チームとオペレーションチームの作業を組み合わせて自動化することで、ソフトウェア開発ライフサイクルを短縮し、より高品質のソフトウェアの提供を迅速化することを目的とした一連のプラクティスです。
サイト信頼性エンジニアリング(SRE)は、ソフトウェアエンジニアリングを使用して、通常はシステム管理者が実行するIT運用タスクを自動化します。これらのタスクには、生産システム管理、チェンジ・マネジメント、インシデント対応などが含まれます。
DevOpsとSREには類似点もありますが、どのような違いがあるかご存じですか。Bradley Knapp氏のこちらの解説動画をご覧ください。
DevOpsは「コア開発」に関するものです。SREは「コアの実装」に関するものです。これはどういう意味でしょうか?このように考察してみましょう
DevOps チームはコア開発に重点を置き、誰かの問題を解決する製品やアプリケーションに取り組んでいます。このチームは、スピード、品質、制御性を保ちながらアプリケーションを構築、テスト、デプロイ、監視できるアジャイルなアプローチをソフトウェア開発に採用しています。
SREはそのコアの実装に取り組んでいます。常にコア開発チームにフィードバックを提供し、「設計通りに動作していない部分があります」といったことを知らせるのです。SREは、運用データとソフトウェア・エンジニアリングを活用して、IT運用タスクを自動化し、ソフトウェア配信を加速し、ITリスクを最小限に抑えます。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
DevOpsとSREでは求められるスキルセットが異なります。コア開発担当のDevOpsは、ソフトウェアを書くことが大好きな人たちです。コードを書き、テストし、本番環境にデプロイして、問題解決につながるアプリケーションを提供します。
SREはより調査的で、何が問題だったのかを調査し、同じ問題が繰り返されないようにします。反応的ではなく、能動的に取り組みます。反復作業を自動化して革新に集中できるようにします。
場合によっては、役割に関係なくすべてを手作業で行う時間は十分にありません。そのため、作業を自動化して時間とエネルギーを革新に集中させる方法を見つける必要があります。すべてを自動化する必要はありませんが、同じ作業を何度も繰り返す場合は、自動化で負担を減らすのが賢明です。オートメーションは重要な鍵となります。
DevOpsはデプロイメントを自動化しようとしています。彼らはタスクや主要な機能を自動化しようとしています。SREは冗長性を自動化し、手動タスクを自動化してプログラムによるタスクに変えて、スタックを稼働させ続けることを目指しています。
オンプレミス、クラウド、またはメインフレームのあらゆるアプリケーションのソフトウェア配信を自動化します。
DevOpsソフトウェアとツールを使用して、複数のデバイスや環境でクラウドネイティブ・アプリケーションを構築、デプロイ、管理します。
IBMのクラウド・コンサルティング・サービスで新しい機能にアクセスし、ビジネスの俊敏性を高めましょう。ハイブリッドクラウド戦略や専門家とのパートナーシップを通じて、ソリューションを共創し、デジタル・トランスフォーメーションを加速させ、パフォーマンスを最適化する方法をご覧ください。