CEOのためのDevOpsフルガイドライン - 新しい労働文化 

企業は、ERPの導入、人工知能ソリューションの展開、クラウドへの移行など、デジタル変革によってビジネスを改善する方法を探し続けています。しかし、新しい最先端技術を最大限に活用するには、システム管理者が開発者とうまく連携することが一般的です。そして、DevOpsとは開発と運用の両方の頭文字を取ったものです。 

DevOpsが頭文字というのはどういう意味でしょうか。

DevOpsとは、開発と運用のギャップを埋めるために、連携を深めることに重点を置いた「働き方の文化」なのです。

”開発”フェーズでは、開発者、品質保証テスター、品質管理テスターなどが仕事をします。一方、”運用”は、システムエンジニア、システム管理者、運用担当者、リリースエンジニア、DBA、ネットワークエンジニア、セキュリティエンジニアなどが参加します。

この2つのフェーズは、特に中堅・大企業では比較的分離している場合があります。ソフトウェアは大規模に作られ、多くの機能が搭載されているため、新規リリースや新機能の追加によりパッケージが大きくなり、デプロイが遅れてしまいます。そこで、ソフトウェア開発サイクルを最適化し、IT製品をより早く、より定期的にリリースできるようにするために、DevOpsが設立されました。DevOpsは、ソフトウェア開発と運用のデプロイメントを数ヶ月から数日に短縮することができるため、最もホットなITトレンドの1つになってきています。


DevOps Full Guideline For CEOs - A New Working Culture

どのように機能するのか?

DevOpsは、アジャイルプログラミング技術を使用して、プロジェクトと運用の間のギャップを埋めるために行われます。アジャイルとは、反復開発の考え方を中心に据えたソフトウェア開発手法のことです。もっと簡単に言うと、アジャイルは柔軟なソフトウェア開発方法論であり、ソフトウェアプロジェクト管理に対する特定のアプローチです。アジャイルには、製品をできるだけ早くユーザーの手に届けるために役立つ、統合的でインタラクティブなワークフローが含まれています。

2001年にソフトウェア業界をリードする14人のグループによって開発されたコンセプト、アジャイルマニフェストが発表され、ソフトウェア開発に関してどのようなアプローチが有効で、どのようなアプローチが有効でないかが示されました。このグループの経験は、主に4つのポイントに凝縮されます。

  • プロセスやツールよりも個人とインタラクション
  • 包括的なドキュメントよりも、実際に動くソフトウェア
  • 契約交渉よりも顧客との協働
  • 計画に従うより変化に対応する

アジャイル技術は、ウォーターフォールのような伝統的で時間のかかるプログラミング手法を完全に置き換えます。

アジャイルプログラミングチームには、ユーザー、経営者、システム管理者が含まれます。プロジェクトに関わるすべての人を小さなグループにまとめ、毎日ミーティングを行うために、スクラムやエクストリーム・プログラミング(XP)という仕組みが一般的です。これらのアプローチは、ChefPuppetAnsibleSaltStackなどのDevOpsプログラムを使ってスピードアップされます。

DevOpsがもたらすメリットとは?

この記事の最も重要な部分に移ります:DevOpsはどのような利益をもたらすのでしょうか?

まず、無視できないメリットは「スピード」です。世界中の25,000人以上の技術専門家を対象とした2016年のPuppetの調査では、強力なDevopsワークフローを持つIT部門は、同業他社を完全に凌駕していることが明らかになりました。高パフォーマンスの組織は、低パフォーマンスの同業者を決定的に凌駕しています。デプロイの頻度は200倍、リードタイムは2,555倍、リカバリーは24倍速く、変更の失敗率は3倍低くなっています。その結果、他の機能の開発に集中することができるのです。

第二に、セキュリティです。私たちは皆、デジタルの世界に向かって進んでおり、セキュリティが第一の優先事項となっています。DevOpsでは、ソフトウェア開発プロセスのすべてが強化され、セキュリティアップデートやパッチの作成とデプロイが高速化され、リスク(侵入、データ漏洩、ランサムウェアなど、一般的なセキュリティ脅威)の低減につながるのです。

最後に、「結束力」です。先に述べたように、DevOpsは1つの会社のすべてのプロフェッショナルを1つにまとめる新しい労働文化です。DevOpsは、社員が会社のスピードや機能に影響を与えることができると感じる雰囲気を作り出すことで、1つの会社を完全に変えることができます。

DevOpsエンジニアに必要なものは? 

DevOpsエンジニアの仕事は、デプロイ、最適化、監視、分析など、シスアドの仕事とかなり密接に関係しています。しかし、DevOpsエンジニアとシスアドを区別するものは、以下の通りです。

  • DevOpsエンジニアには、卓越したソフトスキルセットと、システムを自動化するためのコーディングやスクリプトの能力が必要です。
  • またDevOpsエンジニアは、自社のスタックについて知っている必要があり、バグのレビュー、共通のユニットテストの作成、CI/CDの進捗デプロイの円滑化などを支援することができます。

DevOpsエンジニアには、革新的な正しい考え方、新しいスキル(コーディング、スクリプトのスキル、あるいは製品開発チームが使用しているテクノロジー/スタックに基づく新しいプログラミング言語など)、新しいツールを見つけ、選択し、使用する意欲が必要です。DevOpsエンジニアは新しいシスアドである、これは間違った認識ではありません。

DevOpsエンジニアが堪能であるべき最も一般的なプログラミング言語は、PythonとShell Scriptです。

主なポイント

短くシンプルに言うと DevOpsは、あらゆるIT部門の作業を容易にします。新しい作業文化だけでなく、社内の作業効率も向上させます。

ベトナムのトップクラスのソフトウェア開発企業として、TP&TechnologyはDevOpsコンサルティングサービスやクラウドマネージドサービスを提供し、ソフトウェア開発とデプロイのプロセスの環境整備、組織化、変革を支援します。