naoの勉強部屋

ここは勉強ログ用。気になったことだけ、短く大雑把書く

DevOpsのContinuous Integration/Continuous Deliveryについての勉強ログ

この記事の目的

自分のDevOpsに関する知識を整理するためのものです。

DevOpsとはなにか

DevOpsとはDev(開発)とOps(運用)を一体化し、機能開発からデプロイまでの流れの効率化を目的とした手法です。 DevOpsの採用により、開発者はデプロイ時の複雑な手順を回避することができ、開発体験の向上が期待でき、ユーザーへは、効率的なリリースフローの採用により、迅速な価値の提供に繋がります。 また、障害発生時には、迅速なロールバックができ、障害回復への時間の短縮ができます。

DevOpsを支える技術

  • Continuous Integration(CI)
  • Continuous Delivery(CD)
  • etc

DevOpsを支える技術はこの他にもありますが、今回はCI/CDについて説明します。

Continuous Integration(CI)

CIとは小さい単位で機能開発時を行い、その変更に対して継続的にビルド・テストを行い、開発した機能に問題ないかをチェックします。テストを行うことにより、ある程度品質が保証され、障害発生の抑制が期待されます。 また、問題が発生したとしても、小さな単位で機能開発をしているため、迅速な原因特定へと繋がります。 開発者に対しては自動化により、ビルド・テスト作業から離れることができ、開発体験の向上につながります。

Continuous Delivery(CD)

CDはCIを拡張したものです。コード変更された場合、自動でビルド、テストを行い、実動作環境に対してデプロイする準備を行います。CDにより、本番環境にデプロイ準備を行いますが実際にデプロイするかどうかは開発者の判断に委ねます。 CDは、安全、迅速、持続可能な形でサービスの提供を目的としています。

参考

https://aws.amazon.com/jp/devops/what-is-devops/ https://www.amazon.co.jp/Lean%E3%81%A8DevOps%E3%81%AE%E7%A7%91%E5%AD%A6-Accelerate-%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E3%83%BC%E3%81%AE%E6%88%A6%E7%95%A5%E7%9A%84%E6%B4%BB%E7%94%A8%E3%81%8C%E7%B5%84%E7%B9%94%E5%A4%89%E9%9D%A9%E3%82%92%E5%8A%A0%E9%80%9F%E3%81%99%E3%82%8B-impress-gear/dp/4295004901