Designing Microservices

Microservices are fun, but in most cases confusing. There are so many things going here and there. Let's take a step back and take a journey in understanding almost everything about Microservices.



1 Introduction to Microservices

1.1 What are Microservices?

1.2 Advantages of adopting Microservices

1.3 Challenges in adopting Microservices

2 Architecting Microservices

2.1 Standardizing Microservices

2.2 Key things to remember

2.3 How to scope Microservices?

3 Integrating Microservices

3.1 Integration Best Practices

3.2 Shared Database Pattern

3.3 Database Per Service Pattern

3.4 Synchronous and Asynchronous Communication

3.5 Orchestration and Choreography

3.6 Remote Procedure Calls

3.7 REST

3.8 Handling Timeouts

4 Architectural Patterns

4.1 API Composition

The course is not complete yet, more lessons coming soon.

What you'll get

  • Structured Learning
  • In-depth Explanations
  • One-page write-up for each topic
  • Handwritten notes for each topic
  • Progress Tracking

About Instructor

Hey! I am Arpit Bhayani, a passionate CS engineer who loves to explore engineering in depth. In my last ~9 years of experience, I have worked at D. E. Shaw, Practo, Amazon, and Unacademy; and have built systems, services, and platforms that scaled to billions.

In 2018, I joined Unacademy as their first Technical Architect and there I designed, built, managed, and scaled services like Search, Notification, Logging, Deployment Engine, and many more. I am currently operating as a Director of Engineering leading the Site Reliability and Data Engineering verticals.