Microservices or no microservices: that is the question
After a healthy and tasty meal and an interesting theory session about microservices, it was finally time to gain hands-on experience. Wouter Devynck from Barco was the first person we welcomed. He covered two subjects with regard to containerisation and container orchestration. Regarding the latter, there has been an in-depth look at Kubernetes. As a basis, everyone got a Virtual Machine (VM) which we could experiment with. One of the tasks was to run a dockerized web service application in a cluster managed by Kubernetes. Kubernetes takes care of the automatic management, deployment and scaling of Docker containers. This was an intriguing acquaintance as this open-source orchestration technique was still unknown for most members of the group.
In the second part of the lab session Emanuel Dejonghe and Rens Bonnez from delaware gave a deeper insight with regard to Microsoft Azure. The advantage of the latter is that the scaling, patching, ... of containers is more flexible and automatic.
Within cloud service systems, CaaS (Container as a Service) can be seen as the use of containers within the cloud application. The up- and downscaling of containers takes place behind in many applications such as Facebook. For example, at eight o'clock in the morning Facebook will start balancing its containers to absorb the peak of the users at that moment. Often we work in advance, 'to warm up', because the start-up of a container takes a while. Another possibility is a fairly new concept: FaaS (Function as a Service). This offers the functionality to scale functions, for example, to allow intensive operations to run parallel at a lower cost.
After a chill overview of the Azure topic, more interaction has started to improve group dynamics. The goal was to develop the architecture of an e-commerce payment system with the necessary critical attitude in small groups. This is an ideal time to reflect on this issue from different angles and background knowledge. Within the software world, not only the development of code is important, but also detailed thinking about the implementation of applications. Then each group was allowed to explain its effects for the entire group, which in turn were assessed by the fellow students. The exercise showed that there is no 'right' solution but much depends on the requirements, application, budget, ...
Some tips and tricks from the lab session
Don’t do it yourself if there are reliable frameworks that provide the same (even better) functionality. Focus on the important stuff like developing the application.
Today, microservices are very hip and trendy but always have to be weighed against their monolithic counterpart when implementing an application.
Having a beer 🍺 after a long but interesting session about microservices, can taste really great.
But now enough written for today because our bellies are growling and longing for a delicious 3-course menu here in Amsterdam.
By Simon Van den Bossche (1st Master Ind. Ing., UGent) & Michiel Mortier (1st Master Ind. Ing., UGent)