Rearchitecting .NET Monolith to Serverless with the power of AWS

project image
Learn how we have designed and guided the rearchitecting effort of an existing monolithic application into serverless architecture powered by a set of AWS services.

Executive Summary

Learn how we have designed and guided the rearchitecting effort of an existing monolithic .NET application into serverless architecture powered by a set of AWS services and with a rewrite to .NET Core.

Key Figures:

  • The project was delivered within time and budget.
  • Pattern Match contributed to the project in the cloud architecture area and a significant part of the development.
  • The project is currently deployed live, but it is still actively developed and provides revenue to the company.
  • Pattern Match contributed about 30-50% of the workforce of the project.

About the Subject

DTiQ offers holistic solutions for the whole value chain of loss prevention and intelligent video solutions for retailers: smart auditing, fraud detection, loss prevention, customer engagement, preventive safety, and advanced analytics.

For this particular project, Pattern Match’s responsibility was to introduce stability, performance, and scalability improvements into an existing data processing infrastructure. The whole subsystem responsible for data crunching was organized in the monolithic .NET Framework application that ran as a Windows service and integrated with other components through the database layer.

Challenges and Objectives

Reliability and ease of development were severely affected by such an architecture. That’s why DTiQ looked up for help in redesigning the whole system to more microservices oriented architecture. During the initial kick-off workshop, we have identified that the operation can benefit tremendously from serverless-based architecture, and we have evaluated that idea with a short feasibility study.

This small sub-project confirmed the initial assumptions. We have continued the effort to redesign the whole architecture towards a serverless system based on AWS Lambda, AWS Fargate, Amazon SQS, and Amazon SNS services.

Some of the noteworthy achievements were:

  • migrating the codebase from .NET Framework to .NET Core throughout the rearchitecting effort,
  • redesigning the proposed architecture to serverless-based one to achieve lower operational cost,
  • improved monitoring - especially with additional, business-based metrics that gave a better insight into a system for non-technical team members,
  • introducing end-to-end observability throughout the system with the help of AWS X-Ray service,
  • development with cost-efficiency in mind from the beginning of the project,
  • introducing infrastructure automation with the use of AWS Serverless Application Model, AWS CloudFormation, and Jenkins-based CI/CD pipelines,
  • successful software development throughout the project lifecycle,
  • introducing best practices for remote-first collaboration.

Benefits

Pattern Match cloud architects proved themselves reliable and proactive partners with profound experience in AWS, Serverless, Data Processing, Data Analysis, and Serverless. Additionally, as our engineers have broad experience in various technologies and domains, we were able to help our clients with cloud-related challenges and bespoke software development for .NET Core.

Pattern Match, from the early beginning, showed their value with our transformation to serverless architecture. Vast knowledge about AWS that Pattern-Match has allowed us to avoid many problems that are common for the newbies in this technology and infrastructure. They support our team on each stage of our project, starting from planning, architecture, and finish on implementation. We are glad to have such a partner, and we recommend them as professionals in Serverless Computing and AWS.

Krzysztof Osiński

VP of Research and Development at DTiQ

Our cloud architects are responsible for the design, development, and maintenance of the platform. Depending on the period, Pattern Match contributed to about 30-50% of the workforce of the project. Thus, it was crucial to maintain close communication and active cooperation, both remotely and with client’s Gliwice-based employees.

Results

The whole project started as a single kick-off workshop that went through 2 days of intensive workshops with a feasibility study that confirmed the initial assumptions. Since then, we moved to the regular software development lifecycle, and the project was delivered within time and budget over a period of 6 months. Over time, we have improved the design, performance, cost-efficiency, and scalability of the solution. What’s also extremely relevant is that Pattern Match helped to deliver the product with the new technologies, methodologies, built-in security, and coding best practices. Everything in collaboration with the team, where such an experience gathered, will be beneficial to all future initiatives.

Want to hear more?

CONTACT US