Hesam Seyed Mousavi, April 11, 2014
The word cloud, without any doubt, is one of the most ambiguous words out there in the information technology industry today. You ask ten people about how they defi ne the cloud and you will get ten different replies—what constitutes the cloud is rather complex question.
However, there is one common factor that most replies share: Cloud is anything that can be offered as a service for which you don’t need to bother about how it’s implemented and maintained. Also, it’s generally agreed that to utilize the cloud you must have Internet access, without which the concept of cloud does not exist. For the purpose of this article, cloud computing refers to a varied range of scalable services that are available to you on-demand. In order to utilize these services, you need an Internet connection, preferably one with higher bandwidth and low latency. Vendors like Microsoft, IBM, Oracle, and others provide various cloud-based services for which businesses pay as they consume the services.
An Overview Of The Cloud
The concept of service offerings in the Internet world is nothing new. Take, for example, well known e‑mail providers (such as AOL, Yahoo, and Microsoft). They offer free services (like POP, IMAP, and so on) as well as other services (like e‑mail forwarding and advance spam filters), and additional storage at extra cost. This means consumers are intrinsically comfortable these days with the dynamics behind this service model. What is missing, however, is a detailed view of various approaches that most commercial vendors follow when they offer their cloud services. Later in this article you learn more about these approaches.
Why Use the Cloud Now?
You may be wondering why the cloud has gained so much attention in recent years. Perhaps the biggest factor is that it offloads the cost of hardware and software ownership to vendors and allows you to use the cost savings to grow your business. Because information technology is mainly an enabler, cloud carries serious weight as a proposition for many businesses. If you find it difficult to keep up with the hardware and software updates, moving to the cloud makes perfect sense—you avoid upgrades and let someone else handle that work for you. Another motivation makes the cloud more relevant now than ever before—the low barrier to entry. As more and more Internet-based businesses start up and grow at a greater pace, their growth demands a working model where businesses can pay and expand as they grow rather than making investments up front for capacity that they may not need. For medium and large businesses cloud
services offer even more varied solutions. For example, businesses can use cloud services mainly for SDLC and QA purposes and still keep their production environment on-premises. Conversely, if high availability and fault tolerance is desired, cloud services provide an excellent way to mitigate risks in the case of a disaster.
Understanding the Cloud Approach to Services
Today, there is a wide spectrum of services available in the cloud, including messaging solutions, collaborative solutions, identity management solutions, storage solutions, customer relationship management, and many more. Major vendors have also released cloud services based on their widely used on-premises software products. For example, Microsoft has released Office 365, which provides an online version of SharePoint Server, Exchange Server, and Lync Server. Microsoft also provides the Windows Azure platform, which makes the Windows Server operating system and other features available as services.
How Pixar Produced Toy Story 3 in 3D in the cloud
When Pixar produced Toy Story 3 in 3D, it faced a real computation challenge. Toy Story 3 is a three-hour movie with approximately 290,000 frames (for 3D) with every frame taking roughly eight hours to completely render. Even with some of the fastest servers in the market it was a real computational challenge for Pixar to process the movie’s visual effects within a reasonable time frame and to keep the cost minimal. This was where cloud computing perfectly fit Pixar’s needs and rescued the project. Pixar chose the Windows Azure Platform to run the rendering software in the cloud, which allows the user to easily increase and decrease the number of servers equired for rendering. In fact, Pixar went a step further and offered its rending software as a service to smaller studios that would otherwise have been unable to afford the hardware and software required to render visual effects.
Notice how the Windows operating system (which the Azure Platform offers) and Microsoft Office server and client products (which Office 365 offers) are fundamentally different. An operating system provides a core set of functionality (hence the term platform) and what actually sits on top of it can be practically anything—from an e-commerce website to complex video processing software. However, products such as Microsoft Exchange, which is a messaging solution, provide a welldefined set of features that target specific needs. This leads to an important observation: The number of ways and degrees to which a service is consumed and utilized can vary broadly. To address this in the world of cloud computing there are three different approaches to cloud-based services:
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
Infrastructure as a Service (IaaS)
With Infrastructure as a Service (IaaS), you can basically outsource typical elements of infrastructure like virtualization, storage, networking, load balancers and so on, to a vendor of choice. The vendor offering IaaS bills you for the infrastructure services usage as per its service level agreement (SLA). One of the biggest benefits of IaaS is that it provides granular control, in which you can choose the core components for your infrastructure. With the launch of the VM Role on Azure, Microsoft has entered into the IaaS space along with vendors such as Amazon EC2, GoGrid, and OpSource, which already are key players in the IaaS market. For more information on the Azure VM Role, visit http://www.windowsazure.com/en-us/home/tour/compute.
Platform as a Service (PaaS)
Platform as a Service (PasS) provides a core platform from which custom applications can deploy. With PaaS, you don’t have to work with infrastructure level elements and low level configuration of networking, security, and load balancers; all this is done for you by the vendor. The vendor provides you with a fully functional operating system with major platform software. For example, the Microsoft Azure platform provides support for the latest version of the .NET framework. This type of service offering means you can focus on deploying your custom applications on the platform and can easily configure your applications to scale up or down as demands change. One of the key advantages of PaaS is that you don’t have to worry about performing operating system or application platform updates (for example, service packs) and hardware upgrades. The vendor regularly patches your operating system, whatever platform features are being offered (such as the core .NET platform or SQL database engine) and updates hardware on demand to meet your needs. Microsoft offers the Azure platform as a PaaS because it supports various types of Worker Roles and different types of applications. For example, you can run web applications with the Web Role, as well as host middle tier applications, such as Workflow, in the Worker Role. Similarly, SQL Azure provides Microsoft’s core relational database engine as a platform service. For more information about the Windows Azure Platform, visit http://www.windowsazure.com/en-us/home/tour/overview.
Software as a Service (SaaS)
With Software as a Service (SaaS), the vendor manages everything from infrastructure, including load balancers and firewalls, to platforms, such as operating systems and virtual runtime environments like .NET and Java, all the way up to a complete line of business applications and services, such as e‑mail or a Customer Relationship Management product. SaaS provides you with fully provisioned and finished services with a well-defined feature set, which you can potentially later customize to a certain degree. Vendors usually provide browser-based interfaces so users can easily access and customize these services. APIs are also usually made available for developers. Microsoft Office 365 also offers these types of services, which currently include SharePoint Online, Exchange Online, Lync Online, and Office Professional Plus. Most of these online services have subset of the features of their on-premises counterparts. For more detailed information on various services and plans for Office 365 visit http://www.microsoft.com/en-us/office365/online-services.aspx.
Deciding to Move into the Cloud
The cloud is neither a panacea nor a silver bullet that magically solves your business’ IT problems. So how easy it is to move to and/or embrace the cloud? The answer is “it depends.” It’s clear that the cloud has major benefits but every organization should look at other factors to determine if the cloud is the way to go. The advantages of cost savings and on-demand scalability are obvious temptations to move to the cloud, but an organization should also consider the disadvantages of the cloud, such as poor network connectivity issues and lack of global Information Protection laws.
Although it’s impossible to cover every aspect that goes into the process of deciding whether to move to the cloud, the following list points out some key items you need to consider:
- Are network connectivity issues tolerable? This involves such problems as poor bandwidth and low latency.
- Will moving to the cloud impact your company’s organizational IP (information protection) policies? Not every country/region follows the same practices and policies; the information stored in the cloud (stored at the vendors’ data center) may be subject to government audits or other policies. In addition, if the cloud provider hosts your data in datacenters outside of your country, you may run afoul of legislation.
- What if the service becomes unavailable? How will this impact overall business productivity?
- How will you handle information leaks? You need an action plan in case critical information is intentionally/accidentally leaked from the cloud. Leaked information can, for instance, include e‑mail addresses and your company’s financial forecast. How will moving to the cloud impact your processes, policies, and procedures? The vendor’s Service Level Agreement must always fully align with your organization’s operational needs and legal policies.
Windows Azure Platform
Microsoft first revealed the Windows Azure Platform to the attendees of the Microsoft Developers Conference (PDC) in 2008. At the same conference, Microsoft released a Community Technology Preview (CTP) version of Windows Azure, meant only for testing and early feedback purposes. At that time, all Windows Azure services were offered free of charge.
At the 2009 PDC, Microsoft announced that it was transitioning Azure from the CTP stage to a major release for businesses. Initially, it released a pricing model, SLA details, and a mandatory signup process for new Windows Azure Platform customers, but it waived the fees for the month of January, 2010. Starting in February 2010, Microsoft released a version of the Windows Azure Platform that charged customers for their usage per its agreement. Since then, Microsoft has occasionally added to and updated various sets of the Azure Platform components as well as the pricing. These updates primarily keep up with technological changes occurring in the world of cloud computing.
Windows Azure Web Role essentially provides features and functionality to host front end web applications in the cloud. This role comes with a dedicated IIS (Internet Information Services) web server which allows you to deploy Web-based applications on this role. As with other roles, you can easily scale up and down the resources using the configuration file. Microsoft Azure SDK comes with tools that integrate with Microsoft Visual Studio, which let developers build, test, and deploy web-based applications on Web Role. For more information on the Web Role please visit https://www.windowsazure.com/en-us/home/features/compute.
Although Web Role is ideal for hosting web-based applications, it does not provide features to execute long running tasks like business workflows or complex calculations that require lengthy processing. To decouple back-end operations from the front end, the Worker Role was introduced. The core function of the Worker Role is to process tasks that are considered too costly for the Web Role. Commonly, Web Role delegates processing to a Worker Role and focuses only on front end–related activities, like hosting web sites that provide a user interface. Azure allows you to scale up and down both Worker Roles and Web Roles independently. This means you can increase or decrease the number
of roles based on your specific needs rather than consuming resources that you don’t need. To see more, visit https://www.windowsazure.com/en-us/home/features/compute.
Recently added to the Windows Azure platform, the VM Role enables you to run a virtual hard disk (VHD) image of Windows Server on the Windows Azure Platform. You can create a VHD file on premises and then upload it to the Windows Azure Platform. The VM Role is unique in a sense that it allows you to perform a great number of customizations at the operating system level. It also provides you with the flexibility to migrate existing applications to the cloud. Administrators can remotely log in into the VHD and perform administrative tasks as needed. However, unlike Web and Worker Roles, operating system patches are not automatically applied to the VM Role; it’s your responsibility to keep the operating system updated with the desired patches. In a nutshell, the VM Role brings you the ability to perform customizations at the operating system level, which is absent from the other roles. For more information on the VM Role please visit http://www.windowsazure.com/ en-us/home/features/virtual-machines.
Windows AppFabric acts as a cloud middleware service stack that has services like caching, access control, identity management, and more. These services help developers to develop, deploy, and manage robust Azure applications in the cloud. Because developers can decouple the application development pieces into logical components, the application development itself is rather simplified. For example, rather than worry about providing access control features, developers can rely on the Access Control Service for that.
Windows Azure decouples management of identities and access control from the rest of the application development process. This offloads the plumbing that developers usually need to integrate their applications and replaces it with a variety of prebuilt identity providers. Access control is also provided as a feature of Windows Azure and it takes care of integrating your application with commonly used identity providers like Active Directory, Windows Live ID, Google, Yahoo, and Facebook. Access control also enables developers to create authorization rules to manage permissions using claims. For more information on access control visit https://www.windowsazure.com/en-us/home/features/access-control.
Content Delivery Network (CDN)
Users consuming Microsoft Azure data from various geographical locations other than where Microsoft data centers are located may end up paying considerable high latency costs as they download data. To overcome this challenge, Microsoft provides a Content Delivery Network (CDN), which caches data in various geographic locations across the globe. This helps reduce the number of hops that a user request goes through before the data is finally delivered to a user.
For more information on CDN please read https://www.windowsazure.com/en-us/home/features/cdn.
Microsoft Azure Caching service provides a distributed in-memory cache for Azure applications. This gives developers an alternative to the disk based caching, which is slower in nature and does not scale very well. Developers can utilize the caching service to store data based on an individual user session or to store and share data across the applications. As with other Azure services, this service comes with 99.9 percent SLA, with a pricing model based on the Caching service usage. For more information on Microsoft Azure Caching visit https://www.windowsazure.com/en-us/home/features/caching.
Windows Azure Storage provides storage services as part of the Windows Azure Platform. These services include Blob storage, Tables, and Queues. Blob (Binary Large Object) storage specifically stores unstructured digital assets like audio, video, and images. Tables provide containers for more structured data; however, they do not allow you to create relationships between the data (this is often referred as NoSQL storage), but this allows it to scale to extremely high volumes. For traditional relational database features, you should use SQL Azure (described in the next section) and not Azure Table storage. Queues allow you to perform messaging between applications in a consistent
and reliable fashion. Essentially with queues you can easily decouple the communication and dependencies between application components, where one component places messages in a queue and another component pulls them later when it is ready to process the data.
Azure storage is exposed via HTTP, REST, and OData endpoints, making it easily consumable by various platforms and devices. The storage products provide various levels of permissions support though, meaning these multiple endpoints don’t translate into poor security. This design choice by the Windows Azure team provides greater flexibility in the way you access the Azure storage. For example, your on-premise applications can use the Azure storage for storing data on the cloud and thus remove the need of on-premises storage. On the other hand, cross platform applications can easily consume data by using REST style queries to access the Azure Storage. For more information on Azure Storage visit http://www.windowsazure.com/en-us/home/features/storage.
SQL Azure provides cloud based relational database service based on Microsoft SQL Server technologies. You can utilize SQL Azure relational database features both from on-premises and online solutions. As with other Azure Platform services, you receive high availability, fault tolerance, and scalability as part of Windows Azure SLA. From a developer’s perspective, you can use existing development and management tools to work with SQL Azure, which means that you’ll have a small learning curve. For more information on SQL Azure visit http://www.windowsazure.com/en-us/home/features/sql-azure.
Windows Azure Appliance
Microsoft Azure Appliance enables large enterprises, service providers, and government institutions to deploy Windows Azure and SQL Azure in their own datacenters using a Microsoft recommended infrastructure, which is provided through various Microsoft partners including Dell, Fujitsu, eBay, and HP. Windows Azure Appliance helps organizations to meet their unique security, availability, scalability and information protection policy needs while letting them enjoy the benefits of private, and public cloud computing. You can learn more about Azure Appliance by visiting http://www.windowsazure.com/en-us/community/partners/windows-azure-appliance.
Windows Azure Marketplace
Microsoft Azure is a powerful IaaS and PaaS cloud platform but there are times when businesses require off the shelf and ready to be consumed SaaS applications that are built and tested specifically for the Windows Azure Platform. Similarly, there are times when you need data from certain knowledge domains (for example, financial, governmental, and so on) without going through the hassle of arranging it yourself. To meet these requirements, Microsoft launched Windows Azure Marketplace, an online marketplace where you can purchase or sell software as a service (SaaS) applications and datasets.
Microsoft Data Centres
Microsoft Windows Azure is a cloud based service based out of 6 Microsoft data centres – Dublin, Amsterdam, Chicago, San Antonio, Singapore & Hong Kong and designed so that applications can run with the utmost reliability and scalability.
What Is Windows Azure And How You Can Benefit From It?
Windows Azure is a cloud based platform by Microsoft for developing, deploying and managing applications right from the cloud. Windows Azure is powered by the global network of Microsoft-managed datacenters and is both a Paas (Platform as a Service) and Iaas Infrastructure as a Service . Windows Azure can be used with various programming languages, frameworks and tools for developing web apps, mobile applications, managing Big Data, for storage and backup of data and a lot more.
Benefits Of Using Windows Azure
As evident from the above details, you should by now have a brief idea about what is Windows Azure. Now, let’s explore the various services offered by the cloud platform and their utility for corporate and individual users.
Flexible Development And Testing Environment
Being an MSDN subscriber, you can access the image gallery for different versions of the Windows Server, as well as other Microsoft products like the SQL Server, MS SharePoint Server and others. You can use these server images for making virtual machines for testing out your applications in different environments. Furthermore, you can even deploy your very own customized Windows or Linux images into a multi-zone, SLA production environment and that too in a matter of minutes.
Create And Deploy Mobile Or Web Apps
Windows Azure can be used for making mobile apps and you can store your data to the cloud, as well as provide services which may require authenticating your users and providing push notifications. Similarly, you can develop and deploy web apps, without the need for maintaining your own IT infrastructure, which can save you a lot of money and time on buying, managing, maintaining and configuring hardware and operating systems.
Backup, Recovery And Big Data Solutions
Windows Azure also provides scalable, cloud based backup and recovery solutions for data. You can also use Windows Azure to as a Big Data solution to manage your large chunks of data through Microsoft Excel. For more details, see our post about Big Data Management.
Windows Azure provides cloud based infrastructure that can be adapted to the changing needs of your business. With Windows Azure’s pay-as-you-go approach, you only pay for the amount of space that you need, instead of having to pay for empty storage which you may never use. For more details about the infrastructure services offered by Windows Azure.