Welcome to the final, twenty-fourth episode of my course “Becoming a software developer” in which we will talk about the idea behind the distributed systems and microservices.
To this particular episode, the source code can be found here.
- Distributed Systems
The idea behind distributed services is quite old and the general concept is the following – instead of building a typical monolithic application (e.g. a single HTTP API that contains all of the business logic and process the actual requests in a synchronous way), let’s pass the request further to some specialized service (please note that there can be many different services responsible for different tasks) and let such service do its job.
Sound smart? Sure. Simple? Not really. Well, whenever you choose to go with the distributed architecture, whether it’s going to be SOA (Service Oriented Architecture) or Microservices, you have to keep in mind that the complexity of building such system tends to be much bigger than in a typical monolithic application.
However, what is on of the main benefits? You can scale your application pretty much infinitely. Thanks to the so-called horizontal scaling, you can add more resources (e.g. virtual machines or actual servers) that will contain more and more instances of services and you can easily distribute the overall load. As opposite to the vertical scaling (adding more CPU power, RAM etc.) which has its limits.
In this video, I’ll guide you through the basic of building distributed applications – I’ve started studying this topic over a year ago, and although I gained some experience and knowledge which helped me to build e.g. Collectively there are still many more topics that I haven’t discover yet, due to the rather complex nature of such architecture. Yet, don’t be afraid – you always need to start somewhere, in order to get better, thus let me give you a quick introduction into the world of distributed systems.
Thank you all very much for spending the time with me on that short journey, I hope that the whole series turned out to be helpful for at least some of you, and well – see you in the near future with more content!