Jenkins is the way to deliver

Building a Better Microservices Platform

Submitted By Jenkins User Tomas Valentukevicius
A Nordic-based telco turns to Jenkins to get Java-based services deployed on Kubernetes in a way that’s easy to onboard for users of Bamboo.
Organization: Headquartered in Stockholm, Sweden, this new generation telco is at the heart of innovation and technology, aiming to change the industry and bring the world even closer for its customers
Industries: Telecom
Programming Languages: Java, Node.js, Python
Version Control Systems: Bitbucket Server
Community Support: Spoke with colleagues and peers

Creating a multi-tenant platform with a smooth CI/CD experience.

Background:  Our services are developed with multi-tenancy in mind, meaning that a single instance of the software and its supporting infrastructure serves multiple users. Each user shares the software application and shares a single database, and each tenant’s data is isolated and remains invisible to other tenants. More than anything, we needed to have a multi-tenant platform with a smooth CI/CD experience that would be easy to maintain and change. We also had to consider that many of our developers came from a Bamboo-based CI server experience used to automate release management.

Goals:  More specifically, we needed an easy way to get Java-based services deployed on Kubernetes.

"Jenkins offered minimal hassle to get everyone happy."
image— Tomas Valentukevicius, IT Architect

Solution & Results:  LDAP (Lightweight Directory Access Protocol) integration allowed us to get groups from there and map those with Jenkins permissions. A common and shared continuous delivery pipeline then helped immensely by enabling teams to reuse most CI/CD logics and not write everything from scratch.

By using Jenkins and Groovy pipelines, we had the following experiences:

  • quicker development cycles

  • smooth onboarding and easy maintenance

  • a familiar experience for developers coming from Bamboo