In this episode Kenneth turns the table on Kevin and chats about a recent successful migration between clouds and architectures.
Kevin and his team at Platform45 recently migrated a well established application (www.resourceguruapp.com) from AWS and EngineYard to Google Container Engine. This was a non-trivial migration from a managed platform and a collection of third-party services to a containerised deployment with minimal external dependencies. We talked about the challenges they faced (turned out to be not too many), the new stack they're building on and how Google Container Engine works. We dive deeply into the various components offered by Google's Kubernetes project, the open source technology that powers Google Container Engine, and how Kevin leverages them to take control of his environment.
Technology aside, this does highlight the fact that it is possible to move between cloud providers. The team retooled their deployments to take advantage of Kubernetes' rolling deployments, they migrated their state from AWS to Google Cloud, communicated clearly with their customers and handled one unexpected event gracefully.
In this age of containerised deployments this could potentially become the norm, whether you move between your own data centers, or between clouds.
Here are some of the resources mentioned in the show:
- Engine Yard - https://www.engineyard.com
- Google Container Engine - https://cloud.google.com/container-engine/
- Deis - http://deis.io
- Kubernetes - http://kubernetes.io
- Kubernetes on GitHub - https://github.com/kubernetes/kubernetes
- Large-scale cluster management at Google with Borg - http://research.google.com/pubs/pub43438.html
- Sacrificial architecture by Martin Fowler - http://martinfowler.com/bliki/SacrificialArchitecture.html
- Netflix Chaos Monkey - https://github.com/Netflix/SimianArmy/wiki/Chaos-Monkey
- Running Kubernetes on a Pi cluster - https://www.youtube.com/watch?v=AAS5Mq9EktI
- ZFS is Smashing Baby! - https://www.youtube.com/watch?v=CN6iDzesEs0
- HAProxy - http://www.haproxy.org/
- nginx - http://nginx.org/
- Gentoo Linux - https://www.gentoo.org/
- Debian Linux - https://www.debian.org/
- Redis - http://redis.io/
- openredis - https://openredis.com/
- Google Cloud SQL - https://cloud.google.com/sql/
- MySQL - https://www.mysql.com/
- Episode 21 on Devops, Ansible & Automation - https://soundcloud.com/zadevchat/episode-21-ansible-devops-and-automation
- Episode 31 on 12 Factor apps - https://soundcloud.com/zadevchat/episode-31-polarbearjs-and-12factor-apps-with-ben-janecke
- Datadog - https://www.datadoghq.com/
- NewRelic APM - http://newrelic.com/application-monitoring
- Using Kubernetes namespaces to manage environments - https://www.ianlewis.org/en/using-kubernetes-namespaces-manage-environments
- A technical overview of Kubernetes (CoreOS Fest 2015) - https://www.youtube.com/watch?v=WwBdNXt6wO4
The aforementioned video, A technical overview of Kubernetes, by Brendan Burns is well worth watching to help demystify what Kubernetes is and how it can help you get the most of containerising your deployments.
Thanks for listening!
See all past picks on our picks page.