Proximus is a telecommunication company providing services to residential, enterprise, and public users. We are the leading provider of telephony, internet, television, and network-based ICT services in Belgium, with more than 2 million customers.
Our road to GitLab
The technical divisions of Proximus deliver a big part of the applications and systems required for delivering the best possible service to our end users. It includes all types of capabilities such as network construction, network maintenance, product ordering, product selling, billing, etc. Some examples of our development include:
- Our website, Proximus.be, on which users can find product info, support info and so much more.
- A mobile app where everyone can check their usage, products, bills, etc.
- Television interface.
- A television app.
To ensure a performant and stable working environment for our developers, we have been working for several years to create a CI/CD DevOps workflow.
The first complete chain started in 2014 and used tools like ClearCase, Jenkins, Nexus, etc. By 2015 we had about 200 applications which were using our end-to-end chain to build and deploy in all different environments.
In 2016, to continue to improve our delivery chain, we considered switching ClearCase to Git. Despite ClearCase being a powerful tool, we noticed that the learning curve and the ease of use of ClearCase was not optimal. Also some of the tools we used were starting to lose compatibility.
We quickly came across GitLab and decided to try our first setup with GitLab CE in mid-2016.
The evolution of GitLab inside Proximus
Our first implementation of Gitlab was rapidly a real success and the popularity of GitLab was increasing exponentially within our developer community. So, we decided to set up a corporate GitLab CE server at Proximus and to promote the creation of all new applications using our existing CI/CD chain with GitLab as source code management. In just one year of using GitLab, we grew to 325 projects and about 600 users.
Because GitLab was becoming a big part of our tool set, we switched to GitLab EE in Q2 of 2017. This allowed us to use more features of GitLab such as: LDAP groups, push rules, mirror repositories, etc. And of course, with the enterprise edition you also receive additional support. With the enterprise edition we also started moving applications from ClearCase to GitLab.
We were also investigating and testing other features to expand our use of GitLab in the meantime:
- Some projects have started using GitLab CI to build.
- Integration with Jira has been implemented.
- Currently experimenting with a first setup of GitLab’s global search function in combination with Elasticsearch.
By the end of 2018 we had grown to almost 1,000 users and 1,700 projects.
Our biggest challenge was to maintain and ensure a stable environment while growing rapidly. When we started using GitLab CI we encountered some issues with the large number of pipelines and jobs being created, which were consuming a lot of our resources. But as of GitLab 11.6 a feature has been provided to remove pipelines with their job logs when using API, which helped a lot.
Since we started using GitLab, we have been able to provide our developers with faster setup and support. Another very noticeable side effect of switching to GitLab was the significant drop in the number of support tickets created by the developers. Our first full year of using GitLab inside our CI/CD setup resulted in 80 percent fewer tickets.
Even in 2018, after our total number of users had grown to almost 1,000, the number of projects had multiplied by five and we migrated 75 applications to GitLab. We still had 65 percent fewer tickets.
In the future, we will continue looking into expanding our GitLab environment and we hope to continue the positive evolution together with the support of GitLab.