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

What even is Cloud Native?

What even is Cloud Native?

In this presentation I give an overview of the changes to application architectures that are driving adoption of cloud native approaches and discuss some of the organisations and technologies that are leading in this space.

This talk was given at the Glasgow Cloud Native MeetUp in June 2017.

Avatar for Keith Sharp

Keith Sharp

June 20, 2017

Other Decks in Technology

Transcript

  1. http://www.passback.co.uk Monolith to MicroService In software engineering, a monolithic application

    describes a single-tiered software application in which the user interface and data access code are combined into a single program from a single platform. Microservices is a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services. In a microservices architecture, services should be fine-grained and the protocols should be lightweight. https://en.wikipedia.org/wiki/Microservices https://en.wikipedia.org/wiki/Monolithic_application
  2. http://www.passback.co.uk 12 Factor Applications Codebase: One codebase tracked in revision

    control, many deploys Dependencies: Explicitly declare and isolate dependencies Config: Store config in the environment Backing Services: Treat backing services as attached resources Build, Release, Run: Strictly separate build and run stages Process: Execute the app as one or more stateless processes Port Binding: Export services via port binding Concurrency: Scale out via the process model Disposability: Maximize robustness with fast startup and graceful shutdown Dev/Prod Parity: Keep development, staging, and production as similar as possible Logs: Treat logs as event streams Admin Processes: Run admin/management tasks as one-off processes https://12factor.net
  3. http://www.passback.co.uk Containers A filesystem image, that contains a program, that

    is executed as a process. Namespaces Control Groups Capabilities Seccomp Union Filesystems
  4. http://www.passback.co.uk Docker • dotCloud Inc. was founded in 2010 and

    became Docker Inc. in 2013 • The Docker project made it’s first release in March 2013 • Provides a daemon process, a CLI, and a registry for running containers • Docker Inc. has a commercial offering called Docker Enterprise Edition • In April 2017 Docker Inc. launched the Moby Project
  5. http://www.passback.co.uk Container Standards Open Container Initiative • Launched in June

    2015 Tasked with creating two container standards: • A runtime standard • An image standard Both standards are almost complete Members include: • Docker, HPE, Google, AWS, Red Hat, SUSE, CoreOS • Lots of others…
  6. http://www.passback.co.uk Cloud Native Computing Foundation • Founded in 2015 under

    the Linux Foundation “The Foundation’s mission is to create and drive the adoption of a new computing paradigm that is optimized for modern distributed systems environments capable of scaling to tens of thousands of self healing multi-tenant nodes.” • Kubernetes • Prometheus • Open Tracing • Fluentd • Linkerd • GRPC • CoreDNS • Containerd • Rkt • CNI
  7. http://www.passback.co.uk GRPC • High performance RPC framework originally developed by

    Google • Based on Protobufs (also by Google) • Uses HTTP/2 as the transport • Pluggable auth, tracing, load balancing, and health checking • Support for 12 languages // The greeting service definition. service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {} } // The request message containing the user's name. message HelloRequest { string name = 1; } // The response message containing the greetings message HelloReply { string message = 1; }
  8. http://www.passback.co.uk Rkt • Originally developed by CoreOS, donated to the

    CNCF is March 2017 • An application container engine • Operates on the concept of a pod (a group of containers) • Operates using multiple stages, can plug in different isolation technologies - lkvm • Makes use of systemd-nspawn
  9. http://www.passback.co.uk Containerd Containerd RunC Linux Process Registry • Open-sourced by

    Docker Inc. in December 2016, donated to the CNCF is March 2017 • Pulls container images from a registry • Asks RunC (or Rkt) to instantiate a container from an image • Controlled using a GRPC API • Controllers include: Docker Damon; Kubernetes CRI-O; a CLI
  10. http://www.passback.co.uk Prometheus • Prometheus is a monitoring systems and time

    series database • Originally developed a SoundCloud to mimic Google’s Borgmon • Uses a multidimensional, label based, data model • High performance query language • Use a pull mechanism for metric collection • Does not support long term metric storage or HA
  11. http://www.passback.co.uk Kubernetes • Container orchestration system • Originally developed by

    Google • Can scale - 5000 nodes, 150,000 containers • Can be complex to deploy: • Minikube • Google Container Engine (GKE) • Kubernetes the Hard Way • Kops
  12. http://www.passback.co.uk Attend the next MeetUp: Join the Slack channel: Follow

    us on Twitter: https://www.meetup.com/CloudNativeGlasgow/ https://devtechscot.slack.com @DevTechScot Pair Programming Glasgow DevOps Glasgow Cloud Native Glasgow MongoDB Glasgow