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

Docker / Kubernetesによる Cloud Nativeな開発と未来 - Developers Boost at 12/15 / devboost-k8s-cn

Docker / Kubernetesによる Cloud Nativeな開発と未来 - Developers Boost at 12/15 / devboost-k8s-cn

https://event.shoeisha.jp/devboost/20181215/session/1903/

Developers Boost~U30エンジニアの登竜門~

近年Dockerから始まったコンテナ技術やKubernetesは急激に普及し、大手クラウドプロバイダー3社(GCP、Azure、AWS)がマネージドKubernetesサービスをリリースしたことからも、コンテナプラットフォームとしてデファクトスタンダードとなったことを物語っています。
また、Linux FoundationのExecutive DirectorでもあるJim Zemlin氏が「Kubernetes is becoming the Linux of the cloud」とも語っています。

Kubernetesはインフラエンジニアのためだけではなく、ソフトウェアエンジニアが利用するものでもあります。
このセッションでは、今後のCloud Nativeな開発に必要不可欠なKubernetesについて説明し、様々なエンジニアがKubernetesをベースとした開発で得られるメリットと未来について語ります。

Masaya Aoyama (@amsy810)

December 15, 2018
Tweet

More Decks by Masaya Aoyama (@amsy810)

Other Decks in Technology

Transcript

  1. Masaya Aoyama
    CyberAgent adtech studio
    Docker / KubernetesʹΑΔ
    Cloud Nativeͳ։ൃͱະདྷ
    Developers Boost at 12/15
    MasayaAoyama @amsy810

    View full-size slide

  2. Cloud Native Days Tokyo co-chair
    Cloud Native Meetup Tokyo Organizer (+ JKD+ KubeCon )
    Japan Container Days v18.04 Keynote (+ IPSJ ComSys 2018)

    for Kubernetes
    CKA #138CKAD #2
    OpenStack / Kubernetes Contributor
    Masaya Aoyama (@amsy810)
    Infrastructure Engineer

    View full-size slide

  3. Instagramable
    Kubernetes

    View full-size slide



  4. page
    04



    :
    10:20
    :
    2:30

    12:10 15:30 18:05
    SEA !
    Kubernetes
    Contributors Summit
    KubeCon +
    CloudNativeCon
    NRT!SEA
    "
    # NRT

    View full-size slide

  5. What is Container (Docker)?
    Docker
    Container Orchestration Engine

    View full-size slide

  6. Docker
    • Docker-Application Container
    '0*& $2
    • %(#

    6531"
    • DevOps/+4),
    / !.
    page
    06

    View full-size slide

  7. Docker Immutable Infrastructure
    page
    07
    FROM centos:7
    RUN yum -y install epel-release
    RUN yum -y install nginx
    COPY nginx.conf /etc/nginx/
    ENTRYPOINT ["nginx", "-g", "daemon off;"]
    Build Once,


    Docker Image

    View full-size slide

  8. Docker Immutable Infrastructure
    page
    08
    Build Once, Run Anywhere
    Docker Image
    CentOS 7
    (3.x Kernel)
    Ubuntu 18.04
    (4.x Kernel)

    View full-size slide

  9. Docker Swarm mode
    Container Orchestration Engine

    View full-size slide

  10. Container Orchestration
    Engine (4/0
    • 3*Docker2/
    • #
    $ #

    $ # / $
    $ #
    • "$ # $
    • #-.15
    • 6&+!$ #
    • $
    • "$# #
    • $,')%2/

    View full-size slide

  11. What is Cloud Native?
    CNCF and Cloud Native
    Cloud Native Ecosystem

    View full-size slide

  12. CNCF and
    The Linux Foundation
    • KubernetesThe Linux Foundation

    CNCF




    View full-size slide

  13. Cloud Native
    page
    013
    Cloud native technologies empower organizations to build and run scalable
    applications in modern, dynamic environments such as public, private, and hybrid
    clouds. Containers, service meshes, microservices, immutable infrastructure, and
    declarative APIs exemplify this approach.
    These techniques enable loosely coupled systems that are resilient, manageable,
    and observable. Combined with robust automation, they allow engineers to make
    high-impact changes frequently and predictably with minimal toil.
    The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by
    fostering and sustaining an ecosystem of open source, vendor-neutral projects. We
    democratize state-of-the-art patterns to make these innovations accessible for
    everyone.
    CNCF Cloud Native Defenition v1.0, CNCF, 2018-11-28
    (https://github.com/cncf/toc/blob/master/DEFINITION.md)

    View full-size slide

  14. Cloud Native8
    page
    014
    Cloud native technologies empower organizations to build and run scalable
    applications in modern, dynamic environments such as public, private, and hybrid
    clouds. Containers, service meshes, microservices, immutable infrastructure, and
    declarative APIs exemplify this approach.
    These techniques enable loosely coupled systems that are resilient, manageable,
    and observable. Combined with robust automation, they allow engineers to make
    high-impact changes frequently and predictably with minimal toil.
    The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by
    fostering and sustaining an ecosystem of open source, vendor-neutral projects. We
    democratize state-of-the-art patterns to make these innovations accessible for
    everyone.
    CNCF Cloud Native Defenition v1.0, CNCF, 2018-11-28
    (https://github.com/cncf/toc/blob/master/DEFINITION.md)
    • .0
    • &
    • /-
    • 4*

    • +3 71 )%5
    ($6
    "!'2
    Open Scalable#,

    View full-size slide

  15. Kubernetes is key product for Cloud Native Computing
    Cloud Native Ecosystem

    View full-size slide

  16. What is doing Kubernetes?
    Declarative Code & APIs
    Self-Healing
    Rolling Update – Automation & Immutable Infrastructure
    ReplicaSet
    Service – “type: LoadBalancer”

    View full-size slide


  17. page
    018

    Pod =

    View full-size slide

  18. Kubernetes
    page
    019
    Design Principles, Kubernetes Community, 2017-11-04
    (https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/principles.md)
    02
    03
    01
    Self Healing

    ) #"

    Automation & Immutable Infrastructure
    Immutable Infrastructure& #
    Declarative Code & API
    Manifests$"
    %'API
    !(
    Infrastructure as Code

    View full-size slide

  19. Declarative Code and APIs
    page
    020
    Developer
    Register
    YAML Manifest
    Kubernetes Cluster

    Manifests API
    Infrastructure as Code
    $ kubectl apply –f
    manifest.yaml

    View full-size slide





  20. Load Balancer

    View full-size slide

  21. ReplicaSet Self-Healing
    page
    023
    • ReplicaSet Replica

    • = Node Node

    View full-size slide

  22. ReplicaSet Rolling Update (Automation)
    page
    024

    #

    • Immutable Infrastructure
    • "
    Load Balancer
    DeveloperYAML!

    View full-size slide

  23. ReplicaSet Rolling Update (Automation)
    page
    025



    • Immutable Infrastructure

    Load Balancer

    View full-size slide

  24. ReplicaSet Rolling Update (Automation)



    • Immutable Infrastructure

    Load Balancer

    View full-size slide

  25. ReplicaSet Rolling Update (Automation)
    page
    027



    • Immutable Infrastructure

    Load Balancer

    View full-size slide

  26. Keypoints
    page
    028
    • KubernetesGoogle=/A3.
    + #(&$,'Borg%,OSS1

    → ;*,),"25<>1 ?01846
    • 7@1 $!*,9-YAML:
    → Infrastructure EngineerBOpsC.
    Server-side Engineer BDevC.

    View full-size slide

  27. Other topics
    Microservices and Service Mesh
    Kubernetes also like framework and more extensible
    Serverless and ML Ops

    View full-size slide

  28. Microservice Architecture
    page
    030


    ProductPage Reviews
    Details
    Ratings
    HTTP/gRPC
    HTTP/gRPC
    HTTP/gRPC

    View full-size slide

  29. page
    031
    500+ microservices
    The Case of Chaos, Bruce Wong, 2014-12-19, (https://www.slideshare.net/BruceWong3/the-case-for-chaos)
    The History of the Service Mesh, The New Stack, 2018-2-13, (https://thenewstack.io/history-service-mesh/)

    View full-size slide

  30. Service Mesh Architecture (generally)
    page
    032
    • Microservice
    • Microservice with Service Mesh (for Observability)

    View full-size slide

  31. Service Mesh
    • Microservice

    • Traffic Shifting (ex, Canary release)
    • Circuit Break
    • Fault Injection
    • Rate Limit
    • Retry
    • mTLS
    Example of Canary Release

    View full-size slide

  32. Kubernetes also like framework
    Developer
    Register YAML Manifest
    Create
    Managed Service Instances
    Create Sharded MySQL Cluster
    on the Kubernetes Cluster
    as Container

    View full-size slide

  33. Kubernetes is more extensible
    page
    035
    C A D C
    DBC B DA C
    A C A A F A
    D2 F
    C
    C BB
    & A BB
    C
    A C
    A C
    DBC A &
    A C
    2 A CB
    A A A &
    B A
    AD B
    &B C D C C
    DC C C 2
    Kubernetes

    Boring Kubernetes

    View full-size slide

  34. Kubernetes is more extensible
    page
    036
    B C B
    CAB A C 2 B
    B AA
    & AA
    2F B
    B
    B D
    CAB &
    D 2 B
    2BA
    D 2 &
    A
    C A2
    &A B C B B 2F
    CB B B

    View full-size slide

  35. Future of Kubernetes
    Kubernetes is becoming de-facto standard in the future?

    View full-size slide

  36. page
    038
    KubeCon + CloudNativeCon
    KubeCon + CloudNativeCon Barcelona 2019 Call for Proposals (CFP) Is Open, CNCF, 2018-11-28
    (https://www.cncf.io/blog/2018/11/16/kubecon-barcelona-2019-call-for-proposals-cfp-is-open/)

    View full-size slide

  37. Google Kubernetes Engine
    Managed Kubernetes Serivce
    Azure Kubernetes Service
    2014-11 2017-02 2017-11
    Amazon Elastic Container
    Service for Kubernetes

    View full-size slide

  38. page
    040
    CNCFStandardization
    01.





    " (!)
    OCI v1.0 02.


    #

    CRI 03.

    #

    CSI 04.

    #

    CNI

    View full-size slide

  39. page
    041
    Kubernetes for Enterprise

    Monzo Bank
    • Kubernetes + Linkerd (Service Mesh)
    Ref: https://monzo.com/blog/2016/09/19/building-a-modern-bank-backend/

    View full-size slide

  40. CNCF Community Presentation, CNCF, 2018 (https://github.com/cncf/presentations)

    View full-size slide

  41. 3 I H uNs P
    /D 6 IBK c a io sy P
    0 C 1 DD 3 I H
    W3 I HS M
    3 I H
    & 72 uNs C ID
    9 CD H uNs
    0BH K L 4 uNs
    / B 8I uNs
    /D HI uNs 5 I I uNs
    uNs N snN
    s h l o y f fl
    y s N
    snr N
    tk ye
    & hs c N uNsu ghd
    v
    o y
    /2 /0
    fl N s 8 KB 5 HA
    3 I H dNkyl
    3 I H b

    View full-size slide

  42. Thank you for your attention
    follow me: @amsy810

    View full-size slide