We were approached by a large enterprise client that was struggling with a slow and inefficient software development process. The client’s existing infrastructure was outdated and unable to keep up with the demands of their business. They were experiencing long development times, high costs, and low productivity.
To address these challenges, CECG recommended the adoption of an Internal Development Platform (IDP) that would enable the client to build, test, and deploy applications in a faster and more streamlined manner. Our team worked closely with the client to implement the new platform and provide training and support to ensure a smooth transition.
Outcome: Within a year, the number of teams onboarded went from 5 to 90 and the number of engineers reached 1,000, working on 600 deployed applications. This was achieved with a Core Engineering department with under 40 members.
Technologies: Golang, Java, Terraform, AWS
We were approached by a retail bank that had been struggling to adopt containers and increase development velocity. After an initial consultation phase we were tasked with building their strategic Internal Development Platform (IDP) throughout the entire bank. Being a bank, there were very stringent security and governance requirements.
We worked closely with their development teams, security department, and infrastructure engineering department to roll out a multi-tenanted, IDP.
Outcome: The IDP is now the default way to build applications within the bank. Existing departments can deploy a new service within days, meeting all of the bank’s security and governance standards.
Technologies: Golang (platform side), Java (application side), Terraform, AWS
The client had been struggling with Cloud Adoption. Development teams had used a plethora of Cloud Services in a non-standard way. The promise of Serverless, meaning that their development teams can focus on code, hadn’t been met, with teams spending significant time on lower level cloud infrastructure such as VPCs for on prem connectivity, IAM, and struggling to design secure applications.
To address these challenges, CECG embedded into their development teams. We met the client where they were and transitioned them via:
This gave us the buy-in to initiate a more central platform engineering function, and finally an Internal Development Platform (IDP), to handle the low level cloud infrastructure, leaving development teams to focus on what they do best: build products.
Outcome: The time required to deploy a new application to all environments went from months to days. The goal in the near future is to make it in minutes.
Technologies: GCP (Cloud Run, App Engine, Cloud Functions, Cloud SQL), Python, C#, Concourse, and finally GKE
This client had a very complex structure of AWS accounts due to internal account segregation requirements. Any generic changes that affected all accounts required individual deployments to each of the 70+ AWS accounts.
With the aim to reduce toil in the Core Engineering area and allow the engineers to focus on build-the-bank activities, CECG engineers lead the development of a new pipeline to test and deliver infrastructure changes to the entire estate. This included introducing a testing framework and Terraform Enterprise.
Outcome: Best practice of testing IaC introduced. Time to test and deploy Infrastructure changes was reduced from days to minutes.
Technologies: TF, Golang, Python, AWS
CECG joined a project on GCP with challenging non-functional requirements: 500k tps, p95 latency of 300ms and a contractual 99.9% success rate by the client.
The existing system had been built with Cloud Run and Cloud API Gateway and an investigation revealed that it was barely supporting 150K tps, also triggering a 5% error rate and high latency showing as a p95 of 500ms. Cost was also an issue, specially Cloud API Gateway.
CECG presented these findings to Google who confirmed the theory that much of the errors were due to their DDos protection being triggered and their autoscaling was not prepared to handle the spiky traffic.
Outcome: The service was migrated to GKE Autopilot following a joint recommendation of CECG and Google and the non-functional requirements were met. This project was an example of our methodical approach to non-functional versification, writing tests that remained applicable when changing out the implementation.
Technologies: GCP, Serverless
For a client that we’d help them build their Internal Development Platform (IDP) they had already gained a significant return on investment by migrating in-house applications and started building their new applications with the IDP. The primary issue was black box vendor products with limited to know automated tests.
Outcome: We worked with the client to:
Technologies: Java, Docker, EKS
ROI is highly dependent on individual client circumstances, but potential beneﬁts are: