The client is a product based organization which has presence in India, UK and US and is primarily into digital media and content publication.
Client had multiple applications which were not scalable and highly monolithic in nature. Since lot of these were legacy applications, extensibility had become a growing concern. Also, multi device support had become a critical requirement. Other requirements included:
- Fast spin to release new solutions
- Enabling multiple teams working on same code base
- Independent scalability of components
- Programming Language agnostic
- Move the Development/QA deployments to AWS infrastructure
OSoft Labs team helped the client with a thorough assessment of the requirements and came up with microservices architecture using containers. Independent self-sufficient services of the system are defined as REST API interfaces i.e. for handling authentication requests, serving long process requests etc. Several messaging patterns (Example: Publisher/Subscriber) were designed and implemented to support asynchronous communication between individual services. This in-turn helped these services to be modular and scalable so that they are easy to debug. This also helped to include new features seamlessly to the existing application with zero down time. Since REST was augmented with messaging, it allowed the application to be more resilient and dynamic. Also, existing release process and corresponding automation tools were fine tuned to deploy and test the services in a AWS EC2 Container service.
OSoft Labs as a technology consulting partner helped existing teams to achieve following business goals in a short span of time.
- Multiple small code bases for easy maintenance and addition of new features
- Enabling teams to work independently of each other
- Simplification in terms of tracking code dependencies
- Reliable and scalable solution
- Easier identification of performance bottlenecks
- Test Driven Development & Test Case Automation
- 95% improvement in terms of software patch deployment times
- Multiple Device Support
ASP.NET MVC, NUnit, REST API, Selenium, EC2, ECS, API Gateway, Octopus, Swagger, CloudWatch