Founded in 2010, independent software vendor Paraleap Technologies created a service that augments the capabilities of the Windows Azure platform. The AzureWatch service provides autoscaling, performance monitoring, and alerts for applications running on the Windows Azure platform. The company takes advantage of the Windows Azure capabilities to run multiple processes simultaneously. It uses two storage services available with the Windows Azure platform—Table service and Microsoft SQL Azure. Paraleap Technologies spent 10 months developing AzureWatch before launching the service in February 2011. Within two months, the AzureWatch service was among the top applications as rated by customers on the Windows Azure Marketplace. Its customers benefit from a reliable and cost-effective scaling service that can be set up in minutes.Situation
Igor Papirov, the founder and Chief Executive Officer of Paraleap Technologies, is a veteran software developer who has been working with Microsoft technologies since 1994. Over the years, he was involved in designing many high-performance computing applications. “The companies I worked for were purchasing enormous amounts of servers and spending a lot of money toward creating a data center infrastructure to handle peak loads that came about during the busy times of the year,” says Papirov. “At other times of the year, the servers were underutilized.”
By 2009, Papirov had begun to realize that cloud computing—services and solutions delivered in real time over the Internet—was a growing force, especially with the advent of high-speed computing and virtualized services accessed over the Internet. Says Papirov, “Cloud computing is a revolution in the computing industry, much like the client–server revolution or the Internet revolution. It’s a new way of doing business and has brought about changes in processes, business thought, and strategy.”
||Customers can create as many rules and capture as many performance metrics as they like. For example, they can decide to scale applications based on a 30-day average or a 30-minute average.
Founder and Chief Executive Officer, Paraleap Technologies
At that time, he was involved with large-scale enterprise projects that needed virtualized, commoditized environments. Before cloud computing, organizations usually had very long purchasing cycles for servers and other infrastructure. With cloud computing, companies can pay as they go and achieve benefits in terms of immediacy and time-to-market.
Papirov, who has been a Microsoft Certified Solutions Developer since 1996, had long wanted to start a company. With the emergence of the Windows Azure platform as the Microsoft cloud services development, hosting, and management environment, he saw an opportunity to create a service that augmented the platform’s capabilities. In August 2010, he formed Paraleap Technologies, an independent software vendor and a member of Microsoft BizSpark, a global program that helps software startups by giving them access to Microsoft development tools, business connections, and marketing support.
The Windows Azure platform provides developers with on-demand compute, storage, bandwidth, content delivery, and middleware and marketplace capabilities to build, host, and scale web applications through Microsoft data centers. “I have a great belief in the Windows Azure platform and the vision that Microsoft has put behind it,” says Papirov. “Microsoft doesn’t just give you virtual machines as its competitors do. It’s a strategically better approach than infrastructure-as-a-service.”
Paraleap Technologies reviewed other cloud offerings including Amazon Elastic Compute Cloud (EC2) and Google Cloud Computing, but found little that differentiated one provider from another. “I think the landscape within the infrastructure-as-a-service offerings is a generic field that anyone can enter and anyone can exit. It’s a commodity,” says Papirov. “For example, Amazon is more of a hardware rental company. The Windows Azure platform is a software development environment, and that’s a key difference.”
Paraleap Technologies could have deployed its service in a competitor’s infrastructure. However, it wanted its service to run on the Windows Azure platform. “We don’t have the resources to maintain the operating systems, the patching, the malware protection, and the load balancing,” says Papirov. “Having Microsoft take care of all the nitty-gritty details of platform management was a key ingredient for us in terms of choosing the Windows Azure platform. We can focus solely on moving the business forward.”
Papirov sees Windows Azure as a stable and scalable service, and one that is akin to a building’s heater that needs a thermostat to make sure that it turns on and off as needed. Paraleap Technologies decided to build its flagship service, AzureWatch, to add that thermostat in the form of dynamic scalability and monitoring of applications running on Windows Azure. In May 2010, the company’s two employees—Papirov and a developer—set out to build the service.
The only development and deployment infrastructure that Paraleap Technologies uses are the Microsoft data center servers running the Windows Azure platform. The company started with a simple proof of concept. It spent seven months in development before releasing a beta version in November 2010. (Development started before the company was officially formed.) It formally launched AzureWatch in February 2011 and has been making iterative updates to the service on a weekly basis ever since.
AzureWatch dynamically adjusts the number of compute instances dedicated to an application based on real-time needs. The service captures, aggregates, and analyzes performance metrics on customers’ applications and matches those metrics against customer-defined rules on a regular basis—usually once per minute. When a rule produces a “hit,” a scaling action occurs.
||Having Microsoft take care of all the nitty-gritty details of platform management was a key ingredient for us in terms of choosing the Windows Azure platform. We can focus solely on moving the business forward.
Founder and Chief Executive Officer, Paraleap Technologies
“We have gone above and beyond to make the service have the lowest possible barrier to entry,” says Papirov. “Customers can install and start running AzureWatch in approximately 10 minutes from registration to publish—without changing a single line of code—and the applications they have developed now have automatic scaling.”
Automatic scaling rules include provisioning for compute power based on multiple parameters: the latest value of performance counters, historical demand based on the aggregated value of performance counters, rate of increase or decrease in demand, time of day, size of queues, and status of the application instance in the cloud. “In the field, we’re seeing a lot of customers use rules based on queue sizes,” says Papirov. “This means that AzureWatch analyzes how many web roles
have submitted queue requests (or jobs) to worker roles. The size of the queues determines how much work there is to process—and AzureWatch adjusts the number of compute instances accordingly.”
The compute service of Windows Azure is built from one or more roles. An application may run one or more instances of each role type. An application also could be composed of one or more instances of multiple role types. For example, the Windows Azure platform supports web roles, which are customized for web application programming, and worker roles, which are used for generalized development and may perform background processing.
For websites that need to scale up when there are more visitors and scale down when demand decreases, it’s common for customers to create rules around CPU utilization and requests per second. Customers can also schedule their applications to scale at certain times. In addition, developers can configure AzureWatch with custom performance counters that trigger scaling events. “Customers can create as many rules and capture as many performance metrics as they like,” says Papirov. “For example, they can decide to scale applications based on a 30-day average or a 30-minute average.”
A simple Windows-based Control Panel utility is provided to set up and configure various rules. Storage, aggregation, and rule evaluation occur on scalable AzureWatch servers running in the cloud. The service features a dashboard—available online or through the Control Panel utility—from where customers can monitor application activity and alerts, and access historical reports and charts. “AzureWatch gives us the tools we need to run our award-winning website, JustProud.com, in the cloud and instantly scale to user demand,” says Djon Kleine, Chief Technical Officer of JustProud, a social media fashion site. “It took us just minutes to enable monitoring and auto-scaling on our latest projects.”
Paraleap Technologies makes AzureWatch available on a monthly subscription basis
. It also offers customers the option of a pay-per-use pricing model. “The customers pay only for what they monitor,” says Papirov. “We make sure that their applications will scale if there’s a sudden spike in demand that they had not anticipated.”
The company considers its customer base to be any organization that is running applications on the Windows Azure platform. “I would venture to say that the vast majority of organizations who are running applications on the Windows Azure platform are using compute resources,” says Papirov. “We provide a key service on top of the platform. Almost any organization will benefit from using AzureWatch for autoscaling or performance monitoring.”
In developing its flagship service, Paraleap Technologies took advantage of the high-performance computing and parallel computing available with the Windows Azure platform. That is, the company can use the platform’s capabilities to run multiple processes at the same time. Those capabilities were especially important when the company was creating worker roles for AzureWatch. Worker roles can be thought of as one of the types of servers—the processing server—on the Windows Azure platform. The worker roles analyze the massive amounts of metrics coming from various customer applications and provide the compute power to manage multiple processes and trigger changes in scaling.
The company also needed a large-capacity database to store and aggregate immense amounts of data gathered from customers’ applications. For that, Paraleap Technologies employs Table service, a storage service available with Windows Azure that provides queryable structured storage. One of the challenges that the company had to overcome was how to connect the non-relational tables to the relational data store of Microsoft SQL Azure
. SQL Azure is the cloud-based relational and self-managed database service available with the Windows Azure platform. “These two database technologies have to be working in unison for us,” says Papirov. “Combining Table storage service with SQL Azure was one of the biggest architectural decisions that we made. Everything else flowed naturally from there.”
For managing relational metadata—which includes highly relational customer information such as profiles and user-defined rules—Paraleap Technologies uses SQL Azure. Paraleap Technologies found it simple to develop this database functionality because SQL Azure is built on Microsoft SQL Server technologies, and its developers were using familiar tools. Plus, the amount of customer metadata it needs to store in SQL Azure is small compared to the amount of data it needed to store in Table storage service
to track and aggregate metric data from customers’ applications, and to calculate when to scale compute instances.
The cost of storing data in Table storage service is based on how many gigabytes of data are stored and the number of transactions, while SQL Azure is priced by the amount of stored data and transactions are free. However, a gigabyte of storage within SQL Azure is a lot more expensive than with Table service. “Storing the smaller amount of customer data in the relational SQL Azure store fit into our pricing model,” says Papirov. “It was a good architectural exercise to see how we could split our data between the frequently accessed, small-sized customer data and the infrequently accessed, large-sized transactional data.”
Paraleap Technologies is also taking advantage of the multitenant database architecture
available with the Windows Azure platform. Multitenancy means supporting multiple customers from the same application and infrastructure. Each tenant has its own set of data that remains logically isolated from data that belongs to other tenants. It is an approach that safeguards customer information but enables the sharing of compute resources. “It makes sense to have multitenant capabilities in the cloud environment,” says Papirov. “We get the benefits of sharing processing power across various customers. Typically, no single customer needs dedicated use of all the compute power that is available from AzureWatch platform.”
The company uses Windows Azure AppFabric
, a set of integrated technologies that connect applications and services between the cloud and on-premises deployments. “AppFabric is the glue that makes all the servers within the data centers for Windows Azure communicate with one another and load balance,” says Papirov.
All the development work that Paraleap Technologies does with the AzureWatch service is performed using familiar Microsoft development tools. This includes the Microsoft Visual Studio 2010 Ultimate development system and Microsoft .NET Framework 4.0, software that provides a comprehensive programming model and set of application programming interfaces for building applications and services. “I firmly believe that Visual Studio provides the best development environment in the world today,” says Papirov.
It took Paraleap Technologies about three months to release the beta version of AzureWatch into production. For its next major iteration, the company intends to use Windows Azure functionality to make AzureWatch provide its status updates, reports, and notifications from mobile devices. “We’re seeing a lot of demand for monitoring deployment on Windows Azure on the go,” says Papirov. “This is a straightforward implementation for us that we are very excited to provide with AzureWatch.”
The AzureWatch service is currently one of the top applications as rated by customers on the Windows Azure Marketplace. Paraleap Technologies and its customers benefit from a reliable and cost-effective service that can be set up within minutes. In addition, by automatically scaling Windows Azure compute nodes up or down to match real-time demand, AzureWatch gives customers confidence that their applications will automatically handle spikes and valleys in usage.
Paraleap Technologies estimates that it is saving approximately U.S.$900 a month by taking advantage of the cloud infrastructure to build and host its service on the Windows Azure platform—rather than run it from on-premises servers. AzureWatch customers spend about one penny per hour to monitor a single server running on the Windows Azure platform. This amounts to between 1 percent and 10 percent of what customers are charged to use cloud services through the Windows Azure platform. Additionally, by using the automatic scaling that AzureWatch provides, customers can save 40 to 60 percent on their costs of using the Windows Azure platform.
“With AzureWatch, we are able to significantly reduce our administrative and management costs, and devote more time to developing our core service,” says Djon Kleine, Chief Technical Officer of JustProud. “Paraleap Technologies has far exceeded our expectations with its powerful yet easy-to-use service.”
It took the two employees at Paraleap Technologies less than a year to build AzureWatch. Within two months of its launch, 100 organizations were using AzureWatch on trial or paying basis. Moreover, customers can set up the service in just a few minutes to monitor and auto-scale compute resources.
“AzureWatch is easy to install, and the monitoring and scaling options are easy to understand,” says Antti Makkonen, Partner of Sopima, a provider of contract management processing software that uses AzureWatch. “When you combine the Windows Azure platform with AzureWatch, you don’t need your own IT infrastructure to run your services.”
By using AzureWatch in combination with applications running on the Windows Azure platform, customers have assurance that their applications will scale if there is a sudden peak in demand. “Table storage service on the Windows Azure platform provide us with mega-scalability and mega-reliability,” says Papirov. “It’s a powerful storage system that was built to handle scalability for sites the size of Facebook or Twitter. It is that powerful. At the same time, it’s cheap to consume. For companies that are managing large amounts of data, Table Storage is the way to go.”
Plus, Paraleap Technologies can take advantage of the capabilities of Windows Azure to quickly and reliably add more AzureWatch customers or to increase the load of the company’s current customer base. That’s because processing for its service is distributed across multiple, parallel servers. “We are currently processing more than a million data points per day for our customers,” says Papirov. “Even, if our customer base jumped by a thousand-fold increase tomorrow, we would be able to employ the Windows Azure platform to handle the load with exactly the same performance characteristics we do now. We wouldn’t drop a single packet or be slowed down by a single millisecond.”
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 customer 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 Paraleap Technologies products and services, call (312) 554-5237 or visit the website at: