Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Alibaba CloudでCI/CDを実現する。クラウドでのデプロイ方法をマスターする

837 views

Published on

Alibaba cloudでCI/CDを実現方法をご紹介。クラウドでのデプロイ方法をマスターしましょう。
カスタムイメージを利用したデプロイ方法やWerckerを使って自動でカスタムイメージを作成する方法などご紹介。

Published in: Internet
  • Be the first to comment

Alibaba CloudでCI/CDを実現する。クラウドでのデプロイ方法をマスターする

  1. 1. Alibaba CloudでCI/CDを実現する。 クラウドでのデプロイ方法をマスターする SBクラウド株式会社 プロダクト技術部 2017年6月6, 23日 セミナー資料
  2. 2. 本日のアジェンダ 1. オープニング 2. クラウド上でのデプロイパターン解説 a. 通常デプロイ型 b. イメージデプロイ型 c. ハイブリッドデプロイ型 3. Alibaba Cloud上で、CI/CDプロセスでイメージ作成 a. CI/CDについて b. デモ:カスタムイメージを自動で作成 4. 質疑応答 5. クロージング
  3. 3. Who are you? 名前:森 真也 所属:SBクラウド プロダクト技術部 ロール:クラウドアーキテクト。     Alibaba Cloudの技術検証やセミナー開催など。 最近:  料理インスタグラマー、  技術的なことだとTerraformとかDevOpsツールに興味
  4. 4. デプロイどうやってますか? うまくいっていますか?
  5. 5. デプロイに関する悩みは尽きない ● 新しいアプリケーションはどうやって配置する? ● rsyncで同期?git pull? 何かツール? ● ミドルウェアのバージョンアップなど大きな作業をしたいけど不 安でできない ● ロールバックできる状態になっていない ● デプロイ作業に工数と時間がかかりすぎている ● デプロイ作業をミスしそうで怖い
  6. 6. クラウド上での代表的なデプロイパターン ● 通常デプロイパターン ○ オンプレ時代と同様の方式 ○ 既存のサーバに変更をしていく ● イメージデプロイパターン ○ 新しい変更を反映したイメージを作成 ○ デプロイ毎に古いサーバは捨てる (Immutableの考え方) ● ハイブリッドデプロイパターン ○ 通常とイメージデプロイのハイブリッド ○ アプリのデプロイだけ通常型でおこなうなど
  7. 7. Instance A (Image ver.1) Instance B (Image ver.1) Instance C (Image ver.2) Instance D (Image ver.2) Load Balancer Load Balancer Load Balancer Instance A (Image ver.1) Instance B (Image ver.1) Instance C (Image ver.2) Instance D (Image ver.2) Load Balancer Instance A (App ver.1) Instance B (App ver.1) Instance A (App ver.2) Instance B (App ver.2) 通常のデプロイパターン イメージでのデプロイパターン
  8. 8. イメージとは。Alibaba Cloudでのイメージは? 1. パブリックイメージ Alibaba Cloudが標準で提供しているイメージ。 たとえばUbuntuやCentOS、Windowsサーバなど 2. カスタムイメージ 既存のECSインスタンスを基に作成したイメージ。 3. シェアイメージ 他のAlibaba Cloudユーザ共有されたイメージ
  9. 9. カスタムイメージを作成するまで 1. サーバを購入する 2. 起動するまで待つ 3. サーバのセットアップをする a. ミドルウェアのインストール b. ミドルウェアの設定ファイルの配置 c. アプリケーションのデプロイ d. アプリケーションの設定ファイルの配置 e. などなど… 4. イメージを作る 5. 完成するまでひたすら待つ かなり大変。 時間がかかる・・・
  10. 10. Alibaba Cloudで カスタムイメージの自動作成を やってみよう (CI/CDをやってみよう)
  11. 11. 継続的インテグレーション(CI) とは 継続的インテグレーションとは、開発者が自分のコード変更した場 合に、その後に自動化されたビルドとテストを実行する DevOps ソ フトウェア開発の手法のこと。 自動でビルドとテストを行うことで、品質の確認を確実に行うこと が可能になる、というもの。 背景知識
  12. 12. 継続的デリバリー(CD) とは 継続的デリバリーとは、DevOps ソフトウェア開発手法の 1 つで、 コード変更行われた場合に、自動的にビルド、テスト、および本番 へのリリース準備が実行されるというもの。 これにより、ソフトウェアの変更はいつでもリリース可能な状態とな り、すばやい改善やリリースが行えるようになる、というもの。 背景知識
  13. 13. CI/CDの概念図 レポジトリ ビルド・テスト (単体テスト) 検証環境 (総合テスト) 本番環境 コミット 継続的インテグレーション 継続的デリバリー デプロイメント 継続的デプロイメント リリース可能な状態 自動化 自動化
  14. 14. 今回の例に落とし込むと コミットする アプリを変更する 変更が正しいか テストする カスタム イメージを作る 本番環境 コミット 継続的インテグレーション 継続的デリバリー デプロイメント 継続的デプロイメント リリース可能な状態 自動化 自動化
  15. 15. デモンストレーション 【本日のデモ内容】 アプリケーションのコードを修正したら、 その修正したコードを反映した ECSのカスタムイメージを自動で作成する。 どうやって。。。?
  16. 16. 【復習】Alibaba Cloud API Alibaba Cloudでは、アプリケーション開発者および管理者向けに APIやSDK、CLIツールをご用意しています。 Alibaba Cloud API コンソール画面の裏側も・・・ 操作 結果 2017年5月セミナー内容
  17. 17. 前回のセミナーの内容が気になる方へ SBクラウドのHPで資料公開中!! https://www.sbcloud.co.jp にアクセスしよう。 ● 5月セミナー:Alibaba Cloud APIを操れ!        インフラ構築をプログラムで制御する ● 4月セミナー:新機能体験!        RAMによる権限管理と        AutoScalingによるサービス継続性の実現
  18. 18. デモンストレーション 【本日のデモ内容】 アプリケーションのコードを修正したら、 その修正したコードを反映した ECSのカスタムイメージを自動で作成する。
  19. 19. デモの構成図 アプリの テスト 検証環境へ 反映 イメージ作成 連携 最新アプリを反映 イメージ作成依頼 (APIで操作) コミット アプリの変更 ステップ1 ステップ2 ステップ3 Alibaba Cloud ECS 検証用環境 イメージ作成 開発者 GitHub イメージ名: (ha-cicd-demo-日付)
  20. 20. どんなイメージを作ればいいか OSの基本設定 プログラミング言語の インストール ミドルウェアの インストール アプリケーションの インストール OSの基本設定 プログラミング言語の インストール ミドルウェアの インストール アプリケーションの インストール OSの基本設定 プログラミング言語の インストール ミドルウェアの インストール アプリケーションの インストール 全部入りイメージ アプリ以外の 全部入りイメージ 最小限イメージ
  21. 21. どんなイメージを作ればいいか メリット デメリット 全部入りイメージ 再現性が高い。 インスタンスの購入から動作可能まで の時間が短い。 イメージの作成に時間がかかる。 小さな修正でもイメージの作り直しが発 生する。 アプリ以外の全部入 りイメージ アプリのデプロイのみですぐに動作可 能。 ー 最小限イメージ サーバ内のミドルウェアなどの設定が 容易に可能。 インスタンス購入から動作可能になる までの時間が長い。
  22. 22. まとめ ● クラウド環境では「開発→テスト→デプロイ」のサイクルをより 高速にまわすことができる。 ● クラウドのメリットを活かしたデプロイの方法を選択することもで きる。どのデプロイ方法がいいかは用途や体制次第です。 ● それぞれののメリットとデメリットを意識しよう。 ● 現在のデプロイに関する課題点を振り返ってみましょう。
  23. 23. 参考資料 ● Alibaba Cloud公式: インスタンスからカスタムイメージを作成する ○ https://jp.aliyun.com/help/doc-detail/35109.htm ● Alibaba CloudとWerckerでCI/CDパイプラインを作成する ○ http://techblog.sbcloud.co.jp/2017/06/23/cicd-with-alibabacloud-and-wercker/ ● Alibaba Cloud、AutoScalingを使ってブルーグリーンデプロイメントを行う ○ http://qiita.com/mosuke5/items/43044a0aabb8dde0841a ● Continuous Integration ○ https://martinfowler.com/articles/continuousIntegration.html ● Continuous Delivery ○ https://martinfowler.com/bliki/ContinuousDelivery.html
  24. 24. SBクラウド 公式Twitter/Facebook 最新機能やイベントなど配信してます! @sbcloud_pr facebook.com/SBCloud/
  25. 25. SBCloudエンジニアブログはじめました http://techblog.sbcloud.co.jp にアクセス!!

×