Udacity Logo
Log InJoin for Free

Monolith to Microservices at Scale

Course

Microservices are becoming the default mode of developing and deploying applications at scale. Microservices architecture makes it easier to scale an application to a large system and is a great enabler for continuous integration and delivery. The microservices architecture allows independent scaling, independent releases and deployments, and independent development so that each service has its own codebase. In this course, we will cover the best practices on how to develop and deploy microservices. You will learn topics such as different microservice architecture patterns, independent scaling, resiliency, service replication, service registration, and discovery. By the end of this course, you should be able to design and build an application using a microservice architecture.

Microservices are becoming the default mode of developing and deploying applications at scale. Microservices architecture makes it easier to scale an application to a large system and is a great enabler for continuous integration and delivery. The microservices architecture allows independent scaling, independent releases and deployments, and independent development so that each service has its own codebase. In this course, we will cover the best practices on how to develop and deploy microservices. You will learn topics such as different microservice architecture patterns, independent scaling, resiliency, service replication, service registration, and discovery. By the end of this course, you should be able to design and build an application using a microservice architecture.

Intermediate

3 weeks

Real-world Projects

Completion Certificate

Last Updated February 13, 2024

Skills you'll learn:
Kubernetes • Microservices architecture design • Microservices debugging • CI/CD
Prerequisites:
HTML • Basic JavaScript • NodeJS

Course Lessons

Lesson 1

Introduction to Microservices

Using microservices is both a technical and business decision. In this lesson you will learn about the use cases that caused microservices to become popular.

Lesson 2

Microservices Design Principles and Best Practices

When applied correctly, microservice architecture can deliver great business value. In this lesson, we will compare microservices and monoliths and discuss best practices for refactoring.

Lesson 3

Containers Using Docker

Applications are often deployed in containers. In this lesson we'll learn why we use containers and how to use Docker to build our applications to be deployed as containers

Lesson 4

Automating the Application Development Lifecycle

In this lesson, we'll learn about why the industry embraces Continuous Integration and Continuous Deployment and how Docker helps streamline the process

Lesson 5

Orchestration with Kubernetes

Kubernetes is a powerful tool that is often used to deploy containers. In this lesson we’ll learn about why we would consider using Kubernetes and to deploy our applications

Lesson 6

Best Practices/Design Patterns for Kubernetes in Production

In this lesson we'll learn some of the best practices for running your application in Kubernetes including logging, scale, and security

Lesson 7 • Project

Refactor Monolith to Microservices and Deploy

In this project, you will take an existing application named Udagram and refactor it into a microservice architecture with lean services and deploy it using Kubernetes.

Taught By The Best

Photo of Justin Lee

Justin Lee

Data Platform Engineer

Justin Lee designs and builds modern scalable systems and consults for Fortune 500 companies. He currently works in the Silicon Valley as a platform engineer to enable users' data workflows. He has a BS in Computer Science from UCLA and is often mentoring and teaching developers through Codementor.

The Udacity Difference

Combine technology training for employees with industry experts, mentors, and projects, for critical thinking that pushes innovation. Our proven upskilling system goes after success—relentlessly.

Demonstrate proficiency with practical projects

Projects are based on real-world scenarios and challenges, allowing you to apply the skills you learn to practical situations, while giving you real hands-on experience.

  • Gain proven experience

  • Retain knowledge longer

  • Apply new skills immediately

Top-tier services to ensure learner success

Reviewers provide timely and constructive feedback on your project submissions, highlighting areas of improvement and offering practical tips to enhance your work.

  • Get help from subject matter experts

  • Learn industry best practices

  • Gain valuable insights and improve your skills