green hero

exponent: migrating from monolith to microservices

Shift from a monolithic application to agile microservices case study by Milies software house
locationUSA
duration2020 – 2022
tech stack.net core, aws lambda, react.js, rabbitmq, aws, microservices, migration from legacy .net 4.5 version to .net core 3.1
industryengineering and scientific consulting

about exponent

With more than 50 years of experience in scientific excellence, Exponent, Inc. is a top engineering and scientific consulting firm in the United States. Its team is made up of scientists, physicians, engineers, and business consultants. Operating from 20 offices in the United States and 5 overseas, Exponent is a renowned force in scientific prowess, conducting research and analysis across 90+ technical disciplines.

the need

Exponent aimed to migrate from a monolithic application to agile microservices, utilizing AWS Lambdas, and concurrently upgrade legacy code to .NET Core. Milies took charge of this ambitious project amidst tight timelines.

The reasons many companies adopt microservice architecture in their solutions are system flexibility, independent development, and cost-effectiveness. Other benefits of monolith-to-microservices migration include scalability, fault tolerance, technology diversity, enhanced data management, improved security, and efficient development.

.NET Core migration for Exponent
Benefits of monolith-to-microservices migration by Milies
Microservices development  case study by Milies full-stack software developers

the solution

Milies composed a team of back-end and front-end developers and faced the challenge of understanding and unravelling business logic within the monolithic structure while migrating to .NET Core. The team adopted a dedicated approach, meticulously dissecting the architecture to create microservices. This process demanded a nuanced understanding of Exponent's operations, aligning the microservices with business requirements.

During this process of transition from Monolith to Microservices the Milies team successfully created a migration plan, working on tasks like:

  • organizing the process of migration;
  • architecture design;
  • microservices development;
  • testing and quality assurance;
  • managing and scaling microservices.

Our team of developers and QAs managed to successfully migrate from a monolithic application to agile microservices, utilizing AWS Lambdas, and simultaneously upgrade legacy code to .NET Core, also completing such tasks as:

  • Assigning microservices according to the principle that each microservice is responsible for a certain logic;
  • Addressing the operation of duplicate modules;
  • Determining dependencies between microservices;
  • Defining communication patterns and APIs for each microservice, making sure they work with all system data objects and are backwards compatible with previous versions;
  • Defining approaches for handling data across microservices, encompassing strategies for data distribution, storage solutions, and mechanisms ensuring data consistency;
  • Figuring out how to deal with duplicate data;
  • Designing microservices to run in parallel with a monolith while carrying out the migration process.

Milies showcased unwavering dedication, meeting project goals within set timelines. The executed migration not only met immediate needs but also laid a foundation for future scalability, lowering migration barriers for seamless integration and application migration within Exponent's ecosystem. The microservices architecture set a template for future migrations.

looking for a tech team
to create or redevelop your product?
request a quote