なるほどわかった!Alibaba CloudとDevOps

なるほどわかった!Alibaba CloudとDevOps

2019/7/5 AliEaters@札幌#3にて登壇した内容です。

4cc0672dbe913b6e8aa687a81b3e02ab?s=128

Takayuki Fuwa

July 05, 2019
Tweet

Transcript

  1. なるほどわかった! Alibaba CloudとDevOps 不破 崇行

  2. 撮影について • 一部を除いてOKです。 • 撮影NGな箇所は、都度お知らせします。 • 他の人が入り込む際にはご配慮をお願いします。

  3. 自己紹介 • 名前 • 不破 崇行(ふわ たかゆき) • コミュニティ •

    JAZUG(Azure User Group)札幌支部 • Azureもくもく会 札幌 • JAWS UGやRancher Meetupなどで登壇しています • 仕事 • 昼は普通の正社員、夜は個人事業主 • Alibaba Cloud / • 最近の趣味 • 航空無線 / シメパフェ
  4. 趣味 • 週に1度はシメパフェ • シメパフェのために、毎週働く • 航空無線 • 管制官とのやりとりはすごくオペレーションやトラブル対応の 勉強になる

  5. 最近の東雲研究所 https://prtimes.jp/main/html/rd/p/000000023.000027073.html

  6. 東雲研究所とAlibaba Cloud • 2018年に「中国大陸でビジネスを始めるためにサーバを建てたいんです」 と案件相談があり、それ以来Alibaba Cloudでの構成提案をスタート • 「東雲のヘルプデスク」での取り扱いをスタート • とある貿易系企業の現地法人へのサポートをしています

    • 最初の頃はお金でハマったことや謝ったこともあります • どちらかというと、課金勢です
  7. 今日のおはなし • Alibaba CloudをDevOps的に構築・運用するためのお話

  8. 最近の開発事情 「DevOpsとは」

  9. 「分業」による問題 • インフラエンジニア側の主張 • 「サーバの構築は出来るけど、アプリのことは知らない。」 • 「ApacheやNginxのインストールまではするけど、アプリ向けの 細かい設定は知らないよ」 • 「.htaccessとか、locationディレクティブの設定とかは開発側でやって

    よ」 • アプリ開発者の主張 • 「とりあえずサーバ」
  10. None
  11. DevOpsをザックリ説明すると • 「分業」による問題 • 開発者(アプリエンジニア)と運用者(インフラエンジニア)が緊密に連携して 進める開発スタイル • 開発から運用までを同じ1つのチームで進める

  12. Dev(開発)とOps(運用)が一心同体

  13. DevOpsの大きなポイント üアプリ開発者がサーバも構築出来るようになること ü逆も同じ ü間接コストを減らすことで、開発効率を引き上げること ü属人性を減らすこと ü出来るだけ自動化する

  14. DevOpsのための自動化 • ビルドやデプロイの自動化 • CIの導入 • リリースの自動化 • 本番環境への適用のパイプライン化

  15. DevOpsを実現するためのアセット • ソースコード管理 • GitHub / GitLab / Bitbucket •

    インフラ • Alibaba Cloud / AWS / Azure etc • CI • Jenkins • テスト • JUnit / PHPUnit etc
  16. None
  17. Alibaba Cloudでの DevOps

  18. Alibaba CloudでDevOpsを取り入れる • ECS/SLBの立ち上げ • Container Service for Kubernetes によるk8sクラスタへのコンテナデプロイ

  19. Alibaba CloudとDevOps

  20. Alibaba Cloudだけで可能なDevOps技 インフラ構築の自動化 • Terraformによる構築がサポートされている • Terraform v0.8.7以降でサポート • 「インフラのコード化」によるアプローチ技

    • 下記のコードでECS立ち上げが出来る resource "alicloud_instance" "web" { instance_name = "terraform-ecs" availability_zone = "${var.zone}" image_id = "centos_7_3_64_40G_base_20170322.vhd"instance_type = "ecs.n4.small" io_optimized = "optimized" system_disk_category = "cloud_efficiency" security_groups = ["${alicloud_security_group.sg.id}"] vswitch_id = "${alicloud_vswitch.vsw.id}" }
  21. コンテナのデプロイ • Container Service for Kubernetes https://jp.alibabacloud.com/solutions/devops/CI-CD?spm=a21mg.10724711.926751.3.1f9c2722cf65X7

  22. gitリポジトリやコードパイプライン • IaaS系のconfファイルやソース管理がDevOpsでは重要な要素 • パイプライン? • コードをテスト・ビルドしたりECSサーバにデプロイする仕組み • 残念ながら、Alibaba Cloudにはフルマネジドなgitリポジトリやパイプラインの

    サービスが無いので、代替を探す必要がある。
  23. 今のところのオススメはAzure DevOps • Azure DevOps • gitリポジトリやコードパイプラインが全部用意されている。 • 1チーム5人まで無料で使える •

    Azure以外のクラウド環境やオンプレもサポート • Alibaba Cloudでもパイプライン機能も動く
  24. https://azure.microsoft.com/ja-jp/services/devops/pipelines/

  25. Pipelineによる自動デプロイ

  26. Azure DevOpsの特徴 • Alibaba Cloudでもほぼ全ての機能が使える • gitリポジトリ・カンバン・Backlogなども揃っている • 5名まで無料で使える

  27. オススメポイント • IaaS的なアプローチはTerraformを使おう • .tfファイル(定義ファイル)を色々作っておく • パイプライン機能はまだ無いので、とりあえず他のサービスを使う • Azure DevOpsが今のところオススメ(今後変わるかも?)

  28. まとめ • Alibaba Cloud + DevOps • アプリ開発者とインフラ管理者が手を取りあって1チームになる • DevOps的なアプローチを使うと、

    Alibaba Cloudで効果的/効率よくインフラを構築出来る • 使えるツールはどんどん使っていこう!