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.

LINE Engineerを支える CaaS基盤の今とこれから

1,485 views

Published on

JAPAN CONTAINER DAYS V18.12
https://containerdays.jp/
での登壇資料です

Published in: Technology

LINE Engineerを支える CaaS基盤の今とこれから

  1. 1. LINE Engineerを支える CaaS基盤の今とこれから LINE Corporation, Verda2 Yuki Nishiwaki
  2. 2. LINE Private Cloud ● “IaaS” + “Managed Middleware” + “CaaS” ● Multiple Region (3 Region) ● 20,000 VMs , 7500 Baremetals ○ 現在も毎月80台以上のHypervisor増設
  3. 3. IaaSにおける挑戦 LINEサービスを運用して見えてきた課題 https://www.janog.gr.jp/meeting/janog39/application/files/9714/8609/7135/JANOG39_LINE.pdf 大規模サービスを支えるネットワークインフラの全貌 https://www.slideshare.net/linecorp/ss-116867631 自作ロードバランサー開発 https://www.janog.gr.jp/meeting/janog40/application/files/6115/0105/4928/janog40_sp6lb.pdf https://www.slideshare.net/linecorp/ss-116879618 Excitingly simple multipath openstack networking lagless l2 less yet fully redundant https://www.slideshare.net/linecorp/excitingly-simple-multipath-openstack-networking-lagless-l2less-yet-fully-redundant Verda Cloud Family (Private Cloudの全貌) https://www.slideshare.net/linecorp/verda-cloud-family OSインストーラ自作方法 (part of our baremetal service) https://www.slideshare.net/linecorp/os-116866027 Network Related Technology for Cloud
  4. 4. IaaSの品質 != Applicationの品質 洗練されたいい道具(IaaS) Application Developer 煩雑な設定 使いこなし方を学ぶ必要性 ・バーストトラフィックに対する対応 ・トラフィックが穏やかな時の余剰リソース ・障害ドメインを分けるスケジューリングヒント ・・・
  5. 5. さらなるインフラの抽象化と複雑性の隠蔽 洗練されたいい道具(IaaS) Application Developer 複雑性を隠蔽(PaaS/CaaS)
  6. 6. LINE CaaS Family IaaS (OpenStack + in-house Components) PaaS KaaS FaaS CaaS Family
  7. 7. Timeline of our Private Cloud PaaS KaaS FaaS IaaS 2017/5 2018/6 2018/12 2016/10 リリース済み リリース済み βリリース済み 開発中
  8. 8. Timeline of our Private Cloud PaaS KaaS FaaS IaaS 2017/5 2018/6 2018/12 2016/10 リリース済み リリース済み βリリース済み 開発中
  9. 9. PaaS ● 2017年より開発、提供開始 ● プロダクション運用中 ● HerokuのようなKubernetesベースのPlatform as a Service ○ ユーザは、インフラ、裏の仕組みの Kubernetesを意識しない ○ Githubにコード、タグをPushするだけでDevelop, Staging, Productionにデプロイ ○ DNS, Loadbalancerなどの自動的な設定 ○ 監視、ロギング、通知の自動設定 ○ CPUの使用率によるオートスケーリング
  10. 10. Kubernetes +αで実現 Application用の DNSレコード登録 PaaS上のアプリケーショントラフィッ クは、Ingress Nodeによって処理さ れる 1つのKubernetesクラスタ上にア プリケーションが展開される コードからイメージの作成と K8s関連リソース作成 ユーザがコードをプッシュすると 1 2 3 4 5
  11. 11. 社内ツール + 一部LINEサービスのバックエンド 商用サービスの API Server 600+ apps 1-5 apps 595 apps 社内ツール 商用を見据えた検証bot
  12. 12. PaaSの導入により 全てのユーザが幸せになるはずだった・・・
  13. 13. PaaSの限界 PaaSではカバーしきれないケースも多い ● 複数のコンテナで構成されるようなシステムの基盤としての使いづらさ ● アプリケーションが依存する複数のミドルウェアのデプロイ先 ● 大量にバッチ処理が必要なシステム ● インフラ要件が特殊なワークロード ● …. 野良Kubernetes (Private Cloudユーザに管理される) の乱立 ● 抽象化されたインフラを利用したいが、細かいコントロールもしたい ● 豊富なKubernetesエコシステムを利用したい
  14. 14. 野良Kubernetesの課題 ● 品質の問題 ○ 監視されていないクラスタ ○ HA設定のされていないクラスタ ○ アップグレードされないクラスタ ● 運用コストの問題 ○ デプロイ ○ 障害対応 ● 全体最適化の課題 ○ 運用ナレッジの分散(各サービス開発チームに閉じた運用) ○ 分散するKubernetes Addon (Type Loadbalancer, DNS連携...)
  15. 15. KaaSの必要性が高まる   Kubernetesクラスタ 対障害考慮 Performance考慮 Private Cloud連携 Kubernetesクラスタ Kubernetesを運用する人々 KaaS ソフトウェア
  16. 16. Timeline of our Private Cloud PaaS KaaS FaaS IaaS 2017/5 2018/6 2016/10 リリース済み リリース済み βリリース済み 開発中
  17. 17. どんな形で提供しているのか
  18. 18. Rancher 2.Xをベースに実現 Kubernetes Kubernetes Kubernetes  Kubernetes   Kubernetes   Kubernetes   API クラスタの操作:  - クラスタの作成  - クラスタの変更  - ノードの追加 クラスタの利用:  - アプリケーションのデプロイ  - アプリケーションのアップデート  - アプリケーションのスケールアウト ... クラスタ管理 - クラスタ/ノード作成、変更 - クラスタ/ノード監視、ヒーリング
  19. 19. Rancher 2.Xをベースに実現 2018/12/04 (本日) 17:00-17:20 Room C(1F)
  20. 20. KaaS: できていること、やるべきこと ● 運用コスト軽減 ○ クラスタ/ノードの作成 ○ モニタリング/ロギングサポート ○ セルフヒーリング ○ アップグレード ○ Etcdの定期的なバックアップ /リカバリ ● 洗練されたKubernetesの提供 ○ HA/パフォーマンス考慮されたクラスタの提供 ○ 検証/開発済みのアドオンの提供   Kubernetesクラスタ 対障害考慮 Performance考慮 Private Cloud連携 Kubernetesクラスタ Kubernetesを運用するソフトウェア
  21. 21. KaaS: できていること、やるべきこと ● 運用コスト軽減 ○ クラスタ/ノードの作成 ○ モニタリング/ロギングサポート ○ セルフヒーリング ○ アップグレード ○ Etcdの定期的なバックアップ /リカバリ ● 洗練されたKubernetesの提供 ○ HA/パフォーマンス考慮されたクラスタの提供 ○ 検証/開発済みのアドオンの提供 ● 100-クラスタ、2000ノード以上のサポート プロダクションサポート!   Kubernetesクラスタ Kubernetesクラスタ Kubernetesを運用するソフトウェア 対障害考慮 Performance考慮 Private Cloud連携
  22. 22. 社内のKubernetesのユースケース 2018/12/05 (明日) 12:00-12:40 HALL WEST (2F)
  23. 23. Timeline of our Private Cloud PaaS KaaS FaaS IaaS 2017/5 2018/6 2018/12 2016/10 リリース済み リリース済み βリリース済み 開発中
  24. 24. FaaS Serverless! 次世代Web Application Event駆動! 運用自動化、Bot、Webhook用のAPI
  25. 25. FaaS Serverless! 次世代Web Application Event駆動! 運用自動化、Bot、Webhook用のAPI
  26. 26. Knative +αで実現 VM Created User Created Container Image Created CPU usage exceeded 80% Finish Operation ScriptA Every 30 min New PR is created <⚡> Function (What) Notify Slack Deploy Application Run Test Prepare cloud resource <💥> Event (When) Distribute public key to all existing server Function Executor Event Provider Event Provider イベント 生成 Eventに紐付けられた Functionの実行
  27. 27. これからのLINEのCaaS
  28. 28. 開発者のニーズに応じた適切なサービスレベル IaaS (OpenStack + in-house Components) PaaS KaaS FaaS CaaS Family API Serverを動かしたい! Bot! Webhook! Operation自動化! 抽象化は嬉しいけど細かいコントロールも自分たちでしたいよ! 2000人以上の開発者 10以上の開発拠点
  29. 29. Session from LINE 12/4 (今日) 12/5 (明日)

×