We may earn an affiliate commission when you visit our partners.
Course image
Mehmet Ozkaya

In this course, we’re going to learn how to Design and Build Cloud-Native Apps with Microservices Architecture, Kubernetes Deployments, Communications, Backing Services, CI/CD pipelines and Monitoring Patterns and Best Practices.

Read more

In this course, we’re going to learn how to Design and Build Cloud-Native Apps with Microservices Architecture, Kubernetes Deployments, Communications, Backing Services, CI/CD pipelines and Monitoring Patterns and Best Practices.

Cloud-native is a huge topic that need to organize how to digest all topics well. We will follow Cloud-Native Trial Map that starts with Containerization and Orchestrations, and continues with CI/CD, Service Meshes, Scalability, Distributed Databases.. In every step, we will follow Cloud-native Pillars, with learning Cloud-Native architecture and visit Cloud-Native tools, explore and understand these tools, design architecture with these tools and finally develop +20 Hands-on real-world project on Kubernetes clusters.

Cloud-Native Pillars Map – The Course Map

Here you can find our course map about the "Cloud-Native Pillars":

  • Microservices

  • Containers

  • Orchestrators

  • Communications (Services Mesh)

  • Backing Services (K8s Distributed Databases, Caches, Message Brokers)

  • Scalability (HPA, KEDA)

  • Devops CI/CD IaC GitOps

  • Monitoring & Observability

During the whole course we will follow these Cloud-Native Pillars with design and implementation of architectures.

Microservices:

Understand the basics of microservices architecture, its benefits, and how to design and develop sample microservices applications. We will learn, explore, design and develop sample microservice applications.

Containers:

We will containerize the microservices. We will learn to containerize our microservices using cloud-native tools such as Docker and containerd.

Orchestrators:

We will orchestrate these containers with learning and using Container Orchestrators like Kubernetes, docker swarm and so on. We will gain hands-on experience with container orchestration platforms like Kubernetes and Docker Swarm to manage your containerized applications.

Communications:

After that we will see how to communicate between Kubernetes pods using Service Meshes like istio. We will Discover how to use service meshes like Istio to facilitate communication between Kubernetes pods.

Backing Services:

We will implement Backing Services for our architecture, will examine Backing Services in 3 sub categories: Databases, Distributed Caches, Message Brokers. We will learn how to deploy and integrate backing services such as databases, caches, and message brokers into your Kubernetes cluster.

Scalability:

We will auto-scale our applications into Kubernetes using HPA and KEDA. We will Implement auto-scaling for our applications in Kubernetes using Horizontal Pod Autoscaler (HPA) and Kubernetes Event-driven Autoscaling (KEDA).

Devops CI/CD:

We will implement DevOps, CI/CD pipelines, IaC, GitOps principles into our architecture using cloud-native tools like GitHub Actions, Terraform, ArgoCD and so on.

Monitoring:

We will implement Monitoring and Observability tools like Prometheus, Grafana, ELK stack into our Kubernetes cluster and perform best practices for cloud-native observability.

All these steps we will not only explore cloud-native tools but also explore Cloud Serverless services like AWS Lambda in microservices, AWS Fargate in orchestrators, Backing Services like Amazon DynamoDB, Azure CosmosDB, Service Buses - Azure Service Bus, Amazon Eventbridge and so on.

Way of Learning – The Course Flow

The learning methodology will be;

  • Learn -> Explore -> Design -> Hands-on

We will learn Cloud-Native architectures and visit Cloud-Native tools, explore and understand these tools. And design architecture with using these tools and lastly we will perform hands-on labs to practice tools and cloud-native architectures.

Hands-on Projects

During the course, we'll have a series of hands-on labs for each Cloud-Native Pillar to reinforce your understanding and provide practical experience.

  • Hands-on: Develop a RESTful Microservices with CRUD

  • Hands-on: Containerize .Net Microservices with Docker

  • Hands-on: Deploy Microservices to Kubernetes

  • Hands-on: Deploy Microservices to Kubernetes with Helm Charts

  • Hands-on: Deploy Microservices to Kubernetes with Service Mesh Istio and Envoy

  • Hands-on: Deploy CockroachDB in a Single Kubernetes Cluster with Minikube

  • Hands-on: Deploy Cloud-Native Redis Cache on a Kubernetes Cluster with Minikube

  • Hands-on: Deploy Cloud-Native Kafka Message Brokers on a Kubernetes Cluster with Minikube

  • Hands-on: Auto-scaling Kubernetes Pods (

    Course Target

    This course has 1 main target:

    • to be a decision-maker as a software developer/architect in cloud-native architecture boards.

    This course is designed for software developers and architects who are interested in learning about cloud-native technologies  and how to apply them in real-world scenarios.

    • Hands-on Design and Development Activities

    • Apply best practices with cloud-native microservices design patterns and principles

    • Explore and Practice with cloud-native tools, understand when and where to use these tools

    • Prepare for Software Architecture Interviews

    • Prepare for System Design Architecture Interview exams.

    By the end of this course, you will gain real-world experience, you will have a solid understanding of the cloud-native ecosystem and will be ready to design, build, and deploy your own cloud-native applications using microservices, Kubernetes, service meshes, CI/CD pipelines, and more.

Enroll now

What's inside

Learning objectives

  • Cloud-native pillars: microservices, containers, orchestrators, communications, backing services, scalability, devops ci/cd, monitoring
  • Design and develop microservices architecture using aspnet web minimal apis.
  • Containerize microservices using cloud-native tools such as docker and containerd.
  • Orchestrate containers using container orchestrators like kubernetes, docker swarm.
  • Deploy and manage microservices on kubernetes.
  • Discover service mesh and kubernetes-native solutions for microservices orchestration.
  • Communicate between kubernetes pods using service meshes like istio.
  • Implement backing services in cloud-native: databases, distributed caches, message brokers
  • Auto-scaling applications in kubernetes using horizontal pod autoscaler (hpa) and kubernetes event-driven autoscaling (keda).
  • Implement devops, ci/cd pipelines, iac, gitops principles into architecture using cloud-native tools like github actions, terraform, argocd.
  • Monitoring and observability with prometheus, grafana, elk stack into kubernetes cluster
  • Learn cutting-edge kubernetes patterns and serverless
  • Deploy redis and kafka nodes on kubernetes cluster using minikube
  • Develop 10+ hands-on lab using cloud-native landscape tools
  • Develop serverless architecture using aws cloud services
  • Show more
  • Show less

Syllabus

Introduction
Cloud Types: Private/On-premises, Public and Hybrid Cloud
Multi-Cloud Strategy
Evolution of Cloud Platforms: Cloud Hosting Models: IaaS - CaaS - PaaS - FaaS
Read more
Cloud-Native Application Architecture
Evolution of Application Architectures: Monolithic, Microservices, Serverless
Deep Dive into Cloud-Native Pillars - Course Section Flow
Way of Learning - The Course Flow
Hands-on Projects
How to Follow the Course & Course Slides
Introduction to Cloud-Native - What is Cloud-Native Architecture ?
What is Cloud-Native ?
Cloud Native Definition from CNCF
What Is Cloud Native Architecture ?
Cloud Native Architecture Design Principles and Key Characteristics
Benefits of Cloud-Native Architectures
Challenges of Cloud-Native Architectures
The Cloud Path of Legacy Applications - Modernization of Legacy Apps with Cloud
Cloud-Native Quiz
Cloud-Native Fundamentals - The Conway's Law and 12 Factor App
Introduction - Cloud-Native Fundamentals - Conway's Law and 12 Factor App
The Conway's Law
The impact of Conway's Law on Cloud-Native Microservices
12-Factors - The Twelve-Factor Application
I. Codebase - The Twelve-Factor Application
II. Dependencies - The Twelve-Factor Application
III. Config - The Twelve-Factor Application
IV. Backing services - The Twelve-Factor Application
V. Build, release, run - The Twelve-Factor Application
VI. Processes - The Twelve-Factor Application
VII. Port binding - The Twelve-Factor Application
VIII. Concurrency - The Twelve-Factor Application
IX. Disposability - The Twelve-Factor Application
X. Dev/prod parity - The Twelve-Factor Application
XI. Logs - The Twelve-Factor Application
XII. Admin processes - The Twelve-Factor Application
The Conway's Law and 12 Factor App Quiz
Cloud-Native Deep Dive - Landscape, Trial Map and Pillars
Introduction - Cloud-Native Deep Dive - Landscape, TrialMap and Pillars
Cloud Native Computing Foundation (CNCF)
Quick Tour on Cloud Native Computing Foundation (CNCF)
What Is the CNCF Landscape ?
Deep Dive into CNCF Landscape Categories
Complicated with CNCF Projects ? - Funny Break
CNCF Cloud Native Trail Map
The Four Pillars of Cloud-Native Applications
All Cloud Native Pillars - Extended for Course Structure
Cloud-Native Landscape, TrialMap and Pillars Quiz
Microservices Architecture, When to use and When Not to Use
Introduction to Pillar1: Microservices
12-Factor App and Cloud-native Trial Map - Microservices
Evolution of Architectures; Monolithic, Microservices, Serverless
What are Microservices ?
What is Microservices Architecture ?
Microservices Characteristics
Benefits of Microservices Architecture
Challenges of Microservices Architecture
When to Use Microservices Architecture - Best Practices
When Not to Use Microservices - Anti-Patterns of Microservices
Monolithic vs Microservices Architecture Comparison
The Database-per-Service Pattern - Polygot Persistence
Explore: Languages and Frameworks for Microservices
Explore: Cloud-Native Microservices Frameworks
Explore: Cloud Managed and Serverless Microservices Frameworks
Design: Cloud-Native Microservices Architecture - Way of Learning
Understand E-Commerce Domain: Analysis and Decompose E-Commerce Microservices
Identifying and Decomposing Microservices for E-Commerce Domain
Design: Cloud-Native E-commerce Microservices Architecture
Choose Microservices Language and Frameworks for Cloud-Native Microservices
Reference Project: .Net Microservices - Cloud-Native E-commerce App
Reference Project: AWS Serverless Microservices - Cloud-Native E-commerce App
Pillar1: Microservices Quiz
Hands-on: Develop a RESTful Microservices with CRUD endpoints
Introduction - Hands-on: Develop a RESTful Microservices with CRUD endpoints
Primary Programming Languages and Frameworks among Microservices Developers
Why .Net for Microservices Development ?
Install Prerequisites
Developing Product Microservices
Run the Application - Product Microservices
Create Product Microservices with AWS Serverless Services: AWS Lambda, API Gw
Hands-on: Create Product Microservices with AWS Lambda, API Gateway and DynamoDB
Pillar2: Containers
Introduction to Pillar2: Containers
12-Factor App and Cloud-native Trial Map - Containers
What are Container ?
Why use Containers for developing Cloud-native Microservices ?
Best Practices of using Containers
How Containers Works ?
What is Container Runtimes ?
What is a Container Registry ?
Containerization: Running Microservices in Containers
What is Docker ?
Docker Containers, Images, and Registries
Docker Architecture
Explore Container tools: Container Runtimes, Registries, Deployments
Explore: Container Registries
Explore: Container Deployment Options
Explore: Cloud Container Services: Abstraction Level of Container Deployments

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores cloud computing concepts like microservices, containers, and communication protocols, highly relevant to industry roles using cloud-based tools in software engineering
Provides hands-on experience with tools and cloud-native architecturess through a series of labs and projects
Taught by Mehmet Ozkaya, who brings years of experience in cloud-native technologies and is recognized for his work in the field
Builds a solid understanding of the cloud-native ecosystem and prepares learners to design, build, and deploy cloud-native applications in real-world scenarios
Suitable for software developers and architects who want to enhance their knowledge of cloud-native technologies and prepare for software architecture interviews
Requires learners to have a basic understanding of programming and cloud concepts, making it accessible to a wide range of learners

Save this course

Save Cloud-Native: Microservices, Kubernetes, Service Mesh, CI/CD to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Cloud-Native: Microservices, Kubernetes, Service Mesh, CI/CD with these activities:
Organize and review the course materials
Organize and review the course materials to better prepare for learning.
Show steps
  • Organize the course materials into a logical structure.
  • Review the materials thoroughly to identify key concepts and topics.
  • Create summaries or notes for future reference.
Review Microservices architecture and components
Familiarize yourself with microservices architecture before starting the course.
Browse courses on Microservices
Show steps
  • Review the microservices architecture concepts.
  • Study containerization concepts and technologies.
  • Explore container orchestration platforms like Kubernetes.
  • Learn about service mesh technologies.
Participate in a study group or online forum
Connect with other learners and discuss course topics to enhance understanding.
Browse courses on Collaboration
Show steps
  • Join a study group or online forum related to the course.
  • Actively participate in discussions and ask questions.
  • Share your knowledge and insights with others.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Read 'Building Microservices' by Sam Newman
Gain a deep understanding of microservices architecture by reading this foundational book.
Show steps
  • Purchase or borrow the book.
  • Read the book thoroughly and take notes.
  • Implement some of the concepts and patterns described in the book.
Practice with a Kubernetes cluster
Gain hands-on experience with Kubernetes by setting up and managing a cluster.
Browse courses on Kubernetes
Show steps
  • Set up a Kubernetes cluster using Minikube or a cloud provider.
  • Deploy a sample microservice application to the cluster.
  • Manage the cluster by scaling pods, updating deployments, and monitoring metrics.
Attend a workshop on Cloud-Native architecture
Gain hands-on experience and learn from experts in a workshop setting.
Browse courses on cloud-native
Show steps
  • Find a workshop on Cloud-Native architecture that aligns with your interests.
  • Register for the workshop and attend the sessions.
  • Engage with the instructors and other attendees.
  • Apply what you learn in the workshop to your own projects.
Design a microservices architecture for a real-world scenario
Apply your understanding of microservices by designing an architecture for a specific use case.
Browse courses on Microservices
Show steps
  • Choose a real-world scenario and define the requirements.
  • Decompose the system into microservices.
  • Design the communication and integration between microservices.
  • Create a deployment plan for the microservices.
Explore advanced topics in Cloud-Native architecture
Expand your knowledge by exploring additional topics related to Cloud-Native architecture.
Browse courses on cloud-native
Show steps
  • Research cloud-native security best practices.
  • Learn about service discovery and load balancing in a cloud-native environment.
  • Explore CI/CD pipelines for cloud-native applications.
  • Study monitoring and observability techniques for cloud-native systems.
Contribute to an open-source project related to Cloud-Native
Contribute to a real-world project and gain practical experience in Cloud-Native architecture.
Browse courses on cloud-native
Show steps
  • Identify an open-source project related to Cloud-Native.
  • Find an issue or feature that you can contribute to.
  • Implement your changes and submit a pull request.
  • Collaborate with the project maintainers to get your changes merged.

Career center

Learners who complete Cloud-Native: Microservices, Kubernetes, Service Mesh, CI/CD will develop knowledge and skills that may be useful to these careers:
Cloud Native Developer
The Cloud Native Developer is responsible for developing and maintaining cloud-native applications. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for developing and maintaining cloud-native applications.
Kubernetes Engineer
The Kubernetes Engineer is responsible for managing and maintaining Kubernetes clusters. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for managing and maintaining Kubernetes clusters.
Microservices Architect
The Microservices Architect is responsible for designing and implementing microservices-based architectures. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for designing and implementing modern microservices-based architectures.
Service Mesh Engineer
The Service Mesh Engineer is responsible for designing and implementing service meshes. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for designing and implementing service meshes.
Site Reliability Engineer (SRE)
The Site Reliability Engineer (SRE) is responsible for the reliability and uptime of a software application. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for ensuring the reliability and uptime of cloud-native applications.
Cloud Security Engineer
The Cloud Security Engineer is responsible for securing cloud-based systems and applications. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for securing cloud-native environments.
Technical Lead
The technical expert is responsible for leading and mentoring other engineers. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for leading and mentoring other engineers in the design and implementation of cloud-native architectures.
Software Engineer
The Software Engineer is responsible for the design, development, and maintenance of software applications. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for building and deploying modern cloud-native applications.
Full Stack Engineer
The Full Stack Engineer is responsible for the design, development, deployment, and maintenance of both the front-end and back-end aspects of a software application. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for building and deploying modern cloud-native applications.
DevOps Manager
The DevOps Manager is responsible for leading and managing DevOps teams. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for implementing DevOps practices in cloud-native environments.
Principal Engineer
The Principal Engineer is responsible for providing technical leadership and guidance to other engineers. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for providing technical leadership and guidance to other engineers in the design and implementation of cloud-native architectures.
Cloud Consultant
The Cloud Consultant is responsible for advising clients on cloud-based solutions. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for advising clients on cloud-based solutions.
Data Engineer
The Data Engineer is responsible for designing and implementing data pipelines. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for designing and implementing data pipelines in cloud-native environments.
Cloud Architect
The Cloud Architect is responsible for designing and implementing cloud-based solutions. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for designing and implementing modern cloud-native architectures.
DevOps Engineer
The DevOps Engineer is responsible for bridging the gap between development and operations teams. This course may be useful as it teaches the fundamentals of cloud-native microservices, Kubernetes, service mesh, CI/CD, and monitoring, which are essential technologies for implementing DevOps practices in cloud-native environments.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Cloud-Native: Microservices, Kubernetes, Service Mesh, CI/CD.
A comprehensive guide to Kubernetes, covering its architecture, components, and best practices. It provides in-depth explanations of concepts such as pods, deployments, services, and networking.
Provides design guidelines and architectural patterns for building and deploying microservices in a cloud-native environment. It covers topics such as service discovery, load balancing, fault tolerance, and security.
Focuses on building cloud-native Java applications. It explores topics such as microservices, containers, and Kubernetes, which are essential technologies for cloud-native development.
Provides a detailed guide to observability engineering. It is valuable for understanding the principles and techniques for implementing effective monitoring and observability systems.
Explores the principles and practices of microservices architecture, including service design, communication mechanisms, and deployment strategies. It emphasizes the importance of autonomy, loose coupling, and resilience in microservices design.
Provides a comprehensive overview of SRE principles and practices. It is useful for understanding the concepts of reliability and resilience in cloud-native environments.
Provides a practical guide to software architecture patterns using Python. It helps in understanding architectural concepts and patterns used in cloud-native development.
Provides a practical guide to software deployment and release management. It helps in understanding the processes and techniques for releasing software into production.
Provides a comprehensive guide to DevOps practices and principles. It covers topics such as continuous delivery, test-driven development, and infrastructure automation.
Provides a comprehensive overview of data management in cloud-native environments. It covers topics such as data modeling, storage systems, and distributed databases.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Cloud-Native: Microservices, Kubernetes, Service Mesh, CI/CD.
Deploying .Net Microservices with K8s, AKS and Azure...
Most relevant
Microservices with NodeJS, React, Typescript and...
Most relevant
Learning Path: Go: Building Cloud Native Go Applications
Most relevant
DevOps and Software Engineering Capstone Project
Most relevant
Deploying ASP.NET Core 3 Microservices Using Kubernetes...
Most relevant
Deploying Microservices to Kubernetes using Azure DevOps
Most relevant
Microservices at Scale using AWS and Kubernetes
Most relevant
Getting Started with Argo CD
Most relevant
Building Cloud Native and Multicloud
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser