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

Traffic lights

Read about what's good
what should give you pause
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

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Comprehensive cloud-native ecosystem and hands-on development

According to students, this course offers a comprehensive journey through the cloud-native landscape, covering microservices, Kubernetes, service mesh, and CI/CD. Learners frequently praise the practical, hands-on projects and labs, which are highlighted as a core strength for reinforcing understanding and providing real-world experience. The instructor's clear explanations of complex topics like Istio and Prometheus are also consistently well-received. While the course is broadly beneficial, some note that its extensive breadth might require prior experience in related areas. Recent reviews indicate proactive content updates, particularly in areas like KEDA and ArgoCD, suggesting continuous improvement. Although some older feedback mentioned initial lab setup difficulties or tool versioning challenges, the overall sentiment is strongly positive for professionals seeking to enhance their cloud architecture skills.
Instructor effectively clarifies complex technical concepts.
"The instructor explains complex topics like Istio and Prometheus very clearly."
"I found the instructor knowledgeable and able to present material understandably."
"His explanations made even the most difficult concepts approachable and easy to grasp."
Proactively updated to reflect current tools and practices.
"I especially appreciated the updated sections on KEDA and ArgoCD; it shows the instructor truly cares about keeping it current."
"The recent updates address previous concerns about outdated tools, which makes the course highly relevant."
"It's evident that the course material is actively maintained and improved over time."
Highly beneficial for career advancement and interview preparation.
"I now feel much more confident discussing these topics in my architect interviews."
"This course is a goldmine for me to deepen my cloud-native skills for my career."
"I found the content valuable for understanding microservices and K8s, essential for my professional development."
Provides an extensive overview of the cloud-native ecosystem.
"Excellent course for understanding the entire cloud-native landscape."
"Its breadth is impressive, covering so many tools and concepts comprehensively."
"The progression from microservices to orchestration and then CI/CD made perfect sense."
Offers valuable hands-on experience for real-world application.
"The hands-on labs were challenging but incredibly rewarding."
"The practical examples were key for solidifying my understanding."
"I integrated .NET microservices with Kubernetes, which was exactly what I needed for my work."
Some learners encountered difficulties with lab environment setup.
"The lab setup was a bit tricky initially on my local machine and took extra effort."
"My only critique is that some labs had minor dependency issues that required troubleshooting."
"I spent a lot of time debugging environment issues rather than focusing on the course content."
Requires some existing familiarity with cloud or development concepts.
"This course covers a lot; it might be too much for someone completely new to the cloud."
"It assumes a good amount of prior knowledge, so I suggest having basics in Docker or similar."
"I struggled with some of the advanced configurations; it felt like it assumed a lot of familiarity."

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser