Learn Cloud Native Development, the Future of App Development

0
Join & Subscribe
Udacity
Paid Course
English
Certificate Available
17 weeks long, 10 hours a week

Overview

You’ll master the skills necessary to become a successful cloud native architect. Learn to run and manage scalable applications in a cloud native environment, using open source tools and projects like ArgoCD, gRPC, and Grafana.

Syllabus

  • Cloud Native Fundamentals
    • Throughout this course, students will learn how to structure, package, and release an application to a Kubernetes cluster, while using an automated CI/CD pipeline. Students will start by applying a suite of good development practices within an application, package it with Docker and distribute it through DockerHub. This will transition to the exploration of Kubernetes resources and how these can be used to deploy an application. At this stage, students will be comfortable using k3s to bootstrap a lightweight and functional Kubernetes cluster. Next, students will examine template configuration managers, such as Helm, to implement the parameterization of Kubernetes declarative manifests. Towards the end of the course, students will learn the fundamentals of Continuous Integration and Continuous Delivery (CI/CD) with GitHub Actions and ArgoCD and completely automate the release process for an application.
  • Message Passing
    • In this course, students will learn how to refactor microservice capabilities from a monolithic architecture, and employ different forms of message passing in microservices. To begin, students will create a migration strategy to refactor a service from a monolith to its own microservice and implement the migration. Next, students will be introduced to industry standard best practices for message passing in a service architecture and finally, students will focus on design decisions and the implementations of different forms of message passing in development and production systems.
  • Observability
    • This course covers the fundamentals of observability in distributed systems. Today, Kubernetes has become the de facto standard for Cloud Native applications and is widely used for distributed systems. To be effective as an observability expert, it is critical to understand how to monitor and respond to the health and performance of both your Kubernetes clusters and the applications hosted on them. This course will teach students how to collect system performance data using Prometheus, how to collect application tracing data using Jaeger, and how to visualize the results in a dashboard using Grafana.
  • Microservices Security
    • Learn how to harden a Docker and Kubernetes microservices architecture. To begin, students will learn STRIDE to threat model and reason about microservice security. Next, students will dig deep to explore the Docker and Kubernetes attack surface and be introduced to industry open-source tools such as Docker-bench and Kube-bench to evaluate and harden Docker and Kubernetes weaknesses. Students will then learn about software composition analysis with Trivy and Grype to evaluate image layers and common application security vulnerabilities and provide remediation. Finally, students will deploy runtime security monitoring to introspect running microservices for security signals and learn how to respond to a security incident.
  • CAPSTONE Project - Uda’CityShop
    • Draw on all of the skills learned throughout the lessons to evaluate the costs of products in different currencies and follow the recommendations of browsing products with variate discount rates based on ads.

Taught by

nd064 Katie Gamanji, nd064 Justin Lee, nd064 Nick Reva and nd064 Jason “Jay” Smith