Consulting

Our team of experienced consultants work together with our clients to identify their needs, make informed decisions and solve complex problems.

Delivering at Scale

As software delivery specialists, we leverage our platform engineering and continuous delivery expertise to optimise our clients' tech stack and working practices. We build scalable infrastructure and implement automated pipelines that deliver software faster and safer.

Success Stories

Core Platform for Media Provider

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

Cloud based Internal Developer Platform for a Retail Bank

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

From serverless to platform engineering

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:

  • Standardising on a subset of best practice Cloud Services, used in a consistent way across the department
  • Introducing testing practices to enable, hands free, Continuous Delivery

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

IaC Best Practices for Neo-bank

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

Expert Engineering

CECG engineers are experts in scalable, high-performant, low-latency systems. Software Engineering runs deep in our DNA, with most of our engineers having spent over a decade of their careers developing software across several leading tech companies before moving into platform engineering.

Success Stories

Hitting the scalability limits of Serverless

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

Pioneering packaging and testing of vendor products as containers

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:

  • Package these applications as containers
  • Write black-box functional and non-functional tests to give them confidence, new releases from the vendor could be automatically deployed
  • Decommission bespoke hardware for vendor products and deploying them to the IDP, further reducing the operational overhead for the platform team

Technologies: Java, Docker, EKS

Benefits of Cloud transformation and leverage container based platforms

ROI is highly dependent on individual client circumstances, but potential benefits are:

  • Scalability of applications
  • Increase in product/developer productivity
  • Cost optimizations
  • Quicker time to market for your applications/products
  • Highly scalable and not locked into specific infrastructure or hardware
  • Begin your transformation into sustainable prospects
  • Improved developer experience
  • Decouples infrastructure and developer teams
  • Absorbing the risk of future technologies