【ITニュース解説】From Jira Ticket to Live Server: My Week 3 DevOps Sprint

2025年09月09日に「Dev.to」が公開したITニュース「From Jira Ticket to Live Server: My Week 3 DevOps Sprint」について初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

ITニュース概要

DevOpsインターンシップで、タスク管理ツールJiraでの計画からAWS EC2サーバーへのデプロイまで、5日間でフッター機能を追加。開発から運用までの全工程を一人で担当し、エンドツーエンドで責任を持つDevOpsの本質を実践的に学んだ。

ITニュース解説

システム開発の現場では、一つの機能や改善点がユーザーの目に触れるまでに、数多くの工程が存在する。企画や設計に始まり、プログラミング、テスト、そしてサーバーへの反映という一連の流れを、迅速かつ確実に行うことが求められる。ここで紹介するのは、あるインターン生が5日間という短期間で、まさにその一連のプロセスを一人で実践した記録である。この挑戦は、現代のソフトウェア開発で重要視される「DevOps」という考え方を体現したものだ。DevOpsとは、開発チーム(Development)と運用チーム(Operations)が密に連携し、ビジネス価値をより速く、より安定してユーザーに届けるための文化や手法を指す。この記録は、システムエンジニアを目指す上で、単にコードを書くだけでなく、開発プロセス全体を理解することがいかに重要であるかを示している。

今回の目標は、Jiraというプロジェクト管理ツールで作成された一つのタスク、具体的には「アプリケーションのフッター部分にバージョン情報、日付、作者名を表示する」という機能を、実際に稼働しているサーバーに実装することだった。この目標達成のために、スクラムという開発手法におけるスプリントと呼ばれる短い開発期間が設定された。

初日に行ったのは、まずタスクの細分化である。Jira上で、大きな目標をより具体的なストーリーやサブタスクに分解し、何から手をつけるべきかを明確にした。計画が定まると、次は実際の開発作業に入る。フッターを表示するためのHTMLコードを作成し、Gitというバージョン管理システムに最初の変更履歴として記録した。同時に、アプリケーションを動かすための基盤、つまりインフラの準備も進められた。AWSというクラウドサービスを利用してEC2インスタンス、すなわち仮想的なサーバーを用意し、その上でWebサーバーソフトウェアであるNginxをインストールし、設定を行った。これにより、作成したコードを公開する環境が整った。

二日目は、前日に作成したコードの品質向上と、サーバーへの反映作業が中心となった。開発初期には、画像のパスが間違っていて表示されない、あるいはCSSの記述が不完全でデザインが崩れるといった問題が頻発する。これらの細かな不具合を修正し、意図通りに表示されるようにコードを磨き上げた。そして、修正したファイルをSCPというコマンドを用いて、手元の開発環境からサーバーへと転送した。これはデプロイと呼ばれる作業の初歩的な形である。この過程で、Nginxの設定を変更した際には、いきなりサービスを再起動するのではなく、まず設定ファイルに文法的な誤りがないかを確認するコマンドを実行することの重要性を学んだ。この一手間が、設定ミスによるサービス停止という大きな問題を防ぐことにつながる。

三日目と四日目は、機能の信頼性と品質をさらに高めるための作業に費やされた。作成したフッターが、パソコンの大きな画面だけでなく、スマートフォンのような小さな画面でも正しく表示されるように調整するレスポンシブ対応を行った。これは、多様な利用環境を想定した品質保証の一環である。さらに、サービスが正常に稼働しているかを外部から簡単に確認できる仕組みとして「ヘルスチェック」用のURL(エンドポイント)を追加した。これにより、万が一サービスに問題が発生した場合でも、迅速に検知できるようになった。この二日間を通して、毎日少しずつ開発を進め、その都度テストを行うことで、問題の早期発見が容易になり、万が一大きな不具合が見つかった場合でも、修正箇所が限定されるため手戻りのリスクを大幅に削減できるという、インクリメンタルな開発アプローチの有効性を実感した。

最終日の五日目は、スプリント全体の振り返りである。目標としていたフッター機能は無事に本番サーバー上で公開され、スプリントの目標は達成された。作業の進捗を可視化したバーンダウンチャートを記録し、完成した機能を関係者にデモンストレーションした。そして、このスプリントで何が上手くいき、次に何を改善すべきかを考察した。良かった点として、完了の基準が明確であったことや、段階的に開発を進められたことが挙げられた。一方、改善点としては、手動で行っていたデプロイ作業をCI/CDと呼ばれる仕組みで自動化する必要性が認識された。CI/CDを導入することで、コードの変更を自動的にテストし、人為的なミスなくサーバーに反映させることが可能になる。

この一週間の体験は、単にフッターという小さな機能を実装しただけではない。企画段階のタスク管理から、インフラ構築、コーディング、デプロイ、品質保証、そして次の改善点の発見まで、ソフトウェアがユーザーに届くまでの全工程に一人で責任を持つという、まさにDevOpsの本質を学ぶ貴重な機会となった。システムエンジニアの仕事は、プログラムを書くことだけではない。自分が書いたコードがどのような環境で、どのように動くのかを理解し、その価値を安定的にユーザーに届け続けることまでが責務である。この一連の流れを俯瞰し、全体最適を考える視点こそが、これからのエンジニアに強く求められる能力なのである。