Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Flava Kubernetes Engine: 直感的に使えるプラットフォームを目指して /...

Flava Kubernetes Engine: 直感的に使えるプラットフォームを目指して / Flava Kubernetes Engine: Towards Intuitive Platform

KubernetesとPlatform Enginereringと愛するエンジニアのみなさん、Flava Kubernetes Engine (FKE) プロダクトマネージャーの五反田です。LINEヤフーにはFKEをはじめとして多くの社内ツール・プラットフォームが存在しますが「機能は足りているんだけど、使いづらいな」と思った経験はありませんか? 本セッションでは、FKEというプロダクトを例に使いやすいプラットフォームをいかにして作るかを説明します。また、より使いやすいプラットフォームを目指してFKEをどのように改善していくのか、今後の展望も紹介します

More Decks by LINEヤフーTech (LY Corporation Tech)

Other Decks in Technology

Transcript

  1. • Background: Flava & FKE • What is Flava? •

    What is FKE? • Breaking Down “Intuitive Platform” Agenda
  2. • Successor of ex-Private Clouds • Verda(ex-LINE) • YNW (ex-Yahoo

    Japan). • Large Scale • Fault Tolerant • multi region (plan) • multi availability zone • Secure • VPC, IAM... What is Flava? Private Cloud Platform in LY Corporation
  3. • Self Service Kubernetes as a Service (KaaS) • Successor

    of VKS & ZCP • VKS: KaaS for ex-LINE Corp • ZCP: KaaS for ex-Yahoo Japan! • Integrated with Flava • Server, Load Balancer, VPC, DNS, Storage, etc. • User Friendly Interface • UI • CLI What is Flava Kubernetes Engine (FKE)?
  4. Intuitive Platforms enables users to • Do Nothing • or

    make minimum effort to get Ideal Platform Users Define “Intuitive Platform”
  5. Intuitive Platforms enables users to • Do Nothing • or

    make minimum effort to get Ideal Platform. • Know What to Do • to fulfill their needs. Users Define “Intuitive Platform”
  6. Intuitive Platforms enables users to • Do Nothing • or

    make minimum effort to get Ideal Platform. • Know What to Do • to fulfill their needs. • Get Warned and Rejected • to mitigate risks and to prevent incidents and outages. Users Define “Intuitive Platform”
  7. Optimized Default Config If many parameters are required? Þnot intuitive

    If default value is suboptimal? Þnot intuitive If optimized default value are set? Þintuitive! Factors for Users to “Do Nothing” Automated Operation Avoid labors by doing operation automatically on the platform side.
  8. Optimized Default Config If many parameters are required? Þnot intuitive

    If default value is suboptimal? Þnot intuitive If optimized default value are set? Þintuitive! Factors for Users to “Do Nothing” Automated Operation Avoid labors by doing operation automatically on the platform side.
  9. In VKS, a node pool is limited to 1 Availability

    Zone(AZ), Thus, users must create additional node pools to distribute nodes to multi-AZ for HA. Case Study: Worker Node Distribution VKSʼs default node pools are limited to 1 AZ by default. Workers Nodes arenʼt HA by default AZ1 default node pool AZ2 AZ3
  10. In FKE, nodes are distributed across 3 availability zones by

    default. Thus, users get HA clusters by default! Improved Experience in FKE Worker Nodes are HA by default! AZ1 AZ2 AZ3 default node pool
  11. Optimized Default Config If many parameters are required? Þnot intuitive

    If default value is suboptimal? Þnot intuitive If optimized default value are set? Þintuitive! Factors for Users to “Do Nothing” Automated Operation Avoid labors by doing operation automatically on the platform side.
  12. • Do Nothing • Know What to Do • Get

    Warned and Rejected “Intuitive Platform” Allows Users to
  13. From the usersʼ perspective, document is costly because of •

    Time to find target document • Possibly, users canʼt find document. • Time & cognitive load to read documents Document isnʼt intuitive
  14. Simple Simplicity allows users to easily understand & recall what

    to do. Consistent Consistency allows users to predict what to do. Guided Even if users forget or has no idea, users can know what to do by guide. Factors for Users to “Know What to Do”
  15. Simple Simplicity allows users to easily understand & recall what

    to do. Consistent Consistency allows users to predict what to do. Guided Even if users forget or has no idea, users can know what to do by guide. Factors for Users to “Know What to Do”
  16. Simplicity: FKEʼs Resource Model Belongs to a Project Cluster Belongs

    to a Cluster Node Pool Belongs to a Cluster Addon
  17. Simple Simplicity allows users to easily understand & recall what

    to do. Consistent Consistency allows users to predict what to do. Guided Even if users forget or has no idea, users can know what to do by guide. Factors for Users to “Know What to Do”
  18. - Consistency inside the product - Consistency with other products

    - Consistency with OSS - Consistency with public cloud - Consistency with Flava - Consistency with theory - … Consistency improves Predictability
  19. Example: Naming Rule & Command Order • kubectl, vksctl, bpctl,…:

    command + verb + target • kubectl get pods, vksctl get clusters • openstack, fke,…: command + target + verb • openstack server list, fke cluster create FKEʼs CLI command is designed to have target in front of verb, thatʼs why we name it ʻfkeʼ rather than ʻfkectlʼ, to prevent users from running ʻfkectl get clustersʼ or such. Hint:Make different things different
  20. Simple Simplicity allows users to easily understand & recall what

    to do. Consistent Consistency allows users to predict what to do. Guided Even if users forget or has no idea, users can know what to do by guide. Factors for Users to “Know What to Do”
  21. $ fke nodepool create -h … Usage: fke nodepool create

    [NODE_POOL_NAME] [flags] … # Create a nodepool with specific flavor fke nodepool create foo --cluster my-cluster --flavor-id 4vCPU_8GiB_100GiB --replicas 5 … Flags: --flavor-id string flavor id (default: the smallest flavor) Hint: run 'fke spec flavor' to get available options. CLI Guides How to Get Candidate Values Users no longer have to read documents to know what values can be set Here!
  22. Tooltip Explains Each Parameter Link to the Doc Web UI

    Includes Guides Everywhere FKEʼs Addon lb-controllerʼs Case Users can find docs with no time Users can understand features without document
  23. • Do Nothing • Know What to Do • Get

    Warned and Rejected “Intuitive Platform” Allows Users to
  24. Reject Bad Operation Irregular dangerous operations should be rejected. Get

    Warned & Confirmed When users try to do actions which is risky, warning & confirmation is important. Get Notified & Informed When some issue happens, users should be notified and informed. “Get Warned, Get Rejected” For bad actions and events
  25. Reject Bad Operation Irregular dangerous operations should be rejected. Get

    Warned & Confirmed When users try to do actions which is risky, warning & confirmation is important. Get Notified & Informed When some issue happens, users should be notified and informed. “Get Warned, Get Rejected” For bad actions and events
  26. Reject Bad Operation Irregular dangerous operations should be rejected. Get

    Warned & Confirmed When users try to do actions which is risky, warning & confirmation is important. Get Notified & Informed When some issue happens, users should be notified and informed. “Get Warned, Get Rejected” For bad actions and events
  27. • Flava is a LY Corpʼs Private Cloud and FKE

    is the KaaS of Flava • Intuitive Platforms allows users to, • Do Nothing • Optimized Default and Automated Operation • Know What to Do • Simple, Consistent and Guided • Get Warned and Rejected • For Minimizing Risks and Preventing Outages Summary