Skip to content

CloudNative Microservices, Container, Orchestators, Service Mesh, CI/CD, IaC, GitOps, Monitoring. Learn, explore, design and develop +20 Hands-on real-world project on Kubernetes clusters.

License

Notifications You must be signed in to change notification settings

mehmetozkaya/CloudNative

Repository files navigation

UDEMY COURSE WITH DISCOUNTED - Step by Step Development of this Repository -> https://www.udemy.com/course/cloud-native-microservices-kubernetes-service-mesh-cicd/?couponCode=NOVE24

See the overall picture of implementations on cloud-native pillars on real-world e-commerce microservices project; cloudnative architecture

CloudNative Microservices, Container, Orchestators, Service Mesh, CI/CD, IaC, GitOps, Monitoring

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

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 (VPA,HPA,KEDA) with Minikube
  • Hands-on: Deploy Microservices on Amazon EKS Fargate
  • Hands-on: Terraform IaC provision AWS EC2 instance
  • Hands-on: GitHub Actions CI/CD for Build & Push Docker Images to DockerHub
  • Hands-on: Kubernetes Monitoring with Prometheus and Grafana

Also we will see AWS Serverless Labs to show how cloud-native architectures works on fully cloud serverless services, especially for AWS services:

  • Hands-on: Deploy ProductService Container to AWS Apprunner
  • Hands-on: Building RESTful Microservices with AWS Lambda, API Gateway and DynamoDB
  • Hands-on: Amazon SNS Notifications Topic Subscribe From AWS Lambda These hands-on labs will provide you with practical experience in applying the concepts, tools, and best practices you’ve learned throughout the course.

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

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.