Containers are a powerful tool for developing and managing software. When combined with DevOps practices, it is possible for organizations to efficiently deliver applications and services at high velocity.
This training course introduces containers and two of the most popular tools for their management and orchestration: Docker and Kubernetes. They will be introduced to the core components of both Docker and Kubernetes as they apply to the software development process.
Topics covered include: containers, tools for local management, pods, labels, volumes, networking, replication controllers, services, and stateful sets. Students will get hands-on experience with how the technologies can be used to deliver software following microservices and DevOps strategies, and will create a complete continuous integration and depoyment (CICD) pipeline showing how Docker and Kubernetes can be used to manage the software lifecycle. Components of the broader software ecosystem including Ansible, Jenkins, and Spinnaker will also be covered as they pertain to Docker/Kubernetes.
At the end of the course, participants and teams will understand how to build secure, robust, highly available services that are resilient and able to adapt to rigorous application demands. They will also be able to show how components of the ecosystem can be combined to create larger systems addressing complex use-cases.