I’m just back from Cloud Native 2019 and wanted to a round up off the covered topics and trends apparent from this years batch of speaker topics. (Click the names of speakers to see the VOD of their talk).
- Kubernetes and it’s continuing role of taking the pain out of managing Docker at scale.
- The move to serverless workflows.
- Using multiple public clouds & reducing vendor lock-in
As a lowly mobile app developer I didn’t know what Kubernetes was before this conference but you can be damn sure I had heard people talk about it. No one could explain it in simple terms to me, so now I will make an attempt to be the first person in the history of the world to do so;
Kubernetes is a piece of software to help you manage docker running on a cluster of VMs.
For some reason, the geniuses behind cloud computing decided they needed to confuse people by calling this container-orchestration (I assume in a thinly-veiled attempt to collect consultancy fees to explain it to businesses)
Write some code, deploy some code, don’t even worry your little head about servers.
That is the premise behind serverless, a technology designed to make the workflow around deploying code fast, while reducing the ops and developer burden. With serverless, there still is a server - but you don’t need to worry about that. Scaling, server environments and redundancy are all concerns that are abstracted when using serverless.
Lambda (AWS), Cloud Functions (GCP) & Azure functions (Azure) are the public cloud offerings for Serverless.
Ebru Cucen gave a great talk about some of the issues with deploying a serverless technology solution. Pricing remains to be the most difficult part of serverless to manage, and all three major providers have really confusing terms around Serverless pricing. The increase in latency of serverless solutions was also highlighted in this talk.
This was the topic of the day one keynote by Sam Newman. it seems the solution to not getting locked into one cloud provider is to describe your infrastructure as code, meaning you can cut ties and run from AWS, run some tooling with the input as a YAML file containing the pods / servers / clusters / images / whatever you wish to build up. Solutions to do this have existed for ages in the form of Ansible & Puppet, but the idea of using VM’s makes cloud people a bit antsy, so now they are reinventing the wheel with new technologies to do this.