Whilst this move solved many of the problems that came with the previous on-premise approach, it didn’t solve everything. Junze Bao, Site Reliability Engineer for General Marketplaces at SMG Swiss Marketplace Group, gave us an insight into a more recent migration and the wins and challenges that came with it.
Although tutti.ch was migrated to the cloud, it was more of a lift and shift approach. It solved a lot but not all problems that tutti.ch had whilst still working with legacy. (You can read all about that big move in one of our earlier blog posts ) Adding new applications was still relatively slow and cumbersome, and developers depended too much on system engineers when it came to application deployment. Additionally, sharing a single test environment amongst all developers takes away a lot of flexibility and autonomy. These and other factors contributed to finding an even better solution for tutti.ch. In comes Kubernetes. Kubernetes is a modern container orchestration platform. It facilitates the management, deployment, and scaling of our applications. It was initially released in 2014 and has been widely adopted by many companies since containerizing applications solves a lot of problems.
Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. From the Kubernetes website
To summarise, tutti.ch was moved to the cloud, but the applications continued being deployed as individual processes on a virtual machine representing a physical server. Adding new machines or scaling up existing ones generated a lot of manual work, which is why the move to Kubernetes was a no-brainer.
Containers for Christmas
Junze joined the team at tutti.ch in May of last year and started working on this project just two weeks after starting. This posed a double challenge for him since he had experience with Kubernetes; however, he wasn’t familiar with the tutti.ch ecosystem yet and hadn’t previously worked with the AWS cloud service. Despite this challenging start to a new role, Junze and the team managed to finish the first round of this project right before the winter break. He worked closely with Andor Uhlár, who prepared the backend service and containerized it so that Junze could set up the infrastructure platform. Andor and Pawel (who you might remember from the big tutti.ch migration article) were also closely involved in architecture design choices. After the setup of the infrastructure and with the help of the backend and frontend teams, Junze was then able to move all of the non-legacy services to the platform, making sure everyone got containers for Christmas! Of course, this move continues to require polishing and improvements; however, the positive impact is already tangible.
Worth the Hype
By using this container orchestration platform, managing and scaling applications have been made a lot easier. Automatically scaling applications reduces cloud resources during the low-traffic time and thus reduces costs. Deployment is also done continuously and automatically and technically no longer needs any manual work. Furthermore, the project is being extended to enable the creation of completely isolated environments from a branch, which allows each developer to work on different projects at the same time without being dependent on a single testing environment. This is all possible thanks to Kubernetes. Between learning about a new environment and setting up a new platform that involves a lot of important architectural decisions to be taken, the start of this project was quite a challenge. “The key is starting small and doing things step by step”, says Junze. After gaining more experience from the initial setup, the rest was handled much more easily, without underestimating unforeseeable challenges. However, the improvements definitely outweighed the initial setup challenges, and we are excited to see how this project evolves. Thanks to Junze for giving us an insight into this project!