Effective Containerisation From Development To Production
Courseware for a Docker & Kubernetes workshop.
- Target Audience
- Workshop Objectives
- About Me
- Get Started
Developer-onboarding taking ages because of required supporting services? Having issues with “but it works on my machine“-like complaints? Searching for a way to deploy your application reliably and in an automated manner? Sounds like you could do with some container technology!
Enter the world of containerisation in both development and production environments with this short workshop which will cover building container-based deployments friendly applications, containerising services effectively, and deploying them - all with good ol’ shell scripting automation for good taste.
You can find the slides for this workshop at the bit.ly url, http://bit.ly/gtcdk8s.
The canonical workshop material is here at http://github.com/zephinzer/gtcdk8s.
A prettified version using Jekyll is here at http://gtcdk8s.joeir.net.
This is a hands-on workshop with the most utility for software engineers looking into the art of DevOps or seeking to learn how container technologies can result in developer happiness.
- Cloud Native Applications
- Application Containerisation
- Environment Provisioning
- Deploying Containers in Production
|Understand what goes into being cloud native||Understanding the need for health checks, centralised logging and distributed tracing|
|Creating a container image with Docker||Understand concepts in container images such as system encapsulation, image layering, and quick-win best practices of writing image files|
|Orchestrating multiple container images with Docker||Understand challenges in orchestrating images and provisioning of an environment|
|Running a local Kubernetes||Learn what is and how to use MiniKube|
|Deploying with Kubernetes||Learn common Kubernetes resources and manifests|
Workshop participants should:
- Be comfortable working with the command line
- Have experience with software engineering
- Have a little experience with deployment and operations
Other roles are welcome too, but you might not get the most out of this!
- Do note that Windows is strictly not supported due to limitations in time.
- This workshop will only support MacOS (get a Mac on Carousell).
- Use Linux at your own risk (it works, with enough effort).
- Virtual machine setups will not work for section 4 of this workshop due to MiniKube itself being run in a VM.
IMPORTANT Follow the instructions at THIS PAGE ON SETTING UP to get your machine ready for the workshop. This will take roughly an hour at most.
You will need the following software installed before the workshop starts:
- Docker Engine (with Docker Compose)
You should have cloned this repository into your local machine before the workshop begins. The instructions are in the setup page.
As conference WiFi can be flaky, please also download a copy of all resources being used:
- Docker images
About The Facilitator
Joseph is a DevOps engineer hailing from the Agile Consulting & Engineering tribe at Government Digital Services. He spends his day optimising and maintaining CI/CD pipelines and making the codebase easier to work with for developers.
He enjoys evangelising on Agile and deployment-related affairs in software engineering, and thinks the world would be a better place if more developers understood DevOps and made it a culture instead of a role.
Check out his articles at https://medium.com/@joeir and his (wasteland of) projects at https://github.com/zephinzer.
Code in this repository is licensed under the MIT license as per the LICENSE file.
Content in this repository is licensed under the Creative Commons Attribution-ShareAlike 3.0 Singapore license.