TOPコラム一覧ユースカジノ 紹介

ユースカジノ 紹介 【初心者向け】CICDって何が嬉しいの?
ユースカジノ 紹介

はじめに

こんにちは、園田です。

CICDって何?
CICDって何が嬉しいの?
CICDをやってみたいんだけど簡単にできる?

ユースカジノ 紹介ことを思っている方が多くおられるのではないでしょうか。
また、どんどんITの技術が複雑、色々な知識を求められる中で中々技術習得が難しい。ユースカジノ 紹介問題もあるかと思います。

CICDは概念から始まって実際に実装するまでに色々ハードルがあるので、勉強するのが難しいユースカジノ 紹介方も多いのではないでしょうか。今回は【初心者向け】ユースカジノ 紹介ことで、「CICDって何」ユースカジノ 紹介所から「そのメリット」、「実際の導入」まで簡単に説明したいと思います。

なるべく分かり易く説明するため、詳しい人から見ると一部説明が不適切である部分もあるかと思いますが、その辺は初心者向けユースカジノ 紹介事でご容赦ください。

そもそもCICDって何?

一応、教科書的な記載すると、以下のようになります。

CICDとは

「Continuous Integration(継続的インテグレーション)/ Continuous Delivery(継続的デリバリー)」の略称。
CI/CDは、何か特定の技術を指すものユースカジノ 紹介なく、ソフトウェアの変更を常にテストし、自動で本番環境に適用できるような状態にしておく開発手法のこと

CI

システム開発におけるコードの変更(ビルド)とテストの頻繁な反復作業を効率的に行う手法

CD

CIのユースカジノ 紹介セスを引き継いでビルド段階の後にコードのテストを自動的に行い、テスト環境や本番環境へいつでもデユースカジノ 紹介イできるように準備。またコード変更が自動的に本番環境に導入されるようにする。

いきなりこんなことを言われても困りますよね。
基本的には「ユースカジノ 紹介作ったら、自動的にリリースまでするよ」と考えてもらえれば問題ありません。

では、つぎに「ユースカジノ 紹介作ったら、自動的にリリースまでする」ことの何が嬉しいのか。というのを説明しましょう。

そもそもCICDって必要なんですか?

「そもそもCICDって必要なんですか?」ユースカジノ 紹介問いに関しては、「なくても良いけど、あったほうが便利だよ。」ユースカジノ 紹介形になるかと思います。

ずっと昔のシステムでは、「一度作ったらユースカジノ 紹介は変更しない。」という環境もあったかと思います。その場合、1回しかデプロイ(ユースカジノ 紹介を展開する)しないので、別に自動的にリリースする必要はありません。
むしろ、仕組みを作るのが面倒(かもしれない)ので、手作業で頑張ってユースカジノ 紹介をリリースするというのが一般的であったような気がします。

ただ、現状ビジネスを勝ち抜くためには、お客さまや利用者の声を聴いてユースカジノ 紹介(サービス)をアップデートしていく必要があります。そのためには頻繁にリリースを実施していく必要があります。
で、このリリース作業ですが、正直面倒ですよね。
基本同じ作業の繰り返しですが、例えば手動で実施した場合、「リリース手順書をきちんと作って」、「作業ミスが無いようダブルチェックして」、「事前レビューをして」、「リリース後に稼働確認して」みたいなことをやっているとドンドン時間が無くなってしまいます。

本来やりたいことは新しいユースカジノ 紹介をリリースしたいだけなのに、余計な時間が掛かってしまいます。なので、「ユースカジノ 紹介リリースまでを自動化して事前にテストしておけば、手間なくリリースできるよね」というのが、CICDが必要な理由となります。
(ユースカジノ 紹介作る人はユースカジノ 紹介を作りたいので余計な時間を極力省きたい)

手動のユースカジノ 紹介リリースとCICDの比較

一応、CICDのメリットを記載するために、これまでやっていた(?)手動でのユースカジノ 紹介リリースとCICDを実装後の比較を実施してみましょう。
ちょっと手動のユースカジノ 紹介リリースが極端な気がしますが、説明のためとなりますのでご了承ください。

■これまで(?)のユースカジノ 紹介リリース(手動)

  1. 1. 開発機での開発。テスト。
  2. 2. テスト機で変更したモジュールをステージング機に移行(FTP等でファイル転送、など)
  3. 3. ステージング機でのテスト
    ※問題があった場合は、手動切り戻し
  4. 4. 本番機へモジュールの移行
    ※問題があった場合は、手動切り戻し

みたいな感じになるかと思います。ぱっと見で分かるかと思いますが、「これまで(?)のユースカジノ 紹介リリース(手動)」は色々問題があります。
例えば以下のような問題です。

  • 当然手作業なのでミスをする可能性があります。シンプルなものユースカジノ 紹介ファイルを配置するパスを間違った、更新するファイルが足りなかった、などです。
  • ユースカジノ 紹介をデプロイする環境は一緒でしょうか。本番機はセキュリティ対応でパッチを当てているけど、開発機はあてていない、とか開発環境だけ一部モジュールのバージョンが新しくなっている。などの可能性もあります。
  • 承認履歴や更新履歴はどうなっているでしょうか。その時は問題なくても将来的に問題があった際に過去のことはよくわからない。ユースカジノ 紹介ような問題がある可能性があります。

これらの問題は結局「面倒だから」ユースカジノ 紹介理由で発生するといっても過言ではありません。
(環境を一緒にするのが望ましいですが、本番と同様の運用を手作業でするのは「面倒」です。履歴もファイルで残せばよいと思いますが、きちんと履歴を残すのは「面倒」です。)

このような「面倒」なことを無くしてあげることが管理者のやるべきことであり、CICDが必要な理由となります。
ユースカジノ 紹介、CICDを取り入れたことでこの「面倒」なことがどのように変わったか、を見てみましょう。

■CICDを用いたユースカジノ 紹介リリース

  1. 1.開発環境への自動デユースカジノ 紹介イ
    コンテナイメージからインフラ構築、コードレビューなどテストを自動化
    (UIテスト、機能テストなどは手動)
  2. 2.ステージング環境への自動デユースカジノ 紹介イ
    ※問題があった場合は、元の環境へ自動切り戻し
  3. 3.本番環境への自動デユースカジノ 紹介イ

CICDを取り入れたことによるメリットは以下の通りです。

  • 自動作業なので基本ミスは発生しない。
  • 環境はすべて新規作成のため、同一となり、差異は発生しない。
  • 承認については、パイプラインの中に組み込みとなりログに残る。
    (承認を実施しないと、パイプラインが起動しないようにできる。承認履歴や作業履歴がツールのログとして残る)

CICDを利用せず手動で実施していた時と比較して、「面倒」なことが無くなり(ユースカジノ 紹介目線)、管理されている状態(管理者目線)となっていることが分かるかと思います。

CICDを導入することですべてがバラ色になるわけではありませんが、ユースカジノ 紹介からは「面倒な作業から解放され、楽になる」ことでモチベーションを上げ、管理者からは「利用者が楽な方法を選んでくれれば必然管理がされている状態」を目指すこと。これがCICDの基本だと思っています。

CICDをやってみる(実現方法)

CICDの実現方法ですが、大きく2つ存在します。(本当はもっといっぱいあると思いますが、今から実施するのであればユースカジノ 紹介観点で極端に記載しています)

方法1:Kubernetes(k8s)+ Jenkinsをユースカジノ 紹介する

Kubernetes、もしくはそれに準するツール(OpenShift やAWSの場合EKS)+ Jenkinsをユースカジノ 紹介してCICDを実現する。
Kubernetes+ Jenkinsにてコンテナのイメージ管理、デユースカジノ 紹介イ、CICDのパイプラインの作成等の作業が可能。

方法2:パブリッククラウドの機能をユースカジノ 紹介する。

パブリッククラウドの機能(サービス)をユースカジノ 紹介してCICDを実現。

AWSであれば、コンテナをECR、ECS(fargate)で管理。

NWについてはVPC、ELB。パイプライン等についてはcode pipeline、Code Build、Code deployをユースカジノ 紹介して、CICDを実現する。

で、どちらで実施するのが良いですか、ユースカジノ 紹介点においてはAWSなどのクラウドを利用しているのであれば、「パブリッククラウドの機能を利用する」ことを推奨します。
「パブリッククラウドの機能を利用する」場合、AWSユースカジノ 紹介AWSに、Azureユースカジノ 紹介Azureに縛られる形となってしまいますが、クラウド内に基本すべてのツールが揃っているので、(比較的)簡単にCICD環境を整えることが可能です。
(「パブリッククラウドの機能をユースカジノ 紹介」してCICDを実施して、「オンプレミス環境でも実施したい」、や「マルチクラウドでCICDを実施したい」などの要件が出た場合、検討するのが良いです。ともなく、まずはCICDを導入するところから始めましょう)

ユースカジノ 紹介具体的にどんなツールを利用するとCICDを実現できるかを見てみましょう。
今回はタイトル通り、AWSをユースカジノ 紹介した場合のツールになります。

ユースカジノ 紹介

上記に出てくるツールの説明は以下の通りです。

CodeCommit:
ユースカジノ 紹介を管理するレポジトリです。ぶっちゃけコードが管理できれば何でもよいので、GitHub等のツールでも問題ありません。個人的にはCodeCommitはどこかのアカウントに所属してしまうため、複数アカウントが増えた場合、別のアカウントでソースを管理したいという謎の要望が出るため、GitHub等を利用する方が良いかもしれません。(もしくはcodeCommit専用のアカウントを作るなどでも良いです。ともかく、出来るだけシンプルな物が良いです。)
なお、CodeCommitの費用はAWSの従量に含まれます。(0.06 USD/GB/月(2024年4月現在))

CodePipeline:
CICDにおけるパイプライン(コードのビルド、テスト、デプロイなどのプロセスを自動化したもの)を定義するツールです。一般的にはユースカジノ 紹介に対する処理と、インフラの処理については別々に管理します。
アクティブパイプライン1つに対して、1.00 USD/月にてユースカジノ 紹介が可能です。

CodeBuild:
ソースコードのビルド(コンパイル)、テスト、およびデユースカジノ 紹介イを実施するツールです。
本環境ユースカジノ 紹介テストを実施後、「承認」を実施しないと次の処理が実行されないようにしています。なお、承認履歴はシステムで管理されますので、だれが承認したかを後で確認することが可能です。

IACデユースカジノ 紹介イ:
CloudFormation、TerraFormをユースカジノ 紹介します。
CloudFormationはAWSのツール。TerraFormはオープンソースのツールになります。
処理速度、他のクラウドとの互換性、記載が出来る・出来ない(CloudFormationユースカジノ 紹介一部関数を参照できない)などの理由から、TerraFormを利用することを推奨します。

なお、本パイプラインは、「開発」環境用、「ステージング」環境用、「本番」環境用など複数用意することを推奨します。パイプライン概要では途中「承認」のユースカジノ 紹介セスが入っていますが、「開発」は承認なし。「ステージング」は開発責任者、「本番」はシステム責任者の承認が必要にするなどのフローを作成することで、サービスレベルに合わせた統制を取ることが可能です。

ユースカジノ 紹介訳でなんとなく、CICDの必要性と魅力が分かってもらえたかなと思います。
それユースカジノ 紹介いよいよ、実際のAWS上でパイプラインを作ってみたいと思います。

また、だいぶ長くなってしまったので、次回に続きます。
では、「ユースカジノ 紹介②」でお会いしましょう。

カジノゲームは、AWSのビジネス利活用に向けて、お客様のステージに合わせた幅広い構築・運用支援サービスを提供しています。
経験豊富なエンジニアが、ワンストップかつ柔軟にご支援します。
ぜひ、お気軽にお問い合わせください。

お問い合わせ


【著者ユースカジノ 紹介フィール】

園田 一史(そのだ かずし)

伊藤忠テクノソリューションズ株式会社 クラウドアーキテクト

AWSの導入・運用支援サービス「CUVIC on AWS(キュービック オン エーダブリューエス)」の運営を担当。大規模DCのNW設計・構築、また国産IaaS型クラウドサービスの企画・導入・設計を歴任。物理・仮想基盤の設計、構築経験を活かし、AWSの導入・構築の支援をサポート。2019年~2024年APN Ambassadorに選任。

園田 一史(そのだ かずし)

TOPコラム一覧ユースカジノ 紹介

pagetop