The Problem

The business model is built around delivering value fast for their clients. This means iterating quickly on front and backends while still maintaining high quality. The development team had been using a .NET stack hosted on Microsoft Azure for their backend APIs, but were hitting problems with this stack in particular around operational issues such as performance and scalability. The team are application developers—not specialised infrastructure or operations engineers—and so spending time resolving infrastructure issues in areas which weren’t their core expertise was time not spent on delivering value for their clients.

The Proposed Way Forward

The suggestion was a transformation of the backend development team to start using a new stack based around AWS serverless. Two client projects were piloted which used the Serverless Framework, API Gateway, Lambda, S3, SQS, Cognito and DynamoDB.

Upon the successful completion of the pilots, the decision was made that all new client projects would use AWS serverless for their backend. After each client project launch, developers grew in confidence, gaining experience with several new AWS services and becoming productive with new concepts and development practices such as event-driven architecture, Infrastructure-as-Code, automated integration & E2E tests and continuous deployment.

Business Impact

  • The new AWS serverless stack at the backend is being used for all new client developments
  • Developers using the new stack, both with the development and operational aspects
  • Performance issues are better under control
  • The team has templates, libraries, CI/CD pipeline and documented procedures in place for efficiently rolling out a new multi-account AWS setup and codebase for all new client projects
  • Cloud bills for clients are small and directly tied with their app’s usage levels, due to the serverless pay-per-use pricing model
  • Projects have used a wide range of AWS services including AppSync, API Gateway, Lambda, S3, CloudFront, Cognito, DynamoDB, EventBridge, SQS, SNS, Step Functions, Amazon Connect and many more