CSC-PRG7951 - Docker and Kubernetes: Scaling Containerized Apps
Course Description
Master Docker and Kubernetes in this hands-on course, where you will learn to containerize applications, streamline development workflows, and manage containerized apps at scale. Discover how to package, distribute, and run applications in isolated containers with Docker, starting from the basics and advancing to real-world techniques. Then, automate deployment, scaling, and management of your containerized applications with Kubernetes, covering everything from foundational concepts to advanced orchestration. * This class requires
basic programming knowledge. *
Course Outline
- Introduction to Docker and Containers: Core concepts and significance.
- Installing and Setting Up Docker: Installation and configuration.
- Docker Containers and Images: Fundamentals, creation, and management.
- Working with Docker CLI: Mastering the Command-Line Interface.
- Creating Custom Docker Images: Writing Dockerfiles and optimization.
- Docker Compose for Multi-Container Applications: Defining and managing multi-container setups.
- Container Networking and Data Persistence: Networking, volumes, and data management.
- Introduction to Kubernetes and Architecture: Core concepts and components.
- Setting Up and Managing Kubernetes Clusters: Cluster setup, Pods, and deployments.
- Kubernetes Services, Scaling, and Security: Services, scaling, RBAC, and Helm.
Learner Outcomes
At the end of this class, you will be able to:
- Containerize applications and run them in isolated environments using Docker.
- Build custom Docker images and optimize them for performance.
- Manage multi-container applications with Docker Compose.
- Set up Docker networking and persistent storage solutions for your containers.
- Deploy and manage applications on Kubernetes orchestration platform.
- Scale applications and manage resources to handle dynamic workloads.
- Understand and apply Kubernetes concepts like Pods, Deployments, Services, and Networking.
- Implement persistent storage solutions for stateful applications.
- Secure your Kubernetes environment using RBAC, Secrets, and ConfigMap
- Utilize Helm to simplify application deployment and management.
Notes
Target Audience
This course is ideal for:
- Developers who want to learn containerization and optimize their development workflow.
- DevOps Engineers seeking to streamline deployment and infrastructure management.
- System Administrators who need to manage applications in containers and improve operational efficiency.
- Software Architects aiming to design scalable, portable, and maintainable systems.
- Anyone interested in learning and improving their understanding of modern software deployment,
Occupational Outlook
The occupational outlook for developers skilled in Kubernetes and containerization is highly promising, with 68% of IT leaders already running containers in their organizations. These skills are in high demand due to the widespread adoption of cloud-native architectures. Mastery of Kubernetes and containerization not only enhances career prospects but also ensures developers remain relevant in the evolving tech landscape.
Information Technology Continuing Education Certificate
A certificate of completion for the class will be issued to participants with at least 80% attendance, class participation, and completion of hands-on practice and projects.
Method of Instruction
Lecture with demonstration, discussion, hands-on exercises, and problem-solving. May have outside assignments.
Evaluation
Participation in class discussions and completion of skill practices in and outside of the classroom is expected.
Prerequisites
- Basic understanding of software development concepts.
- Familiarity with command-line tools is helpful but not required.
- A strong desire to learn.