Building a self-service microservices architecture with Cloud SQL
Editor’s note: We’re hearing today from Entegral, an integrated software platform that enables communication and collaboration between tens of thousands of collision repair shops, insurance providers, and other industry professionals around the world. Owned by Enterprise Holdings, the world’s largest car rental provider and operator of the Enterprise Rent-A-Car brand, Entegral builds apps that make the claims process more efficient, using the best data technology and skills available. Here’s how they’re using Google Cloud to enable their teams to build faster.
When we decided to make the move from on-premises to Google Cloud, this was our opportunity to not only revamp the technologies we used internally, but to also rethink how our teams could operate. At Entegral, that meant breaking our existing monolithic system and shifting to a microservices environment powered by Cloud SQL, which we use as a managed service for MySQL and PostgreSQL. Now, our internal teams have self-service access to the resources they need to develop new applications, and my team is free to focus our energies elsewhere.
Moving to a self-service access model
Our migration to Google Cloud was pretty straightforward. All of our on-premises databases were small enough to just do a simple export of the data and import into Google Cloud, so we were up and running quickly. To support our new microservices environment, we use Google Kubernetes Engine, and Cloud SQL for both MySQL and PostgreSQL as our main database. As part of moving to managed cloud services, we wanted to find ways to improve the operational efficiency of my infrastructure team. We wanted to give other teams the ability to provision their own Cloud SQL databases, all without manual intervention from my group.
Prior to this, each request from other teams fell on my team. Depending on priorities, it could take days to get teams the credentials and resources they needed, and my team was responsible for managing those databases. Now our self-service model has turned all of this into a YAML configuration that takes minutes. All the security credentials are built in and teams can even select preferred engines and versions. This has dramatically decreased the manual intervention needed from our infrastructure team. This process has been completely disaggregated, with few requests coming in directly to my team, and we’ve maintained the ability to track instances across the company.
Not only has Cloud SQL allowed us to move to a fully self-service model, but its benefits as a managed service have improved costs, reliability, and security. High availability is something we simply don’t need to think about any more, as it’s trivial to set up and build into the configuration. And Cloud SQL handles all of the on-demand scaling and upgrades to ensure teams always have what they need.
Adding agile application development
For my colleague Patrick Tsai, team lead for application development, this new model was transformational. His team no longer needs to think a sprint ahead. They have access to the tools they need so they can start building quickly. They were building a spatial view of the company’s network of body shops by bringing together metadata. This allowed for an easy and fast way to visualize and manage their networks on Google Maps. Since this application heavily uses geospatial data, they opted for Cloud SQL for PostgreSQL and the popular PostGIS extension. In a matter of minutes instead of days, they can spin up a new database instance to support a variety of different APIs for this application. To date, Patrick’s team has five different environments with 15 different Cloud SQL instances each and doesn’t need to worry about scaling, upgrading, or maintaining any of them. They can just focus on building new functionality.
Redefining how we operate
We’ve been thrilled with what we’ve been able to accomplish leveraging Cloud SQL and Google Cloud. It’s also changed how we evaluate new technologies. Now that we’re in the cloud, we believe all our services should be able to deliver the same level of self-service access with a single configuration.
We’re continuing to evolve what we’ve designed to be even more dynamic and offer new secure connectivity defaults. And we’re excited to continue to empower Entegral’s teams to be more agile and transform the business in ever-evolving new ways.