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

Building and Operating Cloud-Native Applications

Building and Operating Cloud-Native Applications

Talk at PHP conference London, see https://www.phpconference.co.uk/schedule/

Michael Hausenblas

February 17, 2018
Tweet

More Decks by Michael Hausenblas

Other Decks in Technology

Transcript

  1. Hit me up on Twitter: @mhausenblas 2 • Developer Advocate

    @ Red Hat (Go, Kubernetes, OpenShift) • Developer Advocate @ Mesosphere • Chief Data Engineer @ MapR • Applied research (IE/AT) • Nowadays mainly Go (Python, Node, PHP, Java, C++) • Dev turned ops $ whois mhausenblas
  2. Hit me up on Twitter: @mhausenblas 10 • Manual ==

    brittle & error-prone • Playbooks? • Agility? • Bus factor? Automation
  3. Hit me up on Twitter: @mhausenblas 12 Immutable infrastructure •

    Good old pets vs cattle • Idempotence?! • Increased reproducibility
  4. Hit me up on Twitter: @mhausenblas 13 APIs The API

    (not the implementation) is important! Examples: • HDFS • GraphQL • Kubernetes API
  5. Hit me up on Twitter: @mhausenblas 14 APIs • Decoupling

    • Open, standardized?! • Declarative?
  6. Hit me up on Twitter: @mhausenblas 16 • Cloud Native

    computing • Containers & container orchestration • Service meshes • Data meshes • Observability Technologies
  7. Hit me up on Twitter: @mhausenblas 20 Maybe not …

    twitter.com/mhausenblas/status/879752918131519488
  8. Hit me up on Twitter: @mhausenblas 23 … and beyond

    • portability between environments • appropriate unit of deployment such as a container or a function • typically dealing with distributed systems • elasticity—workload-dependent auto-scaling 301.sh/cloud-native-def-wip
  9. Hit me up on Twitter: @mhausenblas 24 Portability • Avoid

    platform lock-in • Enable hybrid cloud deployments • multi-cloud • on-premises and cloud
  10. Hit me up on Twitter: @mhausenblas 25 Unit of deployment

    • Physical servers • VMs • Containers • Functions
  11. Hit me up on Twitter: @mhausenblas 26 Distributed systems •

    Scale out on commodity hardware • Fallacies of distributed computing
 en.wikipedia.org/wiki/Fallacies_of_distributed_computing • Stateful services shard inherently
  12. Hit me up on Twitter: @mhausenblas 28 Containers 101 containerz.info

    … a process group on steroids using namespaces, cgroups, and a copy-on-write filesystem
  13. Hit me up on Twitter: @mhausenblas 30 Container orchestration kubernetes.io

    • Container lifecycle management • Declarative, state-driven • Extensible, modular API • Robust, flexible, scalable
  14. Hit me up on Twitter: @mhausenblas 32 Service meshes istio.io

    • Traffic management • Monitoring & tracing • Policy enforcement • Service identity and security • No app code changes
  15. Hit me up on Twitter: @mhausenblas 35 Data meshes dotmesh.com

    • Data state management across microservices • Operating on a filesystem level • Externalize snapshotting • Troubleshooting, debugging
  16. Hit me up on Twitter: @mhausenblas 38 • Monitoring •

    Logging • Distributed tracing Observability
  17. Hit me up on Twitter: @mhausenblas 40 Current state build

    artefacts build tooling runtime config code creds CI/CD pipeline |||| code repo binary bare metal server/VMs
  18. Hit me up on Twitter: @mhausenblas 41 The cloud native

    way build artefacts build tooling runtime CI/CD pipeline |||| code repo container container orchestrator +
 service mesh config code creds container image manifest container runtime manifest service mesh manifest container
 registry
  19. Hit me up on Twitter: @mhausenblas service mesh manifest container

    runtime manifest container image manifest 42 Cloud native dev & ops maturity model code, config, creds service mesh container orchestrator container registry repo CI/CD artefacts tooling
  20. Hit me up on Twitter: @mhausenblas 43 Development setups remote

    local cluster dev cluster dev cluster dev dev cluster pure off-line proxied live pure on-line
  21. Hit me up on Twitter: @mhausenblas 44 Development setups www.telepresence.io

    vapor-ware.github.io/ksync/ www.openshift.org kubed.sh kedgeproject.org ksonnet.io Minikube Minishift Docker Community Edition for Mac and Windows
  22. Hit me up on Twitter: @mhausenblas 46 Serverless is spelled

    `F` `a` `a` `S` (Function-as-a-Service)
  23. Hit me up on Twitter: @mhausenblas 49 Challenges • Fast-moving

    ecosystem • Observability • Security • Organizations
  24. Hit me up on Twitter: @mhausenblas 52 • What is

    Cloud Native?
 http://container-solutions.com/what-is-cloud-native/ • Understanding Cloud Native Infrastructure
 https://www.infoq.com/articles/cloud-native-infrastructure • What is a Service Mesh, and Do I Need One When Developing Cloud Native Systems?
 https://skillsmatter.com/skillscasts/10668-looking-forward-to-daniel-bryant-talk • CNCF Webinars
 https://www.cncf.io/community/recorded-events/ Articles