An independent IT planning information service based on analysis
of Microsoft technologies, roadmaps
and licensing policies.
In-depth reports designed to help you quickly understand the technical underpinnings and strategic implications of new Microsoft enterprise technologies. Our research will save you time by putting all the critical details you need to evaluate Microsoft’s infrastructure products at your fingertips.
|What Windows Azure Means to Software ISVs - Page 3|
|Monday, 27 August 2012|
Page 3 of 3
Introduction to Windows Azure (Sidebar)
Windows Azure is a Platform as a Service (PaaS) that gives ISVs the infrastructure and developer tools they need to build and host Software as a Service (SaaS) applications.
Windows Azure Cloud Services
Windows Azure provides an open and easy-to-use set of services to build and run any application in the cloud; giving customers choice and flexibility to move existing applications or develop new ones using the language and platform of their choice.
At its heart, Windows Azure provides the presentation layer for passing input and output between the SaaS application and its users. In Windows Azure, this layer is called a Web role. Windows Azure Compute Services also provide the logic layer to execute processes or tasks required by the SaaS application. In Windows Azure, this layer is called a worker role. Windows Azure also provides a caching service, which improves application performance for Web roles by caching data needed for the front end of the application.
While Windows Azure has traditionally been a PaaS cloud platform, in June 2012, Microsoft announced the availability of Windows Azure Virtual Machines, which deliver a new Infrastructure as a Service (IaaS) component for Windows Azure alongside Windows Azure Cloud Services, the PaaS features. The addition of IaaS is an important stepping stone for ISVs looking to pursue a SaaS strategy but who are not yet ready to design new applications or redesign existing applications for Windows Azure Cloud Services.
Data Storage Services
All SaaS applications require some sort of storage. Windows Azure provides unstructured and structured data storage services. The unstructured data storage services include the following:
Blobs store unstructured data, such as binary files (for example, audio, video, and photos).
Tables store lists of nonrelational data consisting of rows of entities, each of which contains properties. Tables work well with data that is typically stored for Web applications, such as session state. Tables are similar to storage options available from other public cloud implementations, such as Google BigTable and Amazon SimpleDB.
Queues are lists of messages primarily used to pass tasks from Web roles to worker roles.
Drives are based on blobs and allow access to persistent storage using NT File System (NTFS) APIs.
Most applications require more than just compute and storage services. Windows Azure provides additional services that let ISVs connect their SaaS application to other systems, generate data-driven reports, and deliver media and Web content to consumers. The following services provide connectivity to systems outside Windows Azure:
Windows Azure SQL Database provides up to 150GB of relational data storage accessed using the T-SQL query language. Windows Azure storage is appropriate for application data for which performance is more critical than data consistency. Windows Azure SQL Database is recommended when consistency, transactions, and T-SQL support are required, or if an ISV is already using SQL Server databases and wants to take advantage of PaaS.
Windows Azure IaaS became available in June 2012 when Microsoft announced the availability of Windows Azure Virtual Machines. Windows Azure Virtual Machines delivers IaaS running on Windows Azure.
Windows Azure Web Sites are a new feature that allows developers to easily deploy Web sites to the cloud. Support for multiple frameworks and popular open source applications available for Windows Azure Web Sites includes Drupal, Joomla, Umbraco, and WordPress.
Big Data on Windows Azure provides Microsoft's implementation of the open source MapReduce technology to process large volumes of data on Windows Azure. The Hadoop on Windows Azure service allows ISVs to perform business analysis tasks of large data, such as analyzing Web server logs, search engine logs, and other large statistical data sets by subdividing large amounts of data into smaller sections to be analyzed by multiple Windows Azure systems simultaneously.
Windows Azure Caching is now available in two deployment options: a managed, multitenant cache service or the new caching preview that installs locally on Web or worker roles, leveraging "on-node" memory. The new preview adds additional high availability to ensure that cached data is resilient, and it allows for easy scale-out application scenarios. It is also protocol-compliant with Memcached and can be accessed using the Java, .NET Framework, Node.js, or PHP SDKs.
Windows Azure Virtual Network enables the creation of virtual private networks (VPNs). These VPNs can exist within Windows Azure or enable connectivity to systems external to Windows Azure. VPNs can be created to establish secure connections where a SaaS application may need to transmit data with on-premises systems.
Windows Azure Service Bus allows SaaS applications to exchange messages to systems external to Windows Azure. The Service Bus allows clients to communicate with on-premises applications that are hosted behind firewalls and Network Address Translation (NAT) devices. This occurs by relaying message traffic. Developers register an application with Service Bus, and the application initiates and maintains a connection to the Service Bus through an outbound port on the firewall. A client locates the target application endpoint on Service Bus, and subsequent client-application message traffic is relayed through Service Bus. Without the relay service provided by Service Bus, clients would be unable to initiate connections with applications behind the firewall unless the firewall was configured with inbound ports allowing such traffic.
Windows Azure Access Control Service allows SaaS applications to perform user authentication and authorization against multiple identity systems. Applications using Access Control do not have to authenticate the user or implement the rules configured in Access Control. This means that the developer can extend the application to handle new types of authentication, new identity providers, or new access policies without changing application code.
Windows Azure SQL Reporting allows developers to integrate reporting functionality into their SaaS applications.
Windows Azure Media Services is a set of tools for uploading, processing, managing, and delivering digital media, such as video and audio content.
Windows Azure CDN is a content delivery network (CDN) that caches data on servers around the world to speed access to customer audio, video, and document content.
Windows Azure Management Portal
ISVs and developers are provided an integrated management experience through the Windows Azure Preview Management Portal. The portal works across Windows Azure workloads in a single, modern user experience and is accessible from various platforms and devices.
The portal includes new, rich scenario-based user interfaces, real-time monitoring charts, and diagnostics data to manage the health of your application, enabling the easy deployment, configuration, monitoring, and troubleshooting of applications.
The Windows Azure Preview Management Portal supports the following services:
Virtual Machines (Preview)
Web Sites (Preview)
Virtual Network (Preview)
SQL Database (formerly known as SQL Azure)
Windows Azure Development Tools
The developer tools provided by Windows Azure include support for multiple programming languages such as C#, Java, Node.JS, PHP, Visual Basic, and recently added Python. Windows Azure also supports development environments such as Visual Studio and Eclipse, support for database connectivity through ODBC and ADO.NET and migration from existing databases, and platform toolkits for various devices.
Support for C# and Visual Basic allows developers familiar with development of Web applications running on Windows to begin working with Windows Azure with minimal training. Support for non-Microsoft languages and tools allow developers who do not use the .NET Framework or are not familiar with Visual Studio to develop applications for Windows Azure. Support of these technologies does not necessarily imply that code from other platforms can be directly ported to Windows Azure without some modification, but it allows developers to leverage familiarity with diverse languages and development tools, while taking advantage of the Windows Azure platform. Visual Studio 2012, currently in a release candidate phase, enables source code control and creation of applications running on Windows Azure or on-premises. This allows ISVs to use one development environment for solutions in either environment.
ISVs building SaaS applications that need relational databases can leverage Windows Azure SQL Database (formerly SQL Azure). Developers can create new databases or migrate existing databases to Windows Azure SQL Database using tools provided by Microsoft. The most common features and APIs used by the on-premises SQL Server product are supported by Windows Azure SQL Database. As a result, most existing application code that accesses SQL Server can be migrated to Windows Azure SQL Database with minimal effort. Microsoft also provides Windows Azure Data Sync, a tool for synchronizing data. This tool helps ISVs develop applications that synchronize between on-premises databases and Windows Azure. It also helps mobile users and others who don't have reliable, high-capacity network connections.
Most SaaS applications will need to support heterogeneous devices and OSs. Microsoft provides toolkits to enable connectivity to SaaS applications accessed by Apple iOS, Google Android, Windows 8, and Windows Phone. These toolkits enable an ISV to build smartphone or tablet-capable applications for their new service.