Becoming a software developer – episode XXIV

Becoming a software developer – episode XXIV

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.

All of the materials including videos and sample projects can be downloaded from here.
The source code repository is being hosted on GitHub.

To this particular episode, the source code can be found here.



  • Distributed Systems


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.

The end

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!

5 Comments Becoming a software developer – episode XXIV

  1. Pingback: Dew Drop - September 6, 2017 (#2555) - Morning Dew

  2. Pingback: Dew Drop - September 7, 2017 (#2556) - Morning Dew

  3. Mateusz

    Świetną robotę Piotrze wykonałeś przy tym kursie jak i również przy działaniach open source jednocześnie prowadząc bloga mniej lub bardziej aktywnie :).

    Pytanie jakie są dalsze plany ? Masz zamiar podzielić się z nami czymś w najbliższej przyszłości ? Jakieś konkretne terminy masz już w planach czy jest to temat bardzo otwarty jeśli chodzi o termin ?

    Ps. Jakieś plany odnośnie realizacji tutoriala o refresh token w .net core 2.0 🙂 ?

    Pozdrawiam Mateusz

    1. Piotr Gankiewicz

      Dzięki :).
      Plany są takie, że YT będzie na pewno aktualizowany o nowe materiały z różnych zagadnień, mam nadzieję, że już za niedługo.
      Jeśli chodzi o odświeżanie tokena, to zrobiłem to w prosty sposób w Collectively (inaczej niż się to robi w OAuth itp. ale działa) więc pewnie się tym w końcu podzielę.


  4. Dennis

    Wow, what a series! I like that you ended it on distributed systems. They are important for working at cloud computing companies. I’m going to revisit many of these episodes. Hope you continue to put out great information for new developers.


Leave A Comment

Your email address will not be published. Required fields are marked *