Microsoft announced Windows Azure Platform in October 2008 and joined cloud service providers list. The contribution was invaluable and shaped many different aspects in very short duration and became commercially available on 1st Feb 2010. Enduring the promising provisions Windows Azure was ranked as first (First in Cloud Speed Test conducted by Compuware.
The purpose of this article is to highlight the benefits offered by Azure and its offerings. The ride will be very thought-provoking and allows its readers to get in-depth information about azure and why azure can be one common shop for cloud development and deployment?
How azure allows small, mid or large cap businesses to grow? How it reduces existing IT costs and allows the organizations to be focused towards business expansions? And much more …
Every organization IT environment comprises of following resources:
Assimilating these resources organization delivers critical enterprise products and customer experiences. Delivering these solution organizations requires significant investment of time and efforts. Each step during execution comprises of heavy or some cost for planning, organizing, purchasing and maintaining resources.
Additionally, organizations have to perform many different strategies and processes for risk mitigation and to ensure seamless execution of deliveries and businesses. As a business solution provider organizations are responsible for reliability, scalability and availability. But at times when business demand diverges it becomes cumbersome to cop-up with the pace of the growing or falling needs. Consequently, organization fatalities businesses, loses profits or harm new business possibilities.
To compete efficiently and effectively there is a need for IT environment that can scale as per the pace of changing needs or demands. The environment should be responsible for reliability, scalability and availability at much lower cost. Less effort should be put-in while maintaining the deployments.
Constituting everything and considering re-utilization of existing skill set introduces a new concept known as Cloud Computing.
Microsoft defines cloud computing as:
“Cloud computing is an approach to computing that’s about internet scale and connecting to variety of devices and computing resources.”
Microsoft Windows Azure is Microsoft offerings for cloud based computing and provides PAAS service model. Platform allows hosting highly secure application under Geo-redundant Microsoft data centers. Using the Windows Azure platform, organizations can easily deploy applications in the cloud-based infrastructure without incurring huge costs involved in planning, purchasing, configuring, and maintaining the hardware and software required to deploy the applications.
Before cloud, organizations need to install and setup multiple applications, software and hardware to ensure seamless execution. Additionally, organizations invest lots of efforts, costs and time in purchasing licensing, maintaining resources and upgrading existing resources.
Supporting Heterogeneous Environment
Almost every organization today require heterogeneous environment. Large organizations might have prepared themselves but have invested lot of funding and effort before gaining business out of it.
Sometimes organization only needs this environment for specific business unit whereas the cost of implementation almost remains the same. Transforming server based systems to dynamic environment is still a challenge and ensuring the support for consistency, security and accessibility require many cycles of executions.
Considering independent IT infrastructure challenges and ensuring the optimal usage of its available or newly demanded resources, moving or upgrading to new technologies are a big challenge. Organizations needs to invest periodically in new technologies, ensures upgrading existing skills or hiring new talents to meet upcoming market demands. The process involves risk, effort and sometimes a heavy cost.
Focusing business opportunities with the independent IT infrastructure is not so easy. Companies need to consider various parameters while expanding businesses and considering new opportunities. An opportunity that leads infrastructure changes either gets dropped or involves lots of risk. If opted, organization needs to go through a slow process.
Organization requires their businesses to be flexible to enhance market coverage. The process includes service level agreements and global data centers for quick response. Maintaining agility with the deliveries requires strong processes and automation. The specific need requires specialized skills and talent. Managing all this and ensuring on demand computing requires heavy investment and high availability businesses.
The cloud based service provides us an application in relatively lesser time rather than the traditional approach. Prior methods require months to integrate and then implement the resource. It includes development and deployment cost and sometimes causes delays.
Reliability and Availability
Most applications today do not run on a single machine. Oftentimes an application’s workload is spread out over several machines to increase availability, allow for scalability, and eliminate any single points of failure (reliability). Delivering most reliable and always available product/service for client is another major challenge for companies. Meeting such expectation requires organizations to invest and to have dedicated teams. As the investment is huge and requires dedicated resources not every organization meets such demands. Consequently organization lacks to take new challenges or loses customers.
AZURE SERVICE MODELS
Considering IT resources cloud computing infrastructure is categorized among following:
- Infrastructure as a Service (IAAS)
- Platform as a Service (PAAS)
- Software as a Service (SAAS)
Infrastructure as a Service
Infrastructure as a Service is also known as Utility Computing. Under IAAS vendor provides everything from networking till visualization and consumer pays for capacity and storage.
IAAS offers platform visualization environment. Very limited providers offer Operating System and for others, consumers themselves install and manage operating systems.
Rather than purchasing servers, hardware, load balances, data centric locations, network devices, skilled hardware resources, consumer only abides licensing costing for operating system (elective as per cloud provider) and software installed.
Microsoft offers infrastructure as a service (IAAS) by adding remote desktop and virtual machines. IAAS empowers organization by providing on-demand computing and storage to host, scale and manage applications and services on-premises with a dedicated hoster. Pooling on-premises computing and storage resources, IAAS allows scaling quickly and easily, globally or locally.
Platform as a Service
Under PAAS everything from networking till runtime is provided and managed by platform vendor. It empowers organizations to deliver quality delivery without the cost and complexity of buying and managing hardware and software.
From organizations it also reduces the load of buying and maintaining licenses of software and almost provides the whole kit require for hosting applications/solutions.
Microsoft primarily focused and offered PAAS based model. Subscribing to the service organizations can easily and quickly develop and deliver applications to highly secured Geo-redundant cloud environment of Microsoft. It provides power and control required for developing and deploying cloud solutions. Microsoft offers Windows Azure Platform to meet organization PAAS needs.
Software as a Service
Under SAAS cloud provider ready to use applications with cloud computing benefits, for example computation services, storage services, etc. Cloud providers manage everything from networking till applications including purchasing of software licenses.
Microsoft offers Microsoft Online Services. Subscribing to these services organizations can access applications anytime, anywhere and independent of devices. Additionally, organizations only have to bear the subscription cost for the services utilized and skip its licensing cost.
Microsoft offers Windows Azure Platform for deployment of Microsoft and non-Microsoft based solutions to cloud environment. Platform introduces interoperability and allows developing application using Microsoft technologies like .Net and non-Microsoft technologies like Java, PHP, Python and Ruby. It offers various applications communication using protocols like HTTP, REST, SOAP, ODATA and XML. To fulfill Microsoft commitment of interoperability Microsoft offers Open Source Windows Azure resource to support non-Microsoft technologies.
WINDOWS AZURE DIFFERENTIATORS
In addition to Microsoft there are number of other cloud computing vendor’s offering similar cloud computing service models. For example:
- Salesforce (Force.com) provides PAAS services to its consumers.
- Google (App Engine) provides PAAS services for its consumers.
- Amazon (AWS) provides web services for IAAS offerings.
Providers offer pay-as-you-go (usually hourly) plans, monthly pricing plans, “membership” discounts (where the user receives a discount in usage rates in exchange for an extra yearly payment), or any combination thereof.
Windows Azure has beaten all competitors in a year’s worth of cloud speed tests, coming out ahead of Amazon EC2, Google App Engine, Rackspace and a dozen others. For additional information visit here.
Service Level Agreement
SLA is the key differentiator among cloud providers. AWS provides SLA’s for Amazon storage service, SaleForce don’t provide any SLA’s and Google. In comparison with AWS, Google and Salesforce, Windows Azure provides separate SLA’s for Compute and Storage. Azure ensures external connectivity by 99.95% of the time. In addition it detects the not running processes within 2 min followed with initiation of corrective actions.
Supported Cloud Model
Google and SaleForce only support application hosting services and Amazon AWS supports attached services, application hosting services and rich internet services through Virtual Machines. In comparison Windows Azure supports attached services, application hosting services and rich internet services through PAAS. In comparison Windows Azure computing architecture consists of Microsoft Windows 2008 with Windows Azure Hypervisor.
Service Integration in Azure is achieved using Service Bus and Access Control Services. Service Integration in Google App Engine is done using Authentication Services. Service Integration in Salesforce is done using Offline Application Development Synchronization whereas Amazon AWS has limited or no options for service integration.
Amazon AWS computing architecture consists of Amazon EC2. Amazon EC2 provides virtual machines to host different installation. Google App Engine accepts code (java or python) and deploys it to the relevant architecture. Salesforce implements metadata driven software applications that shares hardware in hosted environment. Under Salesforce customer has no control over hosted environment.
Windows Azure offers choices to it developers for example .net, PHP, python, ruby and java. Development can use Visual Studio or Eclipse to build application. Windows Azure also supports multiple internet protocols including HTTP, REST, SOAP and XML. Amazon AWS provides community based SDK for development. Google App provides Google App Engine SDK and NetBeans plugins for development. Salesforce provides Adobe Flash Builder, Eclipse Based IDE and custom development tools like Visual Process Manager for development.
Why to Choose Azure?
Microsoft delivers a holistic business productivity approach to meet organizations ever-changing business demands. Azure infrastructure gives the choice and control to respond to evolving business needs. Organizations can choose from on-premises, online services, or hybrid solutions. And, because solutions are built to work together—not as an isolated set of applications—they’ll help enterprises to make the most of its assets and eliminate costly redundancies.
Reduce and control hosting costs
Azure offers easy to use portal for both developers and IT professionals. Portal offers highly automated provisioning that setup required development, staging and production environment and ensure secured communication over created environment. This enables organizations to deliver the solutions quickly, securely and efficiently. Developers can use familiar programming languages and common development environments to build their applications.
Costing and Elasticity
Microsoft offers 100% credit for one month and three months free access for its new users or researchers.
With Azure organizations do not own complete infrastructure. This enables organizations to eliminate capital expenditure and consume resources as a service. . It replaces upfront costs and capital expenditures (CAPEX) with operational expenditures (OPEX). A Cloud environment should also drive down ongoing support costs. Moreover, an organization does not need to purchase the new infrastructure. The new model help in giving them metered service. Organization pays as pay-per-use model. The model also helps the enterprise to minimize the cost as it help to save the unused server space. This enables organizations to save development, maintenance and security cost. Organization easily sync-up with the rising or dropping demands and benefited by best utilization of money and resources. Azure offers both private as well public model for cloud computing
Microsoft offers unlimited 24×7 phone support for Azure platform users. It allows it user to deploy application to hosting environment anywhere, anytime and with support for required assistance. Platform users can call on phone and get assisted there and then itself.
This will also give them a chance to use the new technology without worrying about the extra IT cost. Before switching to the cloud service every organization must have a clear idea about the cost benefits, they will get, if they change their IT setup from their traditional on premise to cloud based service.
Azure enables organizations to go “Green” and gets benefited by reducing power supplies, cooling needs and space for keeping large servers and systems. Rent based service allows organizations to serve more by sharing same computing power.
With Azure use can access systems, regardless of the location or devices. Offering Azure organizations enables its business to expand and avoid issues like deployment issues and security consideration. This enables teams to reduce the administration of applications and re-assign team focus towards more strategic decisions.
The Azure not only helps to minimize the hardware and software cost, but it also help in dealing with the scalability issues. By utilizing Azure, organizations can easily and quickly meet varying user loads without having to engineer or re-engineer peak loads. Azure offers organizations the power to add unlimited servers and data centers. Organizations can meet on-demand needs easily and only pay on pay-per use model.
Reliability and Availability
Reliability is often covered by a service level agreement (SLA). Azure facilitates businesses with disaster recovery options and offers more reliability with distributed caching and ensures quick and reliable deliveries. To ensure more reliable network Azure offers to store all information replicated thrice on Azure environment. Azure also provides fault tolerance by creating backup copy of all data in different Microsoft data centers.
Azure ensures 99.9% uptime and 24/7 support and ensures cloud power never runs out. The service providers have made an arrangement by which they guarantee to provide the services even in case of natural disaster. They ensure that they are capable enough to sustain through any kind of unexpected scenario.
Windows Azure is available in multiple datacenters around the world, enabling organization to deploy your applications close to your customers. Microsoft data centers have ISO27001 Certification and data Centers are managed by highly trained staff. Microsoft data centers are protected by best security mechanisms. Microsoft has Microsoft Global Foundation Services Organization dedicated setup for security and compliances of data center.
As a PAAS provider, Azure provides computing environment that ensures applying latest patches, maintain operating system and manages all necessary upgrades. Azure provides application development environment and provides ability for monitoring, logging, debugging and managing.
Windows Azure provides on-demand infrastructure and bandwidth to fulfill business needs. Utilizing load balancing feature organization delivers application that automatically handles load peak.
Offer SLA backed by Microsoft
Azure provides separate SLA’s for each service i.e. for SQL Azure, Windows Azure and AppFabric.
SQL Azure SLA ensures connectivity between database and MS Internet Gateway with the monthly availability of 99.9%.
Windows Azure SLA ensures that correctly formatted request must be processed by 99.95% of the time. Process that is not running will be deducted in two minutes and followed with the initiation of corrective action.
AppFabric SLA ensures connectivity of the services with MS Internet Gateway. SLA ensures correctly formatted request must be processed.
Flexible working practices
Azure allows employees to be more flexible – both in and out of the workplace. Employees can access files using web-enabled devices such as smartphones, laptops and netbooks. The ability to simultaneously share documents and other files over the internet can also help support both internal and external collaboration.
Azure allows reusing code base created using Microsoft .NET, Microsoft Visual Studio, Microsoft SQL Server, and Windows Server.
During on-premises situation architect and developers rarely pay attention towards resource utilization, bandwidth, computation cycles and storage cost. Instead Windows Azure Platform requires procure an account to track usage and billing. Account can have individual/multiple subscriptions billed either on a pay-as-you-go basis or a flat monthly fee as per the contract. Microsoft offers Microsoft Online Services Customer Portal (MOCP) to allow its user to view past and current bills. Microsoft offers following charges:
These are the flat monthly charges for base units billed in advance for next month’s service. If subscription does not include base units then Microsoft will not have any recurring charges and this section will not appear.
Monthly usage charges are for the past month’s usage that surpasses the base units included with the offer. For subscriptions that have base units included in the offer, this is also known as overage.
The section provides a detailed list of each windows azure resource consumed for each date in the selected billing period.
This list can be filtered by name, date, region, and type of Windows Azure resource. Depending on the usage, there can be thousands of rows of daily usage data. If consumer wants to analyze this data more easily then the provided usage data can be exported to a comma-separated values file (CSV) viewable in Microsoft Office Excel and other programs.
Azure paying plan allows its customers to pay by the connection, by the database, by instance size and service hours, and guarantees 99.99% SLA in most categories. The various and flexible pricing plans benefits all organizations. Microsoft also allows offers TCO calculator and other tools to help determine the most advantageous plan for targeted business.
On the basis of charges offered Azure is distributed into following components:
Azure has no charges for data transmission inside azure cloud environment including data centers. For example any data written to windows azure queues won’t incur any bandwidth costs or storage cost.
Server Usage Charges
Server usage charges are based on the number of roles and the time an application remains deployed on windows azure. That means that, even if the application has no requests from end users the billing system will charge per instance-hour (not minutes) basis. Hours are billed based on the number of clock hours your service was deployed multiplied by the number of equivalent compute instances included in deployment.
Transaction charges comprises of queues, tables and blobs. Microsoft has no bandwidth or storage cost for any data written to queues whereas the queues will incur per-transaction fees. Queue transaction as a whole represents peeking, reading and writing an item.
Storage Usage Charges
Storage usage charges incur storage carrying costs of tables, queues and blobs. The charges are on monthly basis, per each GB. The azure storage usage is measured each day during a billing cycle and a daily average is computed. The charges will be computed by multiplying this daily average by per GB charges. Monthly charges are always assumes 30 days cycle. Another alternate is to pay onetime bandwidth costs.
SQL Database Usage Charges
SQL Database usage charges only contain SQL Azure Database.
Messaging charges represents charges for data transmission between server (Web, Worker and VM’s) and app fabric. It includes charges directly associated with usage of service bus and access control services.
Availability of content using Windows Azure CDN’s local caches is charged separately. The charges are applicable as per GB and available in two editions – web and business.
The charges include the ingress and egress charges. Ingress charges comprises of requests or data transfer coming from client machine into azure platform. Egress charges comprises of requests or data transfer that goes out from azure platform.
Windows CDN (Content Delivery Network) Charges
CDN charges are applicable as per zones and consumers pays for any data transfer that goes out from CDN. CDN charges do not include fees associated with data transfer from Windows Azure Storage to CDN.
Azure latest COSTING.
There are two basic scenarios commonly cited when using Azure. Organizations leverage Azure as a cloud-based platform for an entire application. In the second, extend an existing application into the cloud or use Azure as a complement to augment a more traditional-style application.
As per the adopted approach cloud computing can produces outstanding results and can work for any size of business or organization. Today almost 64% of organizations are evaluating cloud for migrating existing services or newly created application to meet its business challenges. Organization implementing or implemented cloud computing solutions shared certain consideration or learning’s. While moving to this new technology it is important to re-consider learning’s and ensures quick, efficient and seamless deployment or development of applications to cloud computing environment. This section covers the highlighted considerations and list of outcome of such experiences.
Identify the benefits and compare risks involved in migration and decide accordingly. Applications that take advantage of the other Azure Services and Cloud specific features of Windows Azure like Blobs, Tables, Queues, and Worker roles will need to be written specifically for the platform. This is certainly an adoption hurdle for migrating existing applications to the Windows Azure Platform and requires code refactoring.
Moving database on cloud requires specific consideration because application responsiveness is dependent on availability on data and how quickly data can be arranged when requested. Another important factor is costing, as costing varies if data becomes available from Microsoft Data Centers or on-premises SQL servers. Considerations will be towards higher latencies while accessing database and performance it offers. Concern of having database of maximum size is 50GB otherwise partitioning or sharing of data is required.
Azure expenses are driven by resource consumption, including compute time, storage needs; database needs, bandwidth, and the number of users. Consumers can control this expense by optimizing their applications for resource usage including data storage usage and offsetting this expense with price increases. As Azure bills by data transfer and how much application talks to storage, the chatty database could make things more expensive and requires special consideration. When comparing internal costs with a cloud model, bandwidth is one of the major costs to consider prices.
Consumer also considers legal obligations especially in case to end the contract early or any setup cost charged separately. Contract needs to consider clearly while choosing cloud provider. For example Google pricing regime states that contract may revise its rates for the following Services Term by providing Customer written notice (which may be by email) at least 30 days prior to the start of the following Services Term.
Choosing the right cloud partner is another key component for ensuring a successful and long-term partnership. It’s recommended that provider should be offering services since long, should provide everything under the same head, provides 2424×7 technical support, no additional cost will be demanded for technical support, offers required set of technologies support under cloud services, SLA offered and variations offered for different cloud services and its components, does have clear roadmap, contract note, free trial period offered with the services and experiences of existing client-base.
While getting benefited by costing organizations are concerned about security. The main data protection risks to for the business are loss of data by third-party service provider’s unauthorized access, malicious activities, or virus’s due to poor internal IT security. Before introducing a cloud computing system, organization must carry out a risk assessment of these hazards. Cloud providers offering securities may or may not have it similar to on-premises security controls. For example Microsoft provides internal security and compliance team and follows ISO 27001 to ensure risk management framework, and best practices for incident handling, application security, physical security, access and identity management and other areas.
Special consideration requires on the audit trail provided by provider that provides in-depth view about internal and external network scans and penetration tests results and remediation efforts.
Xerox is leaders in manufacturing of high tech and electronics equipment’s. It provides document technology, service, software and supplies for graphic communication and office printing. The company has annual turnover of $22 billion and 133,000 employees across globe.
Initiative and Challenges
Xerox in 2010 decided to provide Xerox mobile print that lets smartphone users to locate and print from anywhere directly from handsets. As the quick solution provider the company wants to reuses as much investments as they could include development cost, database, teams and solutions.
Company opt Windows Azure Platform to create Xerox Cloud Print, a loud based printing service to print from anywhere on publically available printers. Company elects Microsoft SQL Azure as a relational database and utilized dynamic database capabilities for multitenant services. Xerox re-uses the existing available services to accomplish this. The team successfully migrates from SQL Server to SQL Azure in two weeks and delivers the cloud based solution in less than four month. The solution allows the organization to receive higher customer satisfaction. Company pay as per pay=per use model and reduces the availability and reliability risks.
Leaders in Pizza delivery network the company has 8500 company owned or franchises restaurants across globe. Company operates online order processing system and receiving 20% of the total sell from online system. Company marked $1 Billion online sales.
Initiative and Challenge
Growing with the time Dominos expects to grow in future and almost double or more its revenue. Dominos noticed peaks at dinner with Friday nights as busiest. The online system regularly spikes the sales as dinner time travel across time zones. However on “super bowl Sunday” of every-year business spikes and increases more than 50% as compared to the busiest Friday. To support “super bowl Sunday” dominos invested heavily in infrastructure. Dominos want to reduce this investment of on-day cause. Company prefers not to switch technology and looking for new solution that provides scalability, portability, cost efficient and re-utilizes the existing code.
Dominos existing system consists of Java and Tomcat based application. Dominos identified Windows Azure Platform as a common solution. Azure allows Dominos to handle spikes on requests basis and becomes easily available whenever needed and for rest it can easily be released to reduce overhead costs. Company paid only for the capacity used. Azure ensures re-utilizing of existing Java and Tomcat based applications. Solution allows working on on-premises physical server and Azure server. Azure saves the requirement for not shifting to any new technologies and provides support for growing online sales. As deployment is no more a challenge for the company, the company can easily focus towards customer without worrying about IT.
Outback Steakhouse is an Australian restaurant chain popular for serving innovative dishes. Company runs almost 1230 restaurants across 21 countries. Company serves millions of customers worldwide. Company marked annual Revenue over $3 Billion with 82,000 employees.
Initiative and Challenge
Company requires to offers new initiative for its fans and decided to offer new dish free for its first 500 fans (buy offering coupons online). Company decided to roll back the camp quickly. Initiative requires specific infrastructure and specific technology needs. Overall hosting service in non-computing environment requires expenses topped US $ 10,000. Company estimates that load Size and peak traffic are unpredictable. The solution should be scalable as per the demand and company expected to achieve 500,000 fans in 30 days.
Company decided opting most cost effective solution for this new initiative execution and opted Windows Azure. It took less than two months to develop cloud based application. Developers use Windows Azure Worker Roles, Caching and Asynchronous Architecture for scalability and performance. Team uses MS SQL Azure to store relational data and Windows Azure Table storage for background processing. Company reaches the expected goal easily in 18 days with no issues. New development and deployment avoid lots of investment in hardware and software. Instead of IT infrastructure and its issues company focuses towards serving customers and meeting market demands. Simple Azure solution provides the flexibility of extending application easily and meets demands as and when needed.
Kelley Blue Book
Kelley Blue Book is located in California. It provides automobile information to its consumers, dealers, industries and government agencies. Company has millions of customer across globe and own two physical data centers – one primary and one failover.
Initiative and Challenge
Company decided to launch a new feature called “The trusted Marketplace”, where consumers can perform searches and make effective decision making. The load Size and peak traffic estimates are unpredictable. Company requires a solution that should be scalable as per the demand. Solution should be intelligent itself to provide failover, can handle inconsistency and should be cost effective.
Company initially has a website in .Net 3.5 and Visual Studio 2008. Later company opted Azure and re-used existing code to deploy application to cloud environment. During this company moved 27 web servers with 9 SQL Server instances. To reduce load on existing SQL Server databases they also moved editorial data content to Azure Blob storage and ensures data persistence. Moving existing Microsoft SQL Server 2008 databases to SQL Azure Company saved annual hosting costs of $100,000 annually. Azure provides the flexibility to scale up quickly and allows shifting focus to innovation and concentrate to deliver new product and services to its customer. Azure eliminated risk of deploying things to physical servers.