Microsoft SQL Azure Customer Solution Case Study Software Vendor Offers Business Intelligence in the Cloud as a Competitive Difference Overview Country or Region: United States Industry: Software engineering Customer Profile Based in Portland, Oregon, Accumulus develops subscription management software to help online businesses manage complex, recurring billing and customer life cycles. The company has five employees. Business Situation Accumulus wanted to build a scalable subscription billing service that used a relational database to provide business intelligence for strategic product pricing and profitable customer relationships. Solution Accumulus developed its solution from the ground up for the Windows Azure platform and deployed Microsoft SQL Azure in a multitenant environment for a scalable subscription billing service. Benefits Achieved desired scalability Decreased development time by four months Reduced deployment time by one-half Increased competitive advantage “SQL Azure for business intelligence, combined with Silverlight for data visualization, is like a one-two punch for competitive differentiation.” Gregory Kim, Chief Technology Officer, Accumulus Accumulus develops subscription management solutions that help online companies manage complex recurring billing and customer life-cycle processes. It was founded with the vision of building a cloud-based service, which would offer the company—and its customers—a scalable infrastructure. Accumulus specifically wanted a cloud services provider that offered a relational database, because the company wanted to provide business intelligence that only a relational data model could offer. Accumulus chose Windows Azure and Microsoft SQL Azure, and achieved the scalability it desired. Accumulus developed its service four months ahead of what it could with other providers and deployed it in half the time. In addition, the company can now differentiate itself by providing customers with strategic product pricing, full automation, and deep insight into the recurring customer life cycle. “Scalability is one of the main attractions of Windows Azure. … [Y]ou can add processing power in a matter of minutes—and that’s important for a new company with the potential for enormous growth.” Christian Dreke, President and Chief Executive Officer, Accumulus Situation Founded in 2009, Accumulus addresses the complex subscription management and customer life-cycle processes that online companies face with subscription-based pricing models with its solution, also called Accumulus. Accumulus provides cloudbased, subscription billing, customer life cycle management, and business automation software as a service. It integrates with customers’ IT infrastructure and online systems to help businesses manage everything from customer sign-up and activation to billing and payment processing. The senior leadership team at Accumulus has a long history and extensive experience with providing subscription billing services and, before founding Accumulus, offered subscription billing software through an on-premises server infrastructure model using the Windows Server 2008 operating system and Microsoft SQL Server 2008 database management software. However, with Accumulus software, the team wanted a software-as-a-service model and a cloudbased server infrastructure, instead of the on-premises model. “We wanted a service and cloud-based model primarily to meet our customers’ needs for an agile ondemand solution,” says Christian Dreke, Chief Executive Officer at Accumulus. “It’s no secret that the cloud helps you inherently avoid massive server infrastructure costs and offers a model that lets you pay for what you use—and that’s what our customers wanted, too.” Accumulus also envisioned a cloud-based service for its subscription management solution as a way to offer customers the ability to more easily scale their online businesses. “For online companies with subscription models to grow quickly, they have to be able to quickly scale up their subscription billing systems,” explains Gregory Kim, President and Chief Technology Officer at Accumulus. “Many companies don’t have the time and resources to scale up an on-premises infrastructure, so offering a solution that has elasticity and the ability to quickly scale is key to our value proposition.” In addition to offering scalability for customers, Accumulus itself also needed the ability to scale up. As the young company looked to the future, it wanted the ability to scale its solution to accommodate rapid growth and any number of customers and their billing data. “It’s critical to success not needing to worry about the infrastructure that it takes to grow a software-as-a-service business like Accumulus,” says Kim. Accumulus also needed a fully-relational database in the cloud to deliver business value to its customers. Beyond just offering subscription billing management and the ability to automate the billing and customer life cycles, Accumulus also offers business intelligence—a factor that sets the company apart from its competitors. “We provide customers with deep insights into the customer and billing life cycles,” explains Kim. “It’s a 360-degree view that we can only achieve by cross-referencing data with a relational database. Since that differentiates us in the market, it was a must for any cloud solution that we chose.” When Accumulus started to search for a cloud services provider for its subscription management solution, the company also kept in mind its developers’ skillsets, hoping to find a platform that would enable it to take advantage of existing technical knowledge, which was firmly rooted in Microsoft products and technologies. Specifically, developers were experienced with the Microsoft Visual Studio 2010 Professional development system and hoped to use the same development tools with a cloud platform in an effort to help them get the new product to market quickly. “We weren’t just building a new product, we were launching an entirely new company,” explains Kim. “Whichever cloud provider we chose, it had to be one with, at least, a short learning curve.” Solution Figure 1. By using Accumulus, customers can manage subscription billing processes and the entire customer life cycle through a cloud-based, rich user interface. Accumulus evaluated several cloud services providers, including Amazon Elastic Compute Cloud (EC2), Google App Engine, and the Windows Azure platform. With its need for a scalable solution, a cloud-based relational database, and a platform that would enable developers to use existing skills, Accumulus chose the Windows Azure platform. “The Windows Azure platform was the clear choice for us,” says Christian. “It met all our business requirements, plus has the backing of the reliable Microsoft infrastructure and a full platform as a service.” The Windows Azure platform includes the Windows Azure cloud services operating system, its development, service hosting, and service management environment. Windows Azure provides developers with on-demand compute and storage, and a content distribution network to host, scale, and manage web applications through Microsoft data centers. The platform also includes Microsoft SQL Azure, a cloudbased relational database service that is based on Microsoft SQL Server technologies and also hosted at Microsoft data centers. Subscription Billing Through a Rich User Interface The Accumulus user interface is based on the Microsoft Silverlight browser plug-in, so it is accessible through any Internet browser, but has the look and feel of a rich desktop application. It uses Windows Identity Foundation to authenticate users and allows implementation of single sign on functionality in the future. Customers can integrate Accumulus subscription billing support into their existing IT infrastructure and business systems through the REST-based application programming interfaces (APIs) that Accumulus provides. In addition, Accumulus offers predesigned, hosted web pages that were developed using standard HTML and Microsoft ASP.NET and are accessed through a self-service portal, which gives customers the ability to get started quickly. Once a customer signs up, Accumulus automatically provisions and activates an account and screen payment details for possible fraudulent use, using recognized industry best practices for payment processing. Then, Accumulus uses a sophisticated data model and billing engine to track and manage transaction history and customer account details, automatically calculates fees, processes payments, and sends billing statements. Scalable, Asynchronous Architecture and Storage Accumulus is hosted in web roles in Windows Azure and the company can easily scale up its architecture by adding new web roles to accommodate the computational needs of a growing customer base. The background processing for the web roles is handled by worker roles in Windows Azure—a standard architecture for cloud-based solutions. In addition, the company built an asynchronous architecture for the messaging component of the solution. Accumulus uses the Queue service in Windows Azure for persistent messaging between the web and worker roles, but also takes advantage of Blob Storage in Windows Azure for messaging tasks. The body of each message, which contains textual data, is stored in blobs, and the rest of the message is processed through the Queue service. “Working with SQL Azure was just like working with SQL Server—there was no additional learning curve when it came to building a relational database for the cloud.” Gregory Kim, Chief Technology Officer, Accumulus The company’s primary database is SQL Azure, which it uses to cross-reference relevant customer, product, payment, and promotional data in a relational data structure. Because developers at Accumulus have decades of combined experience with SQL Server in the context of a subscription management solution, the team applied lessons they had learned from the past to develop a new database schema for the cloud-based solution. “We know what works and what doesn’t when it comes to SQL Server and subscription billing,” explains Kim. “We applied our experience with SQL Server when we developed a schema for SQL Azure and it was very straightforward. The new schema represents best practices from the past, but in the cloud.” Accumulus deployed its SQL Azure database in a multitenant environment so that customers share the Accumulus application, but their data is safeguarded and kept separate from each other. Also, by partitioning the database around the various tenants, Accumulus can quickly scale up its relational storage as it acquires more customers, or if its customers have growing data needs. Because the company stores sensitive billing and credit card information for its customers, Accumulus also has a colocated private data center that is compliant with strict payment card industry (PCI) standards. The PCI-compliant data center runs Windows Server 2008 and SQL Server 2008 and seamlessly interoperates with the Windows Azure infrastructure that the company uses for the bulk of its solution. Benefits As a result of using Windows Azure and SQL Azure, Accumulus achieved the scalability it desired for its compute processing and storage needs. Also, customers have the scalability that they need to accommodate growing businesses. Developers at Accumulus were able to use their existing skills and familiar programming models to build Accumulus and deployed the subscription billing service in a shortened timeframe. In addition, the company can differentiate itself among competitors by providing strategic recurring product pricing, full automation, and deep insights into the entire customer life cycle. Achieved Scalability and Extended Scalability to Customers By using Windows Azure and SQL Azure, Accumulus achieved critical scalability for both its computing and storage needs. “Scalability is one of the main attractions of Windows Azure,” says Dreke. “With web roles and worker roles, you can add processing power in a matter of minutes as opposed to days or weeks —and that’s important for a new company with the potential for enormous growth.” The company can also add partitions to its multitenant SQL Azure database, scaling up for increased storage needs. “We saved approximately four months by developing our solution for Windows Azure and SQL Azure, representing a 25 percent productivity increase compared to if we had used Amazon EC2 or Google App Engine.” Christian Dreke, President and Chief Operating Officer, Accumulus In addition, customers can also rely on Accumulus and the Windows Azure platform to scale their subscription billing processes as demand dictates. As Accumulus customers expand, Accumulus can add processing power and storage capacity to accommodate those needs. Shortened Development Time Developers at Accumulus drew from their existing skill sets when they developed the cloud-based solution, which helped speed the development time for the new service. Developers used Visual Studio 2010 and a familiar programming model to build the Accumulus solution, helping to speed development time. “We saved approximately four months by developing our solution for Windows Azure and SQL Azure, representing a 25 percent productivity increase compared to if we had used Amazon EC2 or Google App Engine,” says Dreke. In addition, employees at Accumulus have intimate knowledge of using SQL Server for subscription billing software and were able to quickly apply that know-how to the company’s SQL Azure database. “Working with SQL Azure was just like working with SQL Server—there was no additional learning curve when it came to building a relational database for the cloud,” says Kim. “As a result, our development time was relatively fast, even for a sophisticated solution like Accumulus.” Reduced Time to Market by 50 Percent with Quick Deployment By using Windows Azure and SQL Azure, Accumulus can deploy its service in half the time that it could if it used another cloud services provider. “We can develop locally and then immediately deploy to the cloud with Windows Azure,” says Dreke. “Whereas with other providers, we would have had to deal with infrastructure management tasks, with Windows Azure, we have a comprehensive platform as a service that we can use to deploy our service twice as fast.” Coupled with the shortened development time, Accumulus was able to reduce its initial time to market and will be able to quickly go to market with new features and enhancements in the future. Increased Competitive Advantage Accumulus recognizes that today’s recurring businesses need deep insight into customer acquisition, billing, and retention to implement strategic pricing and build efficient, profitable, and long-lasting customer relationships. At the heart of its competitive advantage is its use of SQL Azure, which gives the company the relational database that is so vital to the business intelligence it offers. “The ability to have a relational data model where we can cross-reference all our data and yield business intelligence for our customers is critical to our success,” says Kim. Also, by using Microsoft Silverlight for its user interface, Accumulus can transform the data from SQL Azure into rich visualizations. “SQL Azure for business intelligence, combined with Silverlight for data visualization, is like a one-two punch for competitive differentiation,” explains Kim. For More Information Windows Azure Platform For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 4269400. In Canada, call the Microsoft Canada Information Centre at (877) 5682495. Customers in the United States and Canada who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to: www.microsoft.com The Windows Azure platform provides developers the functionality to build applications that span from consumer to enterprise scenarios. The key components of the Windows Azure platform are: For more information about Accumulus products and services, call (503) 7700265 or visit the website at: www.accumulus.com Windows Azure. Windows Azure is the development, service hosting, and service management environment for the Windows Azure platform. It provides developers with on-demand compute, storage, bandwidth, content delivery, middleware, and marketplace capabilities to build, host, and scale web applications through Microsoft data centers. Microsoft SQL Azure. Microsoft SQL Azure is a self-managed, multitenant relational cloud database service built on Microsoft SQL Server technologies. It provides built-in high availability, fault tolerance, and scale-out database capabilities, as well as cloud-based data synchronization and reporting, to build custom enterprise and web applications and extend the reach of data assets. To learn more, visit: www.windowsazure.com www.sqlazure.com Software and Services Windows Azure Platform − Microsoft SQL Azure − Windows Azure Microsoft Server Product Portfolio − Microsoft SQL Server 2008 − Windows Server 2008 This case study is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Document published April 2011 Microsoft Visual Studio − Microsoft Visual Studio 2010 Professional Technologies − Microsoft ASP.NET − Microsoft Silverlight − Windows Identity Foundation