マイナビニュースマイナビ

ゼロから始めたDevOps、使ったツールと問題点 - RED HAT FORUM TOKYO 2017

[2017/11/22 10:40]齋藤公二 ブックマーク ブックマーク

カバレッジよりも不安の払拭

テストにおいては、単体テストでは「迅速に繰り返し実行すること」「依存性をなくすこと」を考慮し、「カバレッジよりも自信を持ってリリースするためのテスト」にすることを心がけたという。

また、結合テストでは、本番環境にリリースした途端にうまく動かなくなることが多かったため、サーバやネットワーク、データベースの構成などで商用の状態を再現して、環境依存をなくしていこうとした。また、どのフェーズで何をテストするかといったライフサイクルを意識して取り組んだ。

パイプライン化では、「ビルドだけ、テストだけなど、限定的に使っていたJenkinsを、自動化した部品が自動で流れるようにすることに主眼を置いて使用するようにした」という。ビルドやテストのツールとしては、Maven、JUnit、Mockit、SoapUI、MyBaitsなどを使用。デプロイでは、クラウドとの親和性を考慮し、Ansibleを利用している。

使用したツール

「パイプライン化ではJenkinsを中心に環境を構築しました。注意点としては、プラグインの依存関係がよくわからなくなるなど、構成が複雑になりやすいことが挙げられます。ビルドはスレーブやコンテナにオフロードしたり、プロジェクトごとにJenkinsのマスターを立てたりするのもいいかもしれません」

ツール間の関係性

今後の取り組みとしては、継続的な運用のためにテストコードを書く習慣を根付かせること、全体パイプラインの自動化、アーキテクチャを見直して変更/テストがしやすく、環境依存性を排除できる環境を作っていくことなどを挙げた。

アーキテクチャ見直しの例としては、クラウドネイティブやマイクロサービス化、コンテナやJavaをアプリに内包することなどのパッケージングといったものがある。また、クラウドサービスの構成管理とデプロイツールを使って、オーケストレーションを行っていくことも検討している。

最後に、相馬氏は、「DevOpsのアプローチが向いているものと向いていないものがあります。自動化する対象、バリューと指標を明確にすることが重要だと思います。また一気に全部に取り組むのではなく、バージョン管理や単体テストなど、一部から始めることもポイントです。そのほか、Jenkinsの構成やジョブはあまり複雑にならないよう気をつけました。そして最後は、やはり楽しむということが重要だと思います」と述べ、講演を締めくくった。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

もっと知りたい!こちらもオススメ

【連載】 いまさら聞けないマイクロサービスの基本

【連載】 いまさら聞けないマイクロサービスの基本

「人や組織によって意味するものが違うため、10人に聞くと、10通りはおろか、12通りの答えが返ってくるのがDevOps」――こう説明するのは、運用管理ソフトウェアを担当するアナリスト、ガートナーの長嶋 裕里香 氏である。今回は長嶋氏にDevOpsの定義と、日本での展開について話を聞いた。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で TECH+ の人気記事をお届けします
注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
ニューノーマル時代のオウンドメディア戦略
ミッションステートメント
教えてカナコさん! これならわかるAI入門
AWSではじめる機械学習 ~サービスを知り、実装を学ぶ~
対話システムをつくろう! Python超入門
Kubernetes入門
SAFeでつくる「DXに強い組織」~企業の課題を解決する13のアプローチ~
PowerShell Core入門
AWSで作るマイクロサービス
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

会員登録(無料)

ページの先頭に戻る