How a DevOps Workflow Reduces Efforts and Costs
Glispa, a Berlin-based digital marketing and mobile advertising company, offers app developer and mobile advertising customers efficient and engaging solutions to reach targeted audiences. But to be successful at this, Glispa needed to revise its own pipeline for software development.
Glispa follows a simple philosophy: In order for brands to introduce new services or create exciting customer experiences in today’s 24/7 flood of information, they have to offer excellent user experiences, regardless of the technology platforms involved. However, since consumer decisions are immediately influenced by content or new technologies, even risk-averse B2B brands have to choose the more creative and dynamic approach of the B2C markets: new apps, advanced options and real-time evaluation tools. Speed is also a key component.
Cowboy Installation Spurs Pipeline Hiccups
As Glispa grew to support new services, such as full-service e-commerce in multiple countries, so too did the demands on its software development and modern IT orchestration.
The company’s developers increasingly used containerization to shorten software lifecycles, leading the IT team in search of ways to deliver simpler, less-sprawling pipelines and automated reporting.
Glispa’s solution? Embrace DevOps practices and Agile strategies in order to streamline processes.
However, this desired switch to a DevOps workflow would require a revision to its original orchestration platform. Glispa originally used D2IQ’s DC/OS for its orchestration, but its engineering team struggled to manage the pieced-together platform. The team needed a way to reduce headaches, improve pipelines and free uptime spent constantly doing fixes.
With GitLab and Kubernetes, I can have three deploys a day — unlike the classic release cycle of every three months.
“Our DC/OS orchestrator caused problems almost every week,” Paride Martino, a senior systems engineer at Glispa, said. “The Docker registry was unreliable and the approaches used in debugging failed for no apparent reason.”
Martino had previous experience with Kubernetes and knew the only way to migrate over was to use a tool with proper version control that will integrate easily. The only tool that met this criterion and is fully optimized for a Kubernetes migration was GitLab.
Fortunately, GitLab had already been adopted organically at Glispa, but teams had been using the tool without any real directives. Martino and the engineering team decided GitLab Premium met their checklist of required capabilities.
“You cannot have a proper installation with other products or services,” Martino said. “So, if you want something in-house in your own data center, it’s GitLab. With GitLab and Kubernetes, I can have three deploys a day — unlike the classic release cycle of every three months. I know from my steps that the test has passed, and I can promote automatically from staging to production directly in GitLab.”
Transformed Costs and Productivity
Glispa’s developers appreciate GitLab’s rule-based but more accessible network resources. Its system engineers can now define groups and assign roles to provide access to resources such as applications, printers, and scanners, and can easily manage permissions for people working in different repositories.
“It is much easier to manage the users in the installation and we don’t have to create any users, either,” Martino said. “We just click ‘Synchronize’ and the users are in place.”
Martino now sees a major improvement in security and productivity without the need for tricky user authorizations.
“With other tools, it was either a read or a read-only authorization,” he said. “It’s easy with GitLab. If we have a consultant here for a week, we only give him guest access. We can define three or four levels of access or assign a time-limited token that expires after three weeks.”
By using GitLab Premium, Glispa has its pipelines in one place, with robust and automated reporting and continuous transparency.
“Almost all of our projects have a pipeline, but with GitLab, we don’t have to first manage one permission and then give other permissions to something else, and then Docker registration permissions again — it’s much easier,” Martino explained. “All authorizations are regulated in one place. And we don’t have to give developers any instructions, such as ‘Provide now for Kubernetes’ because this is already in the pipeline. You enter your code and it will appear in Kubernetes after five minutes and that’s it.”
Additionally, GitLab’s CI templates enable complex tasks without interruption.
The templating “enables me to do complex tasks without the developers even noticing,” Martino said. “I don’t have to debug the pipelines, I just have to make sure that my template works.”
From creating Java projects to using Docker images, the team uses what GitLab offers. “We use GitLab to store code, develop our solutions, build a Docker container, and then distribute it to Kubernetes,” Martino said.
DevOps for Growth and Innovation
With the introduction of GitLab and Kubernetes, Glispa’s operating costs have also been reduced.
“They are only around 30% of what would be incurred by Amazon,” Martino said. The migration also led to lower costs for the general infrastructure of the group.
“So, one company had all of its clusters on Amazon Web Services (AWS), but after the migration, the cost was reduced to a quarter of the original amount,” Martino said. The new platform also helps to optimize development for other companies in the Glispa Group.
“We work with other companies in the group that are geared towards Windows,” Martino said. “With GitLab, we created a few Windows runners from the pool and tagged them. Now it works.”
Glispa now has the powerful DevOps engine it needs to implement its plans for service innovation and growth. What the developers appreciate most about GitLab is the seamless collaboration.
“I am a systems engineer; that means you shouldn’t notice that I’m working,” Martino said. “Since GitLab works smoothly, you don’t even notice that it’s there.”