$30 off During Our Annual Pro Sale. View Details »

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

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

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

Takayuki Fuwa

July 05, 2019
Tweet

More Decks by Takayuki Fuwa

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

  3. 自己紹介
    • 名前
    • 不破 崇行(ふわ たかゆき)
    • コミュニティ
    • JAZUG(Azure User Group)札幌支部
    • Azureもくもく会 札幌
    • JAWS UGやRancher Meetupなどで登壇しています
    • 仕事
    • 昼は普通の正社員、夜は個人事業主
    • Alibaba Cloud /
    • 最近の趣味
    • 航空無線 / シメパフェ

    View Slide

  4. 趣味
    • 週に1度はシメパフェ
    • シメパフェのために、毎週働く
    • 航空無線
    • 管制官とのやりとりはすごくオペレーションやトラブル対応の
    勉強になる

    View Slide

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

    View Slide

  6. 東雲研究所とAlibaba Cloud
    • 2018年に「中国大陸でビジネスを始めるためにサーバを建てたいんです」
    と案件相談があり、それ以来Alibaba Cloudでの構成提案をスタート
    • 「東雲のヘルプデスク」での取り扱いをスタート
    • とある貿易系企業の現地法人へのサポートをしています
    • 最初の頃はお金でハマったことや謝ったこともあります
    • どちらかというと、課金勢です

    View Slide

  7. 今日のおはなし
    • Alibaba CloudをDevOps的に構築・運用するためのお話

    View Slide

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

    View Slide

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

    View Slide

  10. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  15. DevOpsを実現するためのアセット
    • ソースコード管理
    • GitHub / GitLab / Bitbucket
    • インフラ
    • Alibaba Cloud / AWS / Azure etc
    • CI
    • Jenkins
    • テスト
    • JUnit / PHPUnit etc

    View Slide

  16. View Slide

  17. Alibaba Cloudでの
    DevOps

    View Slide

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

    View Slide

  19. Alibaba CloudとDevOps

    View Slide

  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}"
    }

    View Slide

  21. コンテナのデプロイ
    • Container Service for Kubernetes
    https://jp.alibabacloud.com/solutions/devops/CI-CD?spm=a21mg.10724711.926751.3.1f9c2722cf65X7

    View Slide

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

    View Slide

  23. 今のところのオススメはAzure DevOps
    • Azure DevOps
    • gitリポジトリやコードパイプラインが全部用意されている。
    • 1チーム5人まで無料で使える
    • Azure以外のクラウド環境やオンプレもサポート
    • Alibaba Cloudでもパイプライン機能も動く

    View Slide

  24. https://azure.microsoft.com/ja-jp/services/devops/pipelines/

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  28. まとめ
    • Alibaba Cloud + DevOps
    • アプリ開発者とインフラ管理者が手を取りあって1チームになる
    • DevOps的なアプローチを使うと、
    Alibaba Cloudで効果的/効率よくインフラを構築出来る
    • 使えるツールはどんどん使っていこう!

    View Slide