Cintra provides award-winning payroll and HR services to a wide range of organisations. The company has been an industry leader for over four decades, while continuing to stay innovative. After launching Cintra Cloud, a public cloud-based version of its payroll software, Cintra wanted to reap the same benefits across the board. So it decided to consolidate all of its customer-facing infrastructure in a public cloud.
With our help, Cintra was able to take full advantage of modern cloud technology. By the end of the project, the company was in a far stronger position from a DevOps standpoint, with more streamlined infrastructure management practices and all of its products able to leverage the same innovative tools.
Cintra had one key problem: its cloud ecosystem was holding its engineers back. The company was locked into an agreement that gave it access to a limited number of cloud resources. This meant Cintra’s storage, networking and computing capabilities weren’t flexible enough to achieve its ambitious growth goals.
Constraints around Cintra’s cloud usage were a crucial part of this. Expanding its infrastructure’s capacity was a long, manual process. Rather than scaling resources up or down on a pay-as-you-go basis, Cintra had to request adjustments to its contract each time it wanted to make a change. This could involve weeks of back and forth, with multiple stakeholders on both sides.
But that wasn’t the only obstacle. Without a powerful API to allow automation tools to interact with cloud resources, Cintra couldn’t fully automate engineering tasks. If an engineer needed access to a new database, they had to log a ticket, so IT Operations (ITOps) would create a new, fully compliant server. This semi-manual process could take days.
Cintra’s former cloud provider also supplied a very limited number of metrics. So Cintra couldn’t work on cost efficiency, as it had little visibility of cloud spending. The same goes for its overall observability capabilities, which made it hard to catch issues as they emerged.
We focused on building Cintra’s infrastructure to last, while working in an iterative, product-oriented way. Cintra set a hard deadline, so we decided to take a “lift and shift” approach for the project’s initial phase. While this part of the migration wasn’t the end goal, it cleared the way for us to deal with the company’s wider automation and monitoring challenges.
Our approach went much further in multiple ways. We laid solid foundations for the new part of Cintra’s platform, so its public cloud-based products could be easily maintained and continuously improved after the project was complete. At every stage, we tailored our solution to the needs of the infrastructure we were migrating. We made sure every building block was reusable and that the foundations we’d set down were strong enough to support further iterations. Even though we pushed to achieve more, we reviewed the project’s scope throughout to hit the deadline.
Ultimately we rebuilt Cintra’s entire legacy platform. Using modern cloud API capabilities, we refined the company’s cloud resources management using Infrastructure as Code (IaC). Combined with a pull request process to streamline changes, these measures have allowed Cintra’s teams to benefit from full automation – a huge leap forward.
Every Cintra engineer can now self-serve when they work on cloud-related features. They’re able to be far more productive as a result, while staying compliant and secure. Before it could take days to access more data storage, now it takes a matter of hours. Fully compliant servers can be ready in under 10 minutes, while being reviewed by those responsible for infrastructure management.
We also strengthened Cintra’s monitoring capabilities, providing hundreds of metrics to choose from, especially around spending. The company can now see which resources are costing it money, so it can optimise expenditure, make more informed decisions and build features in a more cost-conscious way. Every building block of Cintra’s infrastructure now features observability as a given. So each time an engineer creates new resources, those resources are automatically connected to the monitoring solution.
Overall, we didn’t just consolidate Cintra’s cloud capabilities, we gave it the security, flexibility and visibility it needed to grow. Cintra’s infrastructure is now far more resilient, with modern cloud features baked into its platform. We empowered Cintra’s developers by removing a whole range of bottlenecks, so they can move faster, be more efficient and live and breathe DevOps.
Geoffrey and Mark allowed us to consolidate our customer-facing platforms beyond the initial project scope, while continuing to spread DevOps culture throughout our company. With their help, we’re in a far better position to meet our ambitious growth plans.
Seb Aspland, Chief Technology Officer at Cintra