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 at SMG Swiss Marketplace Group, shared insights into a recent migration—its successes and challenges.
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) Incorporating new apps remained slow and cumbersome, with excessive reliance on system engineers for deployment within the process. 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. This is because containerizing applications solves a lot of problems.
In brief, tutti.ch transitioned to the cloud, yet apps were still deployed individually on a virtual machine mirroring a server. The shift to Kubernetes was obvious due to the manual labor involved in adding or scaling machines, both new and existing.
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 were also closely involved in architecture design choices. Following infrastructure setup, Junze collaborated with backend and frontend teams, migrating non-legacy services to the platform, gifting 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!