Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udacity

Learn Cloud Native Development, the Future of App Development

SUSE via Udacity Nanodegree

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.

Taught by

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

Reviews

Start your review of Learn Cloud Native Development, the Future of App Development

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.