Azure DocumentDB gives Sulekha the speed and flexibility that it needs to handle over 35 million unique visits per month.
Sulekha is one of India’s largest and fastest-growing digital platforms. It helps customers locate and connect with businesses that can provide a variety of needed services. Currently, Sulekha connects tens of millions of users and local businesses across 800 service categories in more than 40 Indian cities and Canada, the United Arab Emirates, the United Kingdom, and the United States. Sulekha also enables customers to rate and review businesses in order to help the platform better meet customers’ needs. In short, Sulekha is a business built on data—lots of data.
Sulekha generates more than 358,000 JSON-based documents per day, and its previous IT infrastructure could not handle its data needs. When Sulekha evaluated options for upgrading its architecture in 2015, the company decided to move from an on-premises solution to the cloud.
In large part, Sulekha chose to do this in order to take advantage of newer technologies available from cloud services and to support its need for rapid app development. For its database needs, Sulekha chose Microsoft Azure DocumentDB because it offers the flexibility, speed, and lower administrative overhead that Sulekha was looking for.
“As we were moving our solution to Azure we were evaluating various options for moving our SQL Server-based storage. … DocumentDB provided the flexibility we wanted with JSON, and the SQL query interface enabled us to rapidly migrate, as our developers were already familiar with SQL.” — Srini Vasan, Vice President of Engineering and CTO, Sulekha
DocumentDB turbocharges Sulekha’s Business
DocumentDB has proven to be a natural fit for Sulekha. The tech company was already interested in Azure because the Sulekha platform uses Microsoft tools and technologies with which Sulekha’s developers already had extensive experience. Beyond simply being an Azure service, DocumentDB also provides a number of additional benefits to Sulekha, including:
A JSON-based data model
Low administrative overhead
Client libraries in all major programming languages
DocumentDB provides better availability and security than Sulekha could easily build on its own in an on-premises solution. Moreover, DocumentDB support for Sulekha has been excellent: the DocumentDB team has directly supported Sulekha to resolve issues quickly. And DocumentDB has met all of Sulekha’s access and location-based requirements. “Some of our team members were suggesting other NoSQL databases,” reports Thulasi Rajasekaran, Cloud Solution Architect at Sulekha. “But while other NoSQL data stores may excel along particular dimensions, none of them could satisfy all of our requirements for easy and rapid application development.”
Srini Vasan, Vice President of Engineering and CTO of Sulekha, agrees: “As we were moving our solution to Azure, we were evaluating various options for moving our SQL Server-based storage. We found for several of the use cases that DocumentDB was the right fit. DocumentDB provided the flexibility we wanted with JSON, and the SQL query interface enabled us to rapidly migrate as our developers were already familiar with SQL.” Vasan adds, “The ease with which we can scale storage and throughput has been another huge plus for us. During the development phase, the support we got from Microsoft was a pleasant surprise and helped us immensely.”
“Some of our team members were suggesting other NoSQL databases. But while other NoSQL data stores may excel along particular dimensions, none of them could satisfy all of our requirements for easy and rapid application development.” — Thulasi Rajasekaran, Cloud Solution Architect, Sulekha.
DocumentDB in action at Sulekha
To see how DocumentDB meets Sulekha’s needs, its useful to see how a typical Sulekha use case works
- Suppose a customer in Chennai needs a lawyer. That customer can go to Sulekha.com and perform a keyword search for “civil lawyers in Chennai.”
- That customer’s particular need is mapped to an existing need-definition. In this example, the user’s keyword search maps to “advocates and lawyers in Chennai.”
- Sulekha’s matching algorithm selects service providers based on the need-definition and the businesses’ matching criteria. This is the step that primarily involves faster queries in DocumentDB.
- Both the customer and the service providers are notified of the match from a notification server running in an Azure Cloud Services worker role.
- “Matched Service Partners” list is sent to the customer by email or Short Message Service (SMS).
- The matched service partners are also notified of the customer’s need by email, SMS, or push notification
DocumentDB by the numbers
What does this use case—and millions more like it—look like in DocumentDB? Sulekha receives 35 million unique site visits per month. This traffic generates 20,000 leads and 358,000 documents daily. At 150–250 KB for each JSON document, this volume results in 60–80 GB of data created each day.
At peak times, Sulekha can receive more than 36 hits per second. To keep up with this level of traffic and data creation, Sulekha currently uses around 60,000 DocumentDB request units (RUs)— units of reserved processing throughput in DocumentDB—across all of its collections.
Easier development with DocumentDB and Azure
DocumentDB speeds up development at Sulekha. “DocumentDB’s flexible schema is huge for us. Our product team launches every week, and having to worry about the data schema would slow that down,” Thulasi Rajasekaran notes. Sulekha developers do not have to worry about structuring data in applications to meet rigid data schemas, nor do they have to spend time changing the schemas within a database. This eliminates time-consuming overhead and allows the Sulekha product team to launch new product versions each week.
“Another benefit of DocumentDB for us is that it is easy to scale up for peak demand,” Thulasi Rajasekaran adds. Because DocumentDB is easy to scale up to meet peak demand—and it is easy to scale down post-peak—Sulekha can better support the needs of its new products as it develops them. The ease of scale-up and scale down with DocumentDB also means that Sulekha can get the performance that it needs while controlling costs.
DocumentDB has also assisted development at Sulekha in another way: it eliminated administrative overhead for the infrastructure. “We like that we really don’t need a sysadmin, not even in a part-time role. Once we set up DocumentDB, it just runs,” reports Rajasekaran.This frees up more resources at Sulekha to focus on development. It also means that developers don’t have to take time away from their work to troubleshoot their infrastructure.
Beyond DocumentDB, Sulekha uses a wide variety of other Azure services. These include Azure Search and Azure Active Directory. In addition, Sulekha uses Azure Stream Analytics to feed real-time data to Microsoft Power BI dashboards. And Sulekha has started evaluating Azure Service Fabric and Microsoft Cortana Intelligence Suite for future use. Azure continues to provide Sulekha with cutting-edge technical capabilities, and DocumentDB continues to provide the speed and flexibility that Sulekha needs to grow.
As we were moving our solution to Azure we were evaluating various options for moving our SQL Server-based storage. … DocumentDB provided the flexibility we wanted with JSON, and the SQL query interface enabled us to rapidly migrate, as our developers were already familiar with SQL.