Sysfore Case Study – Database as a Service for a Leading Digital Media Company
DB-as-a –Service (DBaaS) provisions database resources automatically based on available system resources, allowing application developers, architects, testers and other users of databases to store and retrieve data without having to deal with much database administration functionality.
DBaaS helps makes DBAs or Developers more productive by making provisioning of required DB infrastructure simpler, automating scaling options based on DB usage and facilitating a standard schema which acts as a fundamental premise for the database in case of database growth.
A leading Digital Media company was looking for a solution which could handle huge volumes of data growth for their Talent Exhibition Portal. When traffic to their portal was peak, everything slowed down and this was something their existing infrastructure could not support.
With careful analysis and detailed consulting, some of the business challenges we identified were:
- They wanted a responsive web application which would generate year on year 2 TB or more of raw data, which could be stored, managed and retrieved when needed.
- They needed a technology stack based on Microsoft Technologies coupled with HTML5, jQuery and Bootstrap framework for responsive design.
- Their business needed a scalable application architecture which could effectively handle both data and user growth flawlessly.
“They were expecting a solution which could handle huge volumes of data growth for their media and content. When traffic to their portal was peak, everything slowed down and this was something their existing infrastructure could not support” Says Ajith Mathew George- CTO, Sysfore Technologies.
- Keeping their business model and infrastructure in mind, Team Sysfore addressed their business challenges as follows:
- We built a scalable Azure Web Apps based multi-tenant application that could increase or decrease compute instances based on the load on the application. Load balancing was auto enabled to accommodate the compute instances being added or removed.
- SQL as a Service/Azure SQL (DBaaS) was used, which allowed tenants to have isolated databases and could be auto created via the application itself and scaled independently based on rules set.
- Their growing data requirements were managed using Azure Blob Storage which provided persistent data storage. Data was isolated at a tenant level via containers. This allowed certain tenants to be able to restrict the consumption of the data stored to be accessible via only the application.
- Geo Replication was utilized to ensure that the data stored would be available at multiple locations (geographically) and would still be available in the case of disasters.
- Azure Table Storage and Queues were utilized to store data that required quick retrieval and processing.
- Redis Cache service was enabled to maintain session states of the application with isolation for each tenant. This allowed the compute instances to be scaled easily without worrying about loss of session data when load balancers routed user traffic based on instance availability.
- Azure Media Services were utilized to encode video assets for smoother content delivery. Dynamic packaging was configured which enabled the files to be streamed based on the internet bandwidth of the user consuming the video. This meant that content would be served to users of different connections/bandwidth, the quality of the video would be altered dynamically to suit the connection of the user.
- CDN was implemented for all non-video assets to ensure seamless delivery of files to users globally with minimal latency.
- Azure Automation was enabled to generate reports on a day to day basis on user activity and user trends.
- Improved availability and scalability for their Talent Exhibition Portal.
- They reduced their delivery time by 70%.
- Database administration and monitoring was now automated. Backup, recovery, optimization, upgrading etc were all automated based on the policies that were defined by their database administrators.
- Database usage was metered based on time, space, availability and resource usage. This made the solution affordable for our client.
- Automated notifications were configured which would allow administrators to understand the overall health of the application and the corresponding service which allow them to address and resolve potential issues without affecting end user experience.
Interested in knowing more on how you can solve your growing data challenges and reduce you delivery time? Write to us on email@example.com