We may earn an affiliate commission when you visit our partners.
Course image
Justin Lee

Learn with Udacity and discover the best practices for developing and deploying microservices. Learn topics such as microservice architecture patterns, independent scaling, resiliency, and more.

Prerequisite details

Read more

Learn with Udacity and discover the best practices for developing and deploying microservices. Learn topics such as microservice architecture patterns, independent scaling, resiliency, and more.

Prerequisite details

To optimize your success in this program, we've created a list of prerequisites and recommendations to help you prepare for the curriculum. Prior to enrolling, you should have the following knowledge:

  • HTML
  • Basic JavaScript
  • NodeJS
  • Command line interface basics
  • Git
  • Amazon s3

You will also need to be able to communicate fluently and professionally in written and spoken English.

What's inside

Syllabus

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.
Read more
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.
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
In this lesson, we'll learn about why the industry embraces Continuous Integration and Continuous Deployment and how Docker helps streamline the process
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
In this lesson we'll learn some of the best practices for running your application in Kubernetes including logging, scale, and security
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Introduces microservices, a popular architectural approach, and its use cases across various applications
Provides a comparative analysis of microservices and monolithic architecture, including best practices for refactoring
Demonstrates the role of containers, such as Docker, in building and deploying applications as microservices
Introduces Continuous Integration and Continuous Deployment, and how Docker streamlines these processes
Explores Kubernetes, a prevalent tool for container deployment, highlighting its benefits and use cases
Offers practical best practices for running applications in Kubernetes, encompassing logging, scaling, and security

Save this course

Save Monolith to Microservices at Scale to your list so you can find it easily later:
Save

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 Monolith to Microservices at Scale with these activities:
Review microservice architecture patterns
Solidify your understanding of microservice architecture patterns to prepare for the course material.
Browse courses on Microservices
Show steps
  • Read articles and documentation on microservice architecture
  • Review examples of microservice designs
Review HTML
Refresh your understanding of the basics of HTML, the markup language used to create the structure of web pages.
Browse courses on HTML
Show steps
  • Review the HTML syntax
  • Practice writing HTML code
NodeJS exercises
Reinforce your NodeJS skills by completing a set of hands-on exercises.
Browse courses on NodeJS
Show steps
  • Install NodeJS
  • Set up a NodeJS project
  • Complete a series of NodeJS exercises
Six other activities
Expand to see all activities and additional details
Show all nine activities
Reach out to experienced microservices developers for guidance
Seek guidance from experts to gain insights and accelerate your learning in microservices development.
Show steps
  • Identify potential mentors
  • Craft a personalized outreach message
  • Schedule a meeting or virtual chat
Docker tutorial
Expand your knowledge of Docker by following a guided tutorial that covers the basics of containerization.
Browse courses on Docker
Show steps
  • Find a comprehensive Docker tutorial
  • Follow the tutorial step-by-step
Deploy a sample application in Kubernetes
Gain practical experience with Kubernetes by deploying a sample application to enhance your understanding of its capabilities.
Browse courses on Kubernetes
Show steps
  • Create a Docker image of your application
  • Configure a Kubernetes deployment
  • Deploy your application to Kubernetes
Contribute to open-source microservices projects
Engage in real-world microservices projects by contributing to the open-source community.
Browse courses on Microservices
Show steps
  • Identify suitable open-source microservices projects
  • Review the project documentation and codebase
  • Make meaningful contributions to the project
Write a blog post about microservices
Deepen your understanding of microservices by writing a blog post that explains the concepts and benefits of this architectural style.
Browse courses on Microservices
Show steps
  • Research microservices
  • Outline your blog post
  • Write and edit your blog post
Participate in a hackathon focused on microservices
Challenge yourself and apply your microservices skills in a competitive environment.
Browse courses on Microservices
Show steps
  • Find a suitable hackathon
  • Form a team or work individually
  • Develop a microservices-based solution
  • Present your solution and compete

Career center

Learners who complete Monolith to Microservices at Scale will develop knowledge and skills that may be useful to these careers:
Software Architect
As a Software Architect, you envision and communicate technical solutions that drive enterprise architectures. They must be scalable, reliable, and maintainable. In this course, learners will learn how to architect scalable applications using microservices. This course can help build a foundation for a career as a Software Architect by providing hands-on experience in designing and developing microservices-based applications.
Cloud Architect
Cloud Architects design, plan, and manage cloud computing solutions. They must have a deep understanding of cloud computing technologies and best practices. In this course, learners will learn how to deploy and manage microservices-based applications in the cloud. This course can help build a foundation for a career as a Cloud Architect by providing hands-on experience in deploying and managing microservices-based applications in the cloud.
DevOps Engineer
DevOps Engineers are responsible for bridging the gap between development and operations teams. They must have a deep understanding of both software development and operations. In this course, learners will learn how to build, deploy, and manage microservices-based applications. This course can help build a foundation for a career as a DevOps Engineer by providing hands-on experience in building, deploying, and managing microservices-based applications.
Site Reliability Engineer
Site Reliability Engineers are responsible for ensuring the reliability and performance of software systems. They must have a deep understanding of software development, operations, and reliability engineering. In this course, learners will learn how to build, deploy, and manage microservices-based applications. This course can help build a foundation for a career as a Site Reliability Engineer by providing hands-on experience in building, deploying, and managing microservices-based applications.
Software Developer
Software Developers are responsible for designing, developing, and testing software applications. They must have a strong understanding of software development principles and best practices. In this course, learners will learn how to design, develop, and test microservices-based applications. This course can help build a foundation for a career as a Software Developer by providing hands-on experience in designing, developing, and testing microservices-based applications.
Cloud Engineer
Cloud Engineers are responsible for designing, building, and managing cloud computing solutions. They must have a deep understanding of cloud computing technologies and best practices. In this course, learners will learn how to deploy and manage microservices-based applications in the cloud. This course can help build a foundation for a career as a Cloud Engineer by providing hands-on experience in deploying and managing microservices-based applications in the cloud.
DevOps Consultant
DevOps Consultants help organizations adopt DevOps practices. They must have a deep understanding of DevOps principles and best practices. In this course, learners will learn how to build, deploy, and manage microservices-based applications. This course can help build a foundation for a career as a DevOps Consultant by providing hands-on experience in building, deploying, and managing microservices-based applications.
Full-Stack Developer
Full Stack Developers are responsible for designing, developing, and deploying software applications. They must have a strong understanding of both front-end and back-end development. In this course, learners will learn how to design, develop, and deploy microservices-based applications. This course can help build a foundation for a career as a Full Stack Developer by providing hands-on experience in designing, developing, and deploying microservices-based applications.
Solutions Architect
Solutions Architects design and develop software solutions that meet the needs of their clients. They must have a deep understanding of software development, business analysis, and project management. In this course, learners will learn how to design and develop microservices-based applications. This course can help build a foundation for a career as a Solutions Architect by providing hands-on experience in designing and developing microservices-based applications.
Technical Architect
Technical Architects design and develop technical solutions that meet the needs of their clients. They must have a deep understanding of software development, hardware, and networking. In this course, learners will learn how to design and develop microservices-based applications. This course can help build a foundation for a career as a Technical Architect by providing hands-on experience in designing and developing microservices-based applications.
Senior Software Engineer
Senior Software Engineers are responsible for leading and mentoring junior software engineers. They must have a deep understanding of software development principles and best practices. In this course, learners will learn how to design, develop, and test microservices-based applications. This course can help build a foundation for a career as a Senior Software Engineer by providing hands-on experience in designing, developing, and testing microservices-based applications.
Principal Engineer
Principal Engineers are responsible for leading and mentoring senior software engineers. They must have a deep understanding of software development principles and best practices. In this course, learners will learn how to design, develop, and test microservices-based applications. This course can help build a foundation for a career as a Principal Engineer by providing hands-on experience in designing, developing, and testing microservices-based applications.
Software Engineering Manager
Software Engineering Managers are responsible for leading and managing software engineering teams. They must have a deep understanding of software development principles and best practices. In this course, learners will learn how to design, develop, and test microservices-based applications. This course can help build a foundation for a career as a Software Engineering Manager by providing hands-on experience in designing, developing, and testing microservices-based applications.
System Architect
System Architects design and develop large-scale software systems. They must have a deep understanding of software development, hardware, and networking. In this course, learners will learn how to design and develop microservices-based applications. This course can help build a foundation for a career as a System Architect by providing hands-on experience in designing and developing microservices-based applications.
Technical Program Manager
Technical Program Managers are responsible for planning and managing software development projects. They must have a deep understanding of software development principles and best practices. In this course, learners will learn how to design, develop, and test microservices-based applications. This course can help build a foundation for a career as a Technical Program Manager by providing hands-on experience in designing, developing, and testing microservices-based applications.

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 Monolith to Microservices at Scale.
Provides deep insights into the challenges of building scalable systems. It is recommended for learners who want to learn how to design and implement scalable microservices applications.
Provides a hands-on guide to using Kubernetes for container orchestration. It is recommended for learners who want to learn how to deploy and manage containerized microservices applications in Kubernetes.
Provides deep insights into the challenges of building data-intensive microservices applications. It is recommended for learners who want to learn how to design and implement scalable and resilient data-intensive applications.
Provides a comprehensive guide to using Docker for containerization. It is useful for learners who want to learn how to build, deploy, and manage containerized microservices applications.
Provides a collection of patterns for designing and implementing cloud-native applications. It valuable reference for learners who want to learn how to build microservices applications in the cloud.
Provides a practical guide to building cloud-native Java applications. It is suitable for learners who want to learn how to develop microservices applications in Java.
Provides a collection of patterns for designing and implementing enterprise integration solutions. It useful reference for learners who want to learn how to integrate microservices applications with other systems.
Provides detailed patterns and advice for building microservices applications. It is appropriate as additional reading to learn more advanced concepts.
Provides a comprehensive guide to DevOps practices. It is useful for learners who want to learn how to improve the collaboration between development and operations teams.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Monolith to Microservices at Scale.
Scaling Applications with Microservices and NServiceBus 6
Most relevant
Advanced Java
Most relevant
Cloud-Native: Microservices, Kubernetes, Service Mesh,...
Most relevant
Working with Microservices in Go (Golang)
Most relevant
Building Microservice Platforms with TARS
Most relevant
Microservices Interview Questions Preparation Course
Most relevant
Microservices with NodeJS, React, Typescript and...
Most relevant
Microservices: The Big Picture
Most relevant
Microservices at Scale using AWS and Kubernetes
Most relevant
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 - 2024 OpenCourser