今回のとことんDevOps勉強会は「Playwrightで始めるUI自動テスト入門」と題して、日本仮想化技術の石本が登壇しました。 これからUI自動テストを学んでみたい方向けに、Playwrightを使った基本的な進め方を中心にお話ししました。 理想的なテスト構成と実際…
今月も Visual Studio Code の新バージョンがリリースされました。さっそくリリースノートをチェックしていきましょう。 目次 目次 新バージョンのリリース情報 個人的に気になる主なリリース 今回のアップデートで感じた変化と注目ポイント 新バージョンの…
10月に入り肌でも味覚でも秋を感じられるようになりました。 厳しい暑さは落ち着いたものの、寒暖差が大きい日々が続きますね。 さて、月が変わりましたので先月の気になったニュースをまとめた月刊DevOpsニュースをお送ります。 データベース クラウド プロ…
私たちはこれまでも、技術ブログを通じて社外へ向けた発信を続けてきました。 加えて、より広く多くの方に知見を届ける取り組みとして、オープンソース技術の実践活用をテーマとするメディアにおいてWeb連載記事を執筆しています。 これまでに大きく3つのテ…
今月も Visual Studio Code の新バージョンがリリースされました。さっそくリリースノートをチェックしていきましょう。 目次 目次 新バージョンのリリース情報 個人的に気になる主なリリース AGENTS.mdとは?VS Codeがサポートした新しいAI設定ファイル 新…
9月になり、朝晩で涼しさを感じられるようになってきましたが、厳しい暑さが続きますね。 さて、今月も月が変わりましたので、恒例の月刊DevOpsニュースをお届けします。 データベース クラウド プログラミング 生成AI OS その他 データベース オラクル、Exa…
DevOpsはよくインフィニティマークで表現されるように一方通行の開発手法ではありません。リリースしたソフトウェアを運用していく中で判明した課題に迅速に対応し、素早くリリースしていくことにより、ソフトウェアの改善の速度が上がることがDevOpsの大き…
サービスはロールアウトしたらそれで終わりではなく、正しく稼動しているかを継続して監視する必要があります。 監視する項目はシステムによって様々ですが、主に 使用しているCPU・メモリ・ストレージなどのリソース ネットワーク転送量 ネットワーク接続数…
GitOpsは、宣言的インフラストラクチャとソフトウェアの管理を行うための手法です。 GitOpsという用語は2017年にWeaveworksによって提唱されました。 バージョン管理システムであるGitを、宣言的インフラストラクチャとソフトウェアの信頼できる唯一の情報源…
従来のウォーターフォールにおける開発においてはリリースに対して非常に慎重になる傾向にありました。十分なテストを行った上で、リリース判定会議といった会議でプロジェクトの品質指標をレビューして、問題がなければやっとリリースできるといったことも…
プロジェクト終了後にプロジェクトの学びを次のプロジェクトに活かせません。文章などに残すことも難しく、残したとしても読んでもらえそうにないので、学びが属人化してしまっています。 どのようにプロジェクトの学びを次回以降のプロジェクトに活かしたら…
デプロイの自動化とは、デプロイプロセスを自動化することで、テスト環境から本番環境まで、一貫した処理を繰り返すことが可能で、信頼性の高いデプロイを提供します。 デプロイプロセスが自動化されると、デプロイに人間が介入する必要がなくなります。これ…
静的コード解析とは、ソフトウェアの解析手法の1つで、プログラムを実行することなく解析を行うことができます。逆にソフトウェアを実行して行う解析のことを動的コード解析と呼びます。基本的には、何らかのツールを用いて解析を行うことが多いですが、人間…
(テストには単体テスト、結合テスト、負荷テスト、セキュリティテストなど様々なテストが存在しますが、ここではコードの動作を確認する単体テストについて解説します) 人間が書くコードには、常にバグが混入する危険がつきまといます。これは人間が行う以上…
コンテナはコンテナイメージと呼ばれる単位で管理されます。コンテナイメージとは、そのコンテナが持つ独立したルートファイルシステムです。開発したアプリケーションのコードは、コンテナイメージ内に動作可能な状態でインストールされて、はじめてデリバ…
JavaやPython、JavaScriptなどのプログラミング言語を使用してWebサイトやAPIサーバーなどを動かすために記述されたソースコードのことをアプリケーションコードと呼びます。 アプリケーションを動かすにはアプリケーションコードを必ず記述します。そして、…
ソフトウェアの開発プロジェクトにおいては、ソースコードに対して複数のチームメンバーが、随時追加や変更を加えていきます。 これらの変更は、常にシーケンシャルに行われるわけではありません。新機能の追加、既存機能の改修、不具合の修正などが複雑にか…
Visual Studio Code(VS Code, Code)とは、Microsoftにより開発され提供されているオープンソースのエディタです。開発のコンセプトとして「エディターの再定義」をスローガンに掲げて、統合開発環境(IDE)とエディタの中間的な位置付けを目指して開発されため…
DevOpsにおいてチャットはメンバー同士のコミュニケーションのために欠かせないツールです。チャットはリアルタイム性のあるコミュニケーションを実現しつつ、文字として残すことができるというメリットがあります。チャットを使うことで、リアルに同じ場所…
ソフトウェア開発プロジェクトでは複数のメンバーがチームで開発するのが一般的です。複数のメンバーか効率よく仕事を行うためには誰が何を行うのかというタスクを管理する必要があります。現在ではチケット管理システムなどを使ったプロジェクトのタスク管…
コンテナはアプリケーションのポータビリティを飛躍的に高め、柔軟なデプロイ、スケール、ロールバックを実現します。しかし本番環境でコンテナを正しく運用しようとすると、様々な困難に直面します。例えばアプリケーションの可用性を確保するには、コンテ…
プロジェクトのコアとなる優秀なエンジニアにプロジェクトに参加してもらいたいのですが、そのような人材が全然集まりません。 メンバー自体はやる気はあって頑張ってくれるのですが、技術的にプロジェクトをリードできるほどの人材がいません。 どうしたら…
コンテナは仮想化技術の一種で、主にアプリケーションの実行環境の仮想化に用いられています。たとえば、Webアプリケーションサーバーを複数動作させる目的などに向いている仮想化技術です。原理としては、OSカーネル上で動作しているプロセスを隔離し、個別…
ソフトウェアの開発は、設計、実装、テストといった、様々な工程の積み重ねです。その中で、ある工程を通常よりも前倒しにして実行することを、シフトレフトと呼びます。 どの工程をいつ行うかといった工程管理、進捗管理は、ガントチャートなどを使って視覚…
IaCとは「Infrastructure as Code」の略で、文字通りインフラの構成をコードによって管理し、専用の構成管理ツールによって自動的に構築を行う手法の呼び名です。 従来、サーバーの構築はインフラエンジニアによる手作業によって行われていました。しかし人…
自動化とは、ある作業において人間の手作業を排し、機械によって自動的に行うことを可能にすることの総称です。DevOpsの文脈においては、テスト(CI)、デプロイ(CD)、インフラ構築(IaC)などが自動化の対象として挙げられます。 手作業を自動化することには、…
DevOpsは開発と運用が協力し、継続的かつ効率的に価値を顧客に届けるための開発手法で、ソフトウェアを迅速かつ高い頻度でリリースすることで、高速にフィードバックループを回す仕組みを実現します。DevOpsによって得られるメリットはこの仕組みの結果とし…
チームメンバーは新しい技術や手法を試したいと思っているようですが、上からは過去の前例を踏襲した安定したプロジェクトの運営をするように指示されています。 どちらを重視して、思い通りにならなかった方をどのように説得したら良いでしょうか?
アジャイルとDevOpsは密接な関係にあり、時として混同される概念です。しかし、相互補完をする関係にあるものの、アジャイルとDevOpsは異なる概念となります。 アジャイルは変化にソフトウェアに対するニーズの変化に対応するためのソフトウェア開発の手法で…
DevOpsには厳密な定義が存在しません。そのためそれを使う人や組織によって解釈が微妙に異なっています。ただし、いずれの解釈においても共通しているのは、開発チームと運用チームが協力し、ソフトウェアを迅速かつ高い頻度でリリースするという点です。 開…
