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

コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望 / Container & Ser...

コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望 / Container & Serverless

Yoichi Kawasaki

September 07, 2018
Tweet

More Decks by Yoichi Kawasaki

Other Decks in Technology

Transcript

  1. D @yokawasa https://github.com/yokawasa C :A // 12 0 a l

    a V t a V b aG k 2 u 7 1 B l k o A r b k zn c e s
  2.  2013 Docker  2008 LXC 2014 2015 2016 2017

    2018 Google k8s CNCF  2013.6 2014.6 k8s1.0 2015.7 Docker Swam 2014.12 Mesosphere DC/OS 2016.4 CRI (Container runtime interface) Docker k8s  2017.10 k8s1.10 2018.3 EKS, AKS GA 2018.6 k8s CSI ( Container storage interface) CNI (Container network interface) OCI (open container initiative)    ( Docker & Kubernetes  )
  3. Kubernetes kubectl apiserver Web UI etcd scheduler Controller manager kubelet

    kube proxy Container LB CLI# $ /5)$&- KVS 76CRUD.% Pod$( , *2#"$$ $ Pod30 Service VIP ! $ # +8   '.%apiserver41 API Container runtime kubelet kube proxy Container $ Pod30 Service VIP ! $ # Container runtime https://kubernetes.io/docs/concepts/overview/components/
  4. Layer 1 Layer 2 Layer 3 Layer 4 Layer 5

    Layer 6 Layer 7 : Gabe Monroy on Twitter: "Strata of the Container Ecosystem https://twitter.com/gabrtv/status/539805332432637952
  5. Docker'Kubernetes  IDC Japan# 2018    &% $

    https://www.idcjapan.co.jp/Press/Current/20180614Apr.html Docker"!&% $(% ) 41%
  6. https://twitter.com/jbeda/status/993978919907770368 https://twitter.com/jbeda/status/993978924890640388 Kubernetes https://thenewstack.io/has-kubernetes-already-become-too-unnecessarily-complex-for-enterprise-it/ “When we started with YAML we

    never intended it to be the user-facing solution,” Beda wrote. “We saw it as ‘assembly code.’ I’m horrified that we are still interacting with it directly.
  7.  2014 2015 2016 2017 2018 AWS Lambda 2014.11 Google

    Cloud Functions Azure Functions 2016.2 2016.3 IBM OpenWhisk Serverless Framework 2015.10 2016.12 OpenWhisk (OSS) by IBM Fn Project (OSS) by Oracle 2017.10 CNCF Serverless Whitepaper  2018.2
  8. " #8:>Pay-as-you-go?  3/1$& •     =

    .9&4<*+2 (,-7)  3/! 1$&'5    6%! ;0!1$&
  9. • Cloud Native Computing Foundation )CNCF*Serverless Working Group  •

    Serverless CaaSPaaS# !"%" &(   CNCF Serverless Whitepaper Github https://github.com/cncf/wg-serverless/tree/master/whitepapers $'CNCF Serverless Whitepaper v1.0 http://www.atmarkit.co.jp/ait/series/9263/ https://www.slideshare.net/jacopen/k8spaasserverless
  10. `& ,8' 2VA 3?A\+TRTO(YO?HIn) RPO(3? !YO) A]"D=A #FRPSYO !h;Cl@D= jV(6A

     bW*QjVXao7I9@jV^01 [_A [_IK%_\+JS:mG<[_#k   ! ! .Lg)/>dc$RMZ"f e"Xa B4-UEiPNrIPAspP]`& # pP]qYr5qYs,8'
  11. &A,/ / CaaS 'C1C>( / FaaS &A,#(-GQ (,C-5=ƒ>(ƒ‚ (,C-5=B>(| auU

    ZLk (,C-5=UZ bvh}_W€ (,C-5=@C$?C.M  UZLk‚ GQ; 6;<B prlfW‚ lfW~V€ 7;+-5!C9GQlfWF jI2*CA &A4:C-<)C(V`jI  .=`{&(-gd 8A-gcTm2*CA  .=`{&(-Dn PzTm&(-€ [kB\X[ €wtK "C-(%C=qSLk qSsE€ &C=.(*C-N 0 ,6"C-(%C=UZ qSsEF OY[ OY[qSLk qSsE€ 0 ,6OY[]  qSsEF xeHR[ A5;^yJ€ioB->C( lfW€ A5;^yJFioB->C '3<,7;+-5!C9GQ
  12. 3*/1;= •  %' • % >? • 7!.D E1;=

    • *;,(* • $)* • A5 &* 0"8 • C6A5" •  :F • 9/.D • :2# • -%@4 B+ <
  13.   APP       

    CI/CD$ "    !# VM /   (Lift & Shift)      &%
  14. •  ) # '! • (,  +* •

    +* • "   • %&$   (CI/CD)
  15. %) 8/@3  • !')=<  • A2?59 !$ 9

    %)B>* -0(6; • )!" .+9 • Istio / Linkerd / Conduit %),4 :> • &)%) 14(74 • #FaaS  Logic App/Durable Functions (Azure), AWS Step Functions, Google Composer, etc.
  16. NoOps = No "Uncomfortable" Ops 2'-3"3 !3($7LFWG?91$+2$%, <=9Z!3($1*0<=  4:

    UND@Q • #$&,UN6JY;H9 • X>SIUNJ8  5 BAJ8M CTE   • P FWVO   → UNKRVO)/ 3#.2VO
  17. • Events • Workflows / Function Composition • Event Orchestration

    / Chaining • Function Signatures CNCF Serverless WG / Proposals https://github.com/cncf/wg-serverless/tree/master/proposals
  18. CNCF Serverless WG+8 L !(*#?@3  0K-> • C $Q

    !( G,MA9R” interoperability”SH/FE • FaaS "*%Event-Driven$PD):5etc. • !(  '& OJ4I  • =B?@(HTTP, AMQP, MQTT, SMTP)OSS(Kafka, NATS)!(* 6<(AWS Kinesis, Azure Event Grid), etc. https://cloudevents.io/ https://github.com/cloudevents/spec/blob/master/json-format.md ( &: CloudEvent JSON (dataN1;72 .)
  19. Kubernetes control pane Application architect Infrastructure architect Azure Container Instances

    (ACI) ACI Connector Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod VM VM VM VM Deployment/ tasks Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Waste Waste Waste Waste Pod Pod Pod Pod Azure Container Instance ACI Connector for KubernetesVirtualKublet  Kubernete   
  20. “observability is a measure of how well internal states of

    a system can be inferred from knowledge of its external outputs” Wikipedia: https://en.wikipedia.org/wiki/Observability