Build, deploy, and run apps in Docker and Kubernetes. Use Helm to package apps. Manage multiple clusters with Rancher.
Created by: Martin Bergljung
Produced in 2020
What you will learn
- Docker fundamentals
- Building development and production Docker images
- Service communication in a Docker Network
- Automatically building Docker images with Travis CI and publish to Docker Hub
- Using Docker Compose for basic container orchestration
- Docker container deployment to Amazon Elastic Beanstalk
- Kubernetes Concepts, such as Pod, Service, Deployment, StatefulSet, ConfigMap, Secret etc.
- Kubernetes architecture and abstractions of hardware, storage, and network
- Running Kubernetes locally with Docker for Desktop on Mac and Windows and MicroK8s on Linux Desktop
- Microservices communication in a Kubernetes environment
- Using Helm to package your applications for deployment to Kubernetes cluster
- Setting up your own Helm Repository for your charts
- Deploy Helm charts automatically to Helm Repository with Travis CI
- Running Kubernetes in the Cloud with Google Cloud Platform and GKE
Overall Score : 100 / 100
After this we will refactor the application to be more decoupled, resilient and scalable by using a Microservice architecture, making the app more Cloud native. We will learn how we can build Docker images and publish them to Docker hub automatically with Travis CI. We will deploy the containerized application to the Cloud with the help of Amazon Elastic Beanstalk service. We will also look at automating the deployment to Elastic Beanstalk with Travis CI. When we deploy the application to Elastic Beanstalk we will also see how we can use AWS services such as AWS RDS, AWS Elasticsearch and AWS Elasticache instead of running these as our own containers.
Then it's time for Kubernetes. We will spend a lot of time on Kubernetes as it is the preferred choice for most people when they want to run a container workload in Production. We will write Kubernetes manifest files (YAML) to deploy the application to a Kubernetes cluster. We will look at deploying both to a local Docker for Desktop single node Kubernetes cluster and to a multi node Kubernetes cluster in the Cloud (Google GKE, Amazon Kops, Amazon EKS).
Then we will look at Kubernetes Helm that can be used to package the Kubernetes manifest files so they can be versioned and released as one entity. Learn how to use Travis CI to build docker images and deploy automatically to Kubernetes clusters. Finally see how you can manage multiple Kubernetes clusters with Rancher. Who this course is for:
I have been working with Alfresco for the past 10 years. I started out building an email integration for Alfresco, integrating Apache James, so my first experience with the product was a deep dive into coding a customisation. I then started doing consulting projects based on Alfresco and found out quite quickly that I really like the product. It is very open and allows you to build pretty much anything you can come up with (or your client can come up with!).
In 2011 I got the opportunity to write a book about Alfresco, which was a great experience as I really like to mentor, train, and educate people. I then did more consulting and got into bigger projects in the publishing space. During a couple of years I was also an instructor giving Alfresco classroom training courses. Then in 2014 I got the opportunity to write another book about Alfresco and specifically the CMIS standard that you can use to talk to the Alfresco content management system, again a great experience.
In 2015 I started working for Alfresco with all kinds of stuff, such as developing the Alfresco SDK, creating developer documentation, writing articles, talking at conferences, prototyping new features. What I really like to do is take what we develop internally at Alfresco and try and explain it in an easy and understandable way.
Since 2017 I have been working a lot with container technology as version 6.x of the Alfresco product is deployed and run with containers. The product is run locally with D