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

Higher level abstraction/orchestration with Crossplane and Open Application Model

mita
March 07, 2021

Higher level abstraction/orchestration with Crossplane and Open Application Model

Higher level abstraction/orchestration with Crossplane
and Open Application Model at CNDO Spring 2020.

mita

March 07, 2021
Tweet

More Decks by mita

Other Decks in Technology

Transcript

  1. Name: mita Role: Infrastructure Engineer Interest: - Improving Operator Experience

    - Cloud Native - KRM Ecosystems - Kubernetes Operators - Observability - Chaos Engineering - Infrastructure as Code
  2. 🤯 ֶश଎౓ < ֶͿίτ͕ ૿͑Δ଎౓ Computer Science, Programming Languages, Frameworks,

    Cloud Native, Observability, Container, Container Security, Cloud, Edge, IaC, Machine Learning, DevOps, Chaos Engineering, Service Mesh, WASM and eBPF, etc…
  3. 🤯 ֶश଎౓ < ֶͿίτ͕ ૿͑Δ଎౓ ͋͋͋͋͋͋͋͋͋͋͋ ೝ஌ෛՙߴ͗͢ Computer Science, Programming

    Languages, Frameworks, Cloud Native, Observability, Container, Container Security, Cloud, Edge, IaC, Machine Learning, DevOps, Chaos Engineering, Service Mesh, WASM and eBPF, etc…
  4. KRM ecosystem[3] KRM(Kubernetes Resource Model) Tool A Tool B Tool

    C Tool D Controller A Controller B Controller C Controller D Tool A Tool B Tool C Tool D API 1 API 2 API 3 API 4 Kubernetes API API Call Interoperable Ecosystem with KRM Tightly coupled system 🤔 😊
  5. Software, Orchestrator Alphabet, Character Food Bird, Creatures Pattern and Abstraction

    “ਓ͸ύλʔϯԽ͢ΔຊೳΛ͍࣋ͬͯΔ” ιϑτ΢ΣΞͷྺ࢙΋ྫ֎Ͱ͸ͳ͍
  6. Platform Model for Separation of Concerns • DevOpsΛεέʔϧͤ͞ΔͨΊͷΞϓϩʔνͱͯ͠ɺ
 ”The 2020

    State of DevOps Report “[5]ʹͯ঺հ͞Ε͍ͯΔ • Platform Model: ։ൃνʔϜ޲͚ʹɺΠϯϑϥ΍؀ڥͷ੔උɺσϓϩΠϝ ϯτύΠϓϥΠϯͳͲΛ༻ҙ͢ΔPlatform teamΛ༻ҙ͢Δ͜ͱͰΞϓϦ ։ൃΛՃ଎ͤͨ͞Γɺؔ৺ͷ෼཭Λߦ͑Δ • େ͖͘੒௕͍ͯ͠Δاۀͷଟ͘͸ɺ૊৫಺PlatformΛ׆༻͍ͯ͠Δ
  7. Summary of Background • Ϋϥ΢υΑΓߴ࣍ϨΠϠʹ͓͚Δந৅Խ: Crossplane • ΞϓϦͷந৅Խͱؔ৺ͷ෼཭: OAM(Open Application

    Model) Ϋϥ΢υωΠςΟϒͷจ຺Ͱࠓޙ·͢·͢γεςϜ͕ߴ౓Խ͍ͯͨ͘͠Ίɺ ந৅Խ΍ؔ৺ͷ෼཭Λߦ͏͜ͱͰೝ஌ෛՙΛԼ͍͛ͨ
  8. Crossplane • Launched in Dec 2018, by the creators of

    Rook
 (CNCF graduated project) released v1.0 in Dec 2020. 🎉 • Open source & Open governance with CNCF • Based on Kubernetes control plane • 3 main feature areas ◦ Provision infrastructure declaratively using the Kubernetes API ◦ O ff er your own declarative infrastructure APIs for teams to use ◦ Run and deploy applications alongside infrastructure 
 •
  9. Crossplane fl ow AWS Azure GCP Cloud/Service Providers provider-aws Any

    providers Custom Resource/ Composite Resource api-server 3. Reconcile through AWS API provider-gcp provider-azure 2. watch desired states 1. Apply manifests Kubernetes
  10. Manage RDS through k8s API AWS Azure GCP Cloud/Service Providers

    provider-aws Any providers Custom Resource/ Composite Resource api-server 3. Reconcile through AWS API provider-gcp provider-azure 2. watch desired states 1. Apply manifests Kubernetes
  11. Interoperability of KRM KRM(Kubernetes Resource Model) kubectl provider- aws provider-

    gcp provider- azure Crossplane Kubernetes API Interoperable Ecosystem with KRM 😊 Terraform Kubernetes provider for Terraform(Alpha)
  12. Interoperability of KRM AWS Azure GCP Cloud/Service Providers provider-aws Any

    providers api-server 3. Reconcile through AWS API provider-gcp provider-azure 2. watch desired states Kubernetes Terraform Kubernetes provider for Terraform(Alpha) 1.3. Apply manifests 1.1. Apply manifests
 written in HCL 1.2. Convert HCL to KRM
  13. OAM: Platform agnostic application model • ʮΞϓϦέʔγϣϯ͕ͲͷϓϥοτϑΥʔϜʹσϓϩΠ͞ΕΔ͔
 Λҙࣝ͠ͳͯ͘Α͍ʯΞϓϦέʔγϣϯϞσϧ • MicrosoftͱAlibaba

    Cloud͕2019೥ʹOpen Web Foundation഑ԼͰൃද[8] • ݱঢ়ɺv0.1ͱv0.2ͱ͍͏ҟͳΔspec͕ଘࡏ • v0.2͔ΒKRMʹରԠ[7] • ΞϓϦ։ൃऀɺΞϓϦӡ༻ऀɺΠϯϑϥӡ༻ऀͷ໾ׂΛ໌֬ʹ෼཭ 🎉
  14. OAM Implementations • Rudr: Implementation of OAM spec v0.1.0(previously named

    v1.0.0-alpha1 release) • Kubevera: Implementation of OAM spec v.0.2.0 • EDAS(Enterprise Distributed Application Service)
  15. Separation of Concerns Providing Applications and describing Operational Characteristics Traf

    fi c Mgmt, Deploy Policy, Auto-scaling, Identity Mgmt, Recovery… Infrastructure Capabilities: 
 On-premise? Cloud? Edge? Kubernetes? Application Dev Application Ops Infrastructure Ops
  16. Area of Concerns Πϯϑϥͷ࣋ͭಛੑΛTraitsͱ ͯ͠ఆٛ͠ParametersʹͯՄม ʹ͢Δ Traits: • Tra ffi

    c Mgmt • Deploy Policy • Auto-scaling • Identity Mgmt • Recovery • etc
  17. Towards standard k8s app model[9] • Deploy K8s app with

    cloud service - entirely from k8s API
  18. History of OAM & Crossplane Microsoft and Alibaba Cloud Announce

    OAM v0.1 & Rudr Oct 2019[12] Microsoft and Alibaba Cloud Join Crossplane community May 2020[13] Rook creators launch Crossplane[11] Dec 2018 Rudr deprecation[14] And OAM v0.2 release Rudr’s succesor KubeVela 1.0 March 2021 Crossplane 1.0 Dec 2020 Crossplane adopt OAM at Crossplane v0.11 May 2020 🎉 🎉 🎉
  19. 3rd Crossplane Community Day Third Crossplane community day: KubeCon EU

    co-located event will be held in May 4, 2021[15] 2nd Crossplane Community Day[16]
  20. References • [1] Infrastructure as Code ――Ϋϥ΢υʹ͓͚Δαʔό؅ཧͷݪଇͱϓϥΫςΟε: https://www.oreilly.co.jp/books/ 9784873117966/ •

    [2] Cloud Native Ecosystemͷ੒ख़౓͔ΒݟΔ2021೥ͷಈ޲: https://qiita.com/iaoiui/items/6e1293d656735b062ed2 • [3] CNCF Cloud Native Landscape: https://landscape.cncf.io • [4] Crossplane: https://crossplane.io • [5] https://puppet.com/resources/report/2020-state-of-devops-report/ • [6] https://zenn.dev/iaoiui/articles/fd8417b9fba25ad29e8f • [7] https://github.com/oam-dev/spec/blob/master/SPEC.md#versioning • [8] https://azure.microsoft.com/en-us/resources/videos/ignite-2019-mark-russinovich-presents-the-future-of-cloud- native-applications-with-oam-and-dapr/
  21. References • [9] https://sched.co/ZelS • [10] https://docs.google.com/presentation/d/1PxZweRpB6HElxd9qGK1McboGZ1kluCDCS5qxgYnX5f0/ edit#slide=id.g536db6d9f2_0_86 • [11]

    Crossplane CNCF Project Overview: https://docs.google.com/presentation/d/ 1PxZweRpB6HElxd9qGK1McboGZ1kluCDCS5qxgYnX5f0/edit#slide=id.g9303db1085_1_55 • [12] https://cloudblogs.microsoft.com/opensource/2019/10/16/announcing-open-application-model/ • [13]https://blog.crossplane.io/welcome-microsoft-and-alibaba-to-the-crossplane-community/ • [14]https://github.com/oam-dev/rudr/issues/559 • [15]Crossplane community day 2020: https://events.crossplane.io/crossplane-community-day-modernizing-with-api-centric- control-plane-post • [16]Crossplane community day 2021: https://events.linuxfoundation.org/crossplane-community-day-europe/
  22. References • https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/ resource-management.md • Growth and Design Patterns in

    the KRM API Ecosystem: https://static.sched.com/hosted_ fi les/ kccncna19/5e/eric-tune-kcon-slides- fi nal.pdf • Kubevela: https://github.com/oam-dev/kubevela • https://static.sched.com/hosted_ fi les/kccncna19/5e/eric-tune-kcon-slides- fi nal.pdf • Kubernetes as a Framework for Control Planes featuring Brian Grant, Google: https://blog.upbound.io/how-the- kubernetes-resource-model-enables-con fi guration-as-data/