Based in Singapore, aZaaS creates software-as-a-service solutions that help customers run their businesses. Customers were frequently asking for customizations to aZaaS software, so the company decided to build a database-centric business application that could be easily adapted by customers to suit their needs. It created the aZaaS Cloud Application Engine, which customers tailor to manage human resources, customer relationships, inventory, accounting, purchasing, expenses, and more. The solution takes advantage of Microsoft SQL Azure capabilities for relational database management, multitenancy, and high availability. The company hosts the solution on the Windows Azure platform and deploys application instances at Microsoft data centers. aZaaS and its customers benefit from a speedy time-to-market, reduced costs, a highly scalable solution, and a sustainable business model.
Based in Singapore, aZaaS provides software-as-a-service solutions that make it possible for customers to enjoy the benefits of technology and automation without the need to purchase, install, or maintain software, hardware, or data centers. In 2009, the company’s first year of operations, aZaaS won the Startup of the Year award from Microsoft. It has been a Microsoft Gold Certified Partner since 2010 and has participated in Microsoft BizSpark, a program that supports the early stages for technology startup companies with software, training, support, and marketing resources. “Our company name—aZaaS—means ‘anything from A to Z as a service,’” says Kai Boo Lee, Business Development Director for aZaaS.
The company has more than 40 employees who work in China, Hong Kong SAR, Taiwan, and Singapore. Microsoft has honored two of its employees with expert designations: One is a Microsoft Regional Director and another is a Microsoft Most Valuable Professional. aZaaS specializes in cloud solutions based on Microsoft technologies and is also a recognized expert with Microsoft Silverlight, a development platform for creating rich media applications and business applications. Because its employees are dispersed, aZaaS has been an early adopter of Microsoft Office 365 to collaborate and communicate internally. Office 365 is a cloud services solution that combines the familiar Microsoft Office Professional Plus desktop applications with Microsoft Exchange Online, Microsoft SharePoint Online, and Microsoft Lync Online.
Since its inception, aZaaS has been creating solutions that help customers run their businesses. For example, it developed a cloud-based application available on a per-month subscription basis that features functionality for human resources management. aZaaS has more than 200 customers around the world that range from small businesses to enterprise corporations. They were frequently asking for customizations to the human resources application. They also were eager for solutions that they can adopt quickly. “A key factor for our customers is time-to-market,” says Lee.
The company realized that it needed to develop a database-centric business application that featured functionality that could be adapted to fit each customer’s needs. “We decided to build a platform that includes ready-made modules that could be customized with minimal effort by anyone,” says Lee. “It had to be flexible enough that customers could easily develop solutions based on their own business models and processes. We would host it in the cloud and make it available as a service.”
aZaaS wanted to keep application maintenance costs as low as possible for its customers. It had to make sure that the platform was reliable and highly available because any downtime could interrupt service and raise its customers’ costs. The company also wanted to provide one standardized solution that would be easy to upgrade for all customers simultaneously. Another important consideration was scalability—especially because the aZaaS customer base is growing fast. “We’re at the point where we have a lot more customers,” says Lee. “As the volume of transactions on each customer’s application increases, we need to be able to scale on demand.”Solution
aZaaS met with Google to discuss taking advantage of its cloud services, but it choose to work with Microsoft because of its comprehensive partner pgoram. Since its beginning, aZaaS has been developing applications using the Microsoft .NET Framework, which provides a comprehensive programming model and set of application programming interfaces for building applications and services. “A key factor in choosing a cloud platform was the development environment,” says Lee. “We are all very familiar with Windows and .NET technologies. Also, we see great value in partnering with Microsoft. In the end, it was an easy decision.”
||The cost of hosting the SQL Azure solution on the Windows Azure platform is about 20 percent of the cost of hosting it in a customer’s own data center.
||Kai Boo Lee
Business Development Director, aZaaS
The company decided to go with Microsoft SQL Azure, a cloud-based relational and self-managed database service, and Windows Azure, a development, service hosting, and service management environment—both of which are part of the Windows Azure platform. Windows Azure 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. The Windows Azure platform is a general-purpose cloud platform that brings familiar ease to cloud computing by making complicated tasks simple across a dynamic environment. “We needed the relational capabilities in SQL Azure to build complex relationships between the data that customers use,” says Choon Ngee Tan, Regional Director at aZaaS. “At the moment, SQL Azure has the only fully fledged relational database management services available for the cloud.”
Designing the aZaaS Cloud Application Engine
In July 2009, aZaaS set to work on what would become its flagship product: the aZaaS Cloud Application Engine. Its developers built the application by using the Microsoft Visual Studio 2010 Ultimate development system and the .NET Framework. “The aZaaS Cloud Application Engine helps customers develop custom applications that are suited specifically for their needs,” says Lee.
The aZaaS Cloud Application Engine consists of two parts: Application Designer and Application Workspace. The Application Designer interface works with the Windows operating systems (ranging from Windows XP Service Pack 3 to Windows Server 2008 R2 Service Pack 1) and provides users with the tools needed to customize functionality without coding. For example, system administrators can assign roles to manage which employees can access certain application features, forms, or data. After customizing the application, users can then publish their updates to the cloud. From the Application Workspace, users can operate the customized aZaaS Cloud Application Engine in the familiar Windows environment.
The Application Designer features an interface that resembles that of Microsoft Office programs, and it’s targeted at users who are domain experts but who might not know much about coding. “We developed the Application Designer to be used by people who are experts in their business domains,” says Lee. “That is, business users who are familiar their organizations’ work processes can easily design the various modules—and create forms or define reporting mechanisms—to meet internal requirements.”
If customers want additional customizations, they can use action scripts that aZaaS has provided. If they want even further refinements, they can export the solution to Visual Studio and get developers involved. Once the application is created, the customer publishes it to the Windows Azure cloud platform.
Building the Database Functionality
Five aZaaS employees developed the core database portion of the solution. The company took advantage of SQL Azure, a part of the Windows Azure platform, to provide database capabilities as a fully managed service. aZaaS uses the relational cloud database, which is built on Microsoft SQL Server technologies, to provide a fully automated and highly available multitenant database service on the aZaaS Cloud Application Engine. (Multitenancy is storing tenant data—that is, each customer’s information—in separate databases as the simplest approach to isolating and safeguarding information.) “We are capitalizing on the scale-out database features of SQL Azure,” says Lee, “We are also taking advantage of the streamlined SQL Azure features for consolidating databases in the cloud and quickly provisioning databases.”
The company relied on the Relational Database Management Services (RDBMS) feature that is part of SQL Azure to create, access, and manipulate tables, views, indexes, roles, stored procedures, triggers, and functions within the aZaaS Cloud Application Engine. By using RDBMS, aZaaS developers could add functionalities that would allow its customers to execute complex queries and join multiple tables. The SQL Azure RDBMS includes a subset of Microsoft SQL Server built-in, stored procedures and system views.
The company migrated existing database schemas from Microsoft SQL Server. “The migration was very transparent,” says Tan. “Because SQL Azure is based on SQL Server, there was no learning curve for my team. We were able to get productive on SQL Azure immediately. We found hardly any difference between SQL Azure and SQL Server.”
The relational database capabilities in SQL Azure make it possible for customers to use the aZaaS Cloud Application Engine to capture data about employees, departments, customers, and other business information—and then analyze the data and create reports using the application engine.
In its solution, aZaaS takes advantage of the multitenant data architecture available with SQL Azure. Giving each tenant, or customer, its own database makes it possible to extend the application’s data model to meet each customer’s needs. It also makes it easy to restore data from backups. “We partition the aZaaS Cloud Application Engine database for each tenant,” says Tan. “Each tenant can access only those portions of the database that belong to them. It helps that SQL Azure has very granular access control, so we were able to achieve multitenancy quite easily.”
To ensure availability, the company deploys instances of the SQL Azure database to more than one data center location. Currently, the aZaaS Cloud Application Engine is deployed to three Microsoft data centers. Customers can access data from all over the world—even from their mobile devices. “If one site goes down, the other site is still running,” says Tan. “That makes availability very high.”
Creating Additional Application Capabilities
The company developed other components of the aZaaS Cloud Application Engine by using the Windows Azure environment to provide developers with on-demand compute, storage, networking, and content delivery capabilities to host, scale and manage web applications through Microsoft data centers. The aZaaS Cloud Application Engine uses Windows Azure platform capabilities to provide for security, backup, disaster recovery, redundancy, and support. “There’s a little bit of a learning curve when developing Windows Azure–specific applications,” says Tan. “Because we are familiar with .NET, it took us only a month to get familiar with Windows Azure.”
aZaaS is taking advantage of Microsoft Silverlight 4, a development platform for creating web-based applications. Thanks to Silverlight capabilities, customers can easily access the solution’s interface from a mobile device and can operate the interface by touch—including pinching to expand it or reduce it, or rotating—provided the user is employing hardware with multitouch screen capabilities. “We like Silverlight because it makes it possible to create a rich interface,” says Lee. “It gives the interface the feel of a desktop application. Because of that, we transfer very little data between the client and Windows Azure. The overall appearance is one of a very snappy application.”
The solution makes use of Blob Storage, part of Windows Azure, to store file attachments. Blob Storage provides persistent and durable storage in the cloud for text and binary data that is optimized in the SQL Azure tables to take advantage of Windows Azure. Using unstructured Blob Storage is the equivalent of using a local file system. “When you upload a file to the cloud, it’s stored as a blob in Windows Azure,” says Tan. “Plus, because we use Silverlight, we can employ progress control; that is, we can pause and resume the uploading of a file.”
aZaaS tested its web-based application on multiple browsers and a variety of devices, and it has found no incompatibilities with existing technologies. ”We’ve had no problems with interoperability,” says Tan. “Basically, it just works.”
||Scalability was previously a bottleneck for us. ... With SQL Azure, we know our application is going to work no matter how many users are added.
||Choon Ngee Tan
Regional Director, aZaaS
The company deployed the first beta of the aZaaS Cloud Application Engine in March 2010. Since then, aZaaS customers have used the Application Designer to create customized modules that manage human resources, customer relationships, inventory, accounting, purchasing, expenses, trading, sales, and travel requests. When deploying the solution, aZaaS gives its customers a choice: They can subscribe to host the solution in the cloud or they can host the solution in their own on-premises data center. So far, every customer has chosen to host the solution in the cloud because of cost considerations. Benefits
By deploying the aZaaS Cloud Application Engine on the Windows Azure platform and taking full advantage of SQL Azure, aZaaS benefits from faster time-to-market, which is a primary concern of its customers. It also significantly reduces customer costs while offering a reliable and highly scalable solution that can accommodate additional users on demand. The company recognizes that it’s realizing a significant competitive advantage by offering relational database capabilities in the cloud.
“For any customer that’s making use of web-based applications—which is basically everyone—we believe that SQL Azure and Windows Azure is the way to go,” says Tan. “Any functionality that can be provided on-premises—including security, scalability, storage, redundancy, computer power, backups—Microsoft can do it better in its data centers.”
Previously, aZaaS IT professionals had to visit customer locations to install applications. Deployment involved configuring hardware, installing the operating system, and testing the infrastructure. With the Windows Azure platform as its foundation, aZaaS can avoid the on-premises deployment process by offering a web-based application that is accessible from an Internet browser. Plus, users can create application modules using the aZaaS Application Designer within minutes. “When we deploy to the cloud, we go straight to the application level. We can deploy a new tenant to SQL Azure in less than one day,” says Lee. “The entire deployment process is at least nine times faster than it is with an on-premises model.”
For example, the company has one customer that had been trying for 18 months to implement an application that would track invoices, payments, and quotations. When aZaaS provided that customer with the aZaaS Cloud Application Engine, the solution was customized and operating successfully for the customer within two months.
Reduces Customer Costs
aZaaS is using SQL Azure and Windows Azure to provide enterprise-class services that help customers reduce capital and operational costs by as much as 80 percent. Instead of requiring that customers purchase, configure, and maintain an on-premises infrastructure to run aZaaS software, the company relies on servers hosted at Microsoft data centers. “The cost of hosting the SQL Azure solution on the Windows Azure platform is about 20 percent of the cost of hosting it in a customer’s own data center,” says Lee. “When our customers look at the cost difference, they always go for the cloud.”
Since releasing its first beta, the company has deployed the aZaaS Cloud Application Engine to 70 customers. To meet the needs of its growing global customer base, aZaaS is taking advantage of the scaling capabilities of SQL Azure. “Scalability was previously a bottleneck for us,” says Tan. “Now, when customers need to add users to the application, it just takes a few simple configuration changes and they’re up and running. With SQL Azure, we know our application is going to work no matter how many users are added.”
Improves Competitive Advantage
aZaaS recognizes that by offering the easy-to-customize aZaaS Cloud Application Engine, it’s providing a solution that’s more appealing to customers and using a business model that’s more sustainable. “By using SQL Azure, we can provide subscription-based services to a larger portion of our customers at a much reduced cost,” says Tan. “This gives us a more consistent revenue base and makes our solution more attractive to customers.”
Additionally, the company can continue to upgrade and test the aZaaS Cloud Application Engine with no impact to the end users. “Because SQL Azure is a fully managed database service in the cloud, we can add functionality and services without interrupting a customer’s business processes,” says Lee.Windows Azure Platform
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:
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: For More Information
For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. 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:
For more information about aZaaS products and services, call +65 3152 8000 or visit the website at: