CLOUD NATIVE WEBAPP WITH FAULT TOLERANCE

OBJECTIVE:



  • To avoid downtime & to be able to offer uptime SLA upwards of 99%

  • To increase customer satisfaction by being always available

  • Application to be scalable to adapt to changing needs & patterns of users


PROBLEM STATEMENTS



  • Availability of the web application was a challenge

  • Any hardware failure resulted in downtime

  • Releases resulted in unavailability for short durations

  • Scalability was difficult & time consuming

  • Visibility into system health was limited


CLOUD SOLUTION & APPROACH


The customer had a web application which they offered to prospects via a subscription model. It being a SaaS application, availability was a challenge as it was hosted on a single physical server.


We felt that the application was restricted from realizing its full potential because of the environment in which it was contained. Moving to a cloud environment was recommended to address all the customer concerns & to reap additional benefits that comes inherent with cloud. Microsoft’s cloud adoption Framework was used as a tool to provide guidance & estimation. Azure Migrate was used to assess all the on-prem servers, web applications & databases. A lift and shift migration was performed.


Challenges during implementation:


Volume of data to be migrated & its constantly changing nature proved to be a challenge. We had to ensure data integrity; manual methods of migration that we tried at first either proved to be inefficient or introduced larger downtime. We overcame this by using Azure migration services.


The web application was reengineered to utilize cloud native solutions that helped improve availability, scalability, performance & security. Cloud native scaling enabled cost savings by way of avoiding over provisioning. Elasticity of the cloud enabled us to provision resources Just in Time, rather than over stocking. Azure Cosmos DB was used to store user sessions. Cosmos provided Bounded Staleness which provided great consistency without needing to enable session stickiness.


Redundant set of web servers ensured high availability & fault tolerance. The application was tweaked to avoid dependency on any single server & self healing architecture enabled the application to treat failures as a normal event, rather than as an exception. Azure Functions was used to perform event driven actions.


Azure API management services was used to expose custom APIs to customers in a secure manner. Microservices were deployed to Azure orchestrated containers which made autoscaling easy. Service bus was used to decouple the application architecture & to bring independency to each component. Azure SQL was used to store relational data. High availability was enabled to make sure that a replica of the data is available in a different geography, even if the primary data center went down. Azure Bastion helped us in ensuring that administrators can securely access servers only when needed, instead of a permanent access. Azure Defender & Sentinel made sure that we are protected from attacks and have XDR & SIEM features.


BENEFITS FOR CUSTOMER:



  • 20% faster detection of issues in server / hosting environment-

  • 30% increase in operational efficiencies

  • 50% faster time to market

  • 40% improvement in utilization

  • 20% lower CAPEX

  • 50% improved CSAT

  • Uptime increased from 95% to 99.2%

  • Ease of integration for third parties improved by leveraging the API management cloud service

  • Onboard customers faster because of the scalable nature of application

  • Maintenance became easier

Enter your details to download the case study

close icon

We’re glad you’re here. Tell us a little about your requirement.

  • We're committed to your privacy. Zerone uses the information you provide us to contact you about our products and services. You may unsubscribe from these communications at any time. For more information, check out our Privacy Policy