(+) Best Online Courses #13

Microservices: The Big Picture on Pluralsight by Antonio Goncalves

Modern back-end web development is a large and complicated subject, and as someone who’s currently a few years into working professionally as a full-stack developer, I’m still struggling to understand some of the related concepts. Up until recently I didn’t fully grasp what microservices actually were on either a high or low level, and completing this course did a lot to demystify a lot about them for me.

The first thing I should say is that this course has a few general prerequisites even though it’s classed as “Beginner” level on Pluralsight, so it’s not the most ideal course for total beginners to web development in general. What should you already know (or have) for this course? I’d list these as necessary:

  • Some hands-on coding experience with both front-end (HTML, CSS, JavaScript) and back-end (in any language) web development
    • Ideally you should know how to code a front-end SPA in a modern library or framework (React, Vue, or Angular), along with a back-end API in a modern language & framework as well (JavaScript, Python, Ruby, C#, et al), even if both the front-end and back-end apps are only “Hello World”-level prototypes
  • Some exposure to at least 2 different frameworks from the same or different programming languages, to understand why you would want to use different frameworks or languages
  • Some knowledge of or exposure to DevOps (i.e Docker, Kubernetes, and CI/CD tools)
  • Some knowledge of or exposure to cloud services (AWS, Azure, or GCP)

Now if all of the above prerequisites sounds like a heady list, the primary reason I cite all of them is simply because this course puts all of those topics into context with each other, and more than that, also explains how they all fit together in the overarching theme of microservices. To this last point in particular, this is the only course of its kind that I’ve seen anywhere online that can help to get “beginners” up to speed on what they should know about microservices on a high level to prepare for the task of either building or working with them.

The breadth of content in this course spans a variety of topics from the high level to the low level, and without showing a single line of code, manages to explain and answer a lot of fundamental questions. These questions include what microservices are, the business case for microservices, how they’re built and architected together at a “bird’s eye” high level, and all of the implications of microservices, including Domain-Driven Design (DDD), data stores, data synchronization (i.e. messaging), Remote Procedure Calls (RPC), Cross-Origin Resource Sharing (CORS), gateways, authorization & authentication patterns & tools, load balancing, monitoring, logging, and much more. If you don’t know what any of these terms mean, it doesn’t matter, because the course explains all of them. Suffice it to say that it packs a huge amount of information and throws a bunch of things at you. This is why the course becomes especially helpful if you’ve already used some of the tools mentioned, in particular one of the cloud services (AWS, Azure, or GCP), and if you have some professional work experience in an agile team environment as well (because it goes into some detail about working in multiple teams across different layers of a product).

However, the truly exceptional quality of this course isn’t that it just throws a bunch of information at you, it also explains everything it mentions and puts all of the new information into context on visual diagrams to show where each piece fits. For example, if you didn’t know before the purpose of messaging (and the existence of tools like Akka, Kafka, or RabbitMQ), you will come away from the course with a basic understanding of what messaging is and what it’s used for. Similarly, if you didn’t know before what API gateways are, or how containers are used, or the point of load balancing, or what DevSecOps is, or what Elasticsearch is and what it’s used for, this course explains all of that as well, along with many other related topics.

Conclusion: To summarize this course, it’s easily the best introduction and overview to microservices that I’ve ever seen on any online platform and is an absolute must-do. While I’d recommend learning to actually code a simple back-end app first before doing this course, it’s definitely an essential primer to the topic of microservices for those just beginning on their journey to learning back-end web development. After having completed the course (just last month in April), I consider it not only one of the top courses on Pluralsight, but possibly THE best introductory course to the subject anywhere online, period.

Rating: 5 out of 5