とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

これだけは知っておきたい

これだけは知っておきたいDevOpsシリーズ - フィードバックループ

DevOpsはよくインフィニティマークで表現されるように一方通行の開発手法ではありません。リリースしたソフトウェアを運用していく中で判明した課題に迅速に対応し、素早くリリースしていくことにより、ソフトウェアの改善の速度が上がることがDevOpsの大き…

これだけは知っておきたいDevOpsシリーズ - 稼働監視

サービスはロールアウトしたらそれで終わりではなく、正しく稼動しているかを継続して監視する必要があります。 監視する項目はシステムによって様々ですが、主に 使用しているCPU・メモリ・ストレージなどのリソース ネットワーク転送量 ネットワーク接続数…

これだけは知っておきたいDevOpsシリーズ - GitOps

GitOpsは、宣言的インフラストラクチャとソフトウェアの管理を行うための手法です。 GitOpsという用語は2017年にWeaveworksによって提唱されました。 バージョン管理システムであるGitを、宣言的インフラストラクチャとソフトウェアの信頼できる唯一の情報源…

これだけは知っておきたいDevOpsシリーズ - リリースマネージメント

従来のウォーターフォールにおける開発においてはリリースに対して非常に慎重になる傾向にありました。十分なテストを行った上で、リリース判定会議といった会議でプロジェクトの品質指標をレビューして、問題がなければやっとリリースできるといったことも…

これだけは知っておきたいDevOpsシリーズ - デプロイの自動化

デプロイの自動化とは、デプロイプロセスを自動化することで、テスト環境から本番環境まで、一貫した処理を繰り返すことが可能で、信頼性の高いデプロイを提供します。 デプロイプロセスが自動化されると、デプロイに人間が介入する必要がなくなります。これ…

これだけは知っておきたいDevOpsシリーズ - 静的コード解析

静的コード解析とは、ソフトウェアの解析手法の1つで、プログラムを実行することなく解析を行うことができます。逆にソフトウェアを実行して行う解析のことを動的コード解析と呼びます。基本的には、何らかのツールを用いて解析を行うことが多いですが、人間…

これだけは知っておきたいDevOpsシリーズ - テストの自動化

(テストには単体テスト、結合テスト、負荷テスト、セキュリティテストなど様々なテストが存在しますが、ここではコードの動作を確認する単体テストについて解説します) 人間が書くコードには、常にバグが混入する危険がつきまといます。これは人間が行う以上…

これだけは知っておきたいDevOpsシリーズ - ビルドの自動化

コンテナはコンテナイメージと呼ばれる単位で管理されます。コンテナイメージとは、そのコンテナが持つ独立したルートファイルシステムです。開発したアプリケーションのコードは、コンテナイメージ内に動作可能な状態でインストールされて、はじめてデリバ…

これだけは知っておきたいDevOpsシリーズ - アプリケーションコードとテストコード

JavaやPython、JavaScriptなどのプログラミング言語を使用してWebサイトやAPIサーバーなどを動かすために記述されたソースコードのことをアプリケーションコードと呼びます。 アプリケーションを動かすにはアプリケーションコードを必ず記述します。そして、…

これだけは知っておきたいDevOpsシリーズ - Git

ソフトウェアの開発プロジェクトにおいては、ソースコードに対して複数のチームメンバーが、随時追加や変更を加えていきます。 これらの変更は、常にシーケンシャルに行われるわけではありません。新機能の追加、既存機能の改修、不具合の修正などが複雑にか…

これだけは知っておきたいDevOpsシリーズ - Visual Studio Code

Visual Studio Code(VS Code, Code)とは、Microsoftにより開発され提供されているオープンソースのエディタです。開発のコンセプトとして「エディターの再定義」をスローガンに掲げて、統合開発環境(IDE)とエディタの中間的な位置付けを目指して開発されため…

これだけは知っておきたいDevOpsシリーズ - チャット

DevOpsにおいてチャットはメンバー同士のコミュニケーションのために欠かせないツールです。チャットはリアルタイム性のあるコミュニケーションを実現しつつ、文字として残すことができるというメリットがあります。チャットを使うことで、リアルに同じ場所…

これだけは知っておきたいDevOpsシリーズ - チケット駆動のタスク管理

ソフトウェア開発プロジェクトでは複数のメンバーがチームで開発するのが一般的です。複数のメンバーか効率よく仕事を行うためには誰が何を行うのかというタスクを管理する必要があります。現在ではチケット管理システムなどを使ったプロジェクトのタスク管…

これだけは知っておきたいDevOpsシリーズ - Kubernetes

コンテナはアプリケーションのポータビリティを飛躍的に高め、柔軟なデプロイ、スケール、ロールバックを実現します。しかし本番環境でコンテナを正しく運用しようとすると、様々な困難に直面します。例えばアプリケーションの可用性を確保するには、コンテ…

これだけは知っておきたいDevOpsシリーズ - コンテナ

コンテナは仮想化技術の一種で、主にアプリケーションの実行環境の仮想化に用いられています。たとえば、Webアプリケーションサーバーを複数動作させる目的などに向いている仮想化技術です。原理としては、OSカーネル上で動作しているプロセスを隔離し、個別…

これだけは知っておきたいDevOpsシリーズ - シフトレフト

ソフトウェアの開発は、設計、実装、テストといった、様々な工程の積み重ねです。その中で、ある工程を通常よりも前倒しにして実行することを、シフトレフトと呼びます。 どの工程をいつ行うかといった工程管理、進捗管理は、ガントチャートなどを使って視覚…

これだけは知っておきたいDevOpsシリーズ - IaC

IaCとは「Infrastructure as Code」の略で、文字通りインフラの構成をコードによって管理し、専用の構成管理ツールによって自動的に構築を行う手法の呼び名です。 従来、サーバーの構築はインフラエンジニアによる手作業によって行われていました。しかし人…

これだけは知っておきたいDevOpsシリーズ - 自動化

自動化とは、ある作業において人間の手作業を排し、機械によって自動的に行うことを可能にすることの総称です。DevOpsの文脈においては、テスト(CI)、デプロイ(CD)、インフラ構築(IaC)などが自動化の対象として挙げられます。 手作業を自動化することには、…

これだけは知っておきたいDevOpsシリーズ - DevOpsによって得られるメリット

DevOpsは開発と運用が協力し、継続的かつ効率的に価値を顧客に届けるための開発手法で、ソフトウェアを迅速かつ高い頻度でリリースすることで、高速にフィードバックループを回す仕組みを実現します。DevOpsによって得られるメリットはこの仕組みの結果とし…

これだけは知っておきたいDevOpsシリーズ - アジャイルとDevOpsの関係

アジャイルとDevOpsは密接な関係にあり、時として混同される概念です。しかし、相互補完をする関係にあるものの、アジャイルとDevOpsは異なる概念となります。 アジャイルは変化にソフトウェアに対するニーズの変化に対応するためのソフトウェア開発の手法で…

これだけは知っておきたいDevOpsシリーズ - DevOpsの定義

DevOpsには厳密な定義が存在しません。そのためそれを使う人や組織によって解釈が微妙に異なっています。ただし、いずれの解釈においても共通しているのは、開発チームと運用チームが協力し、ソフトウェアを迅速かつ高い頻度でリリースするという点です。 開…