What is cloud computing?
Every business bigger than one person needs somewhere to store its data and run its business applications and communications, including email. Cloud computing is, providing the means through which everything — from computing power to computing infrastructure, applications, business processes to personal collaboration — can be delivered to you as a service wherever and whenever you need.
The "cloud" in cloud computing can be defined as the set of hardware, networks, storage, services, and interfaces that combine to deliver aspects of computing as a service. With cloud computing, you rent capacity in a provider`s data centre, and connect over the internet. The provider install, maintain and upgrade hardware and software as required. Typically you`ll rent a service, such as data storage or email or accounting, rather than `a server` as such, and pay $X per user or $Y per business per month.
The following diagrams outlines ways in which cloud computing can be utilized for an application.
In diagram one, both data and application have been hosted in the cloud, the second option is to host our application in the cloud and our data locally, and the third option is to host our data in the cloud and our application locally.
The expense model is very different. In our local network, we have to buy the hardware and software licenses, install and configure the servers, and finally we have to maintain them. All this counts in addition to building and maintaining the application! In cloud computing, the host usually handles all the installation, configuration, and maintenance of the servers, allowing us to focus mostly on the application.The direct costs of running our application in the cloud are only for each machine-hour of use and storage utilization.
The individual pieces of cloud computing have all been around for some time. Shared mainframes and supercomputers have for a long time billed the end users based on that user`s resource consumption. Space for websites can be rented on a monthly basis. Providers offer specialized application hosting and, relatively recently, leased virtual machines have also become available. If there is anything revolutionary about cloud computing, then it is its ability to combine all the best features of these different components into a single affordable service offering.
Differences from traditional hosting:
There are several differences from traditional hosting to cloud hosting. The main differences are:
- Cloud Computing is sold on demand
- The service is managed by the provider
- User can determine the amount of service they take
- Users can log on to the network from any computer in the world
Benefits of Cloud Computing
Cloud computing sounds great so far, right? So, what are some of the tangible benefits of cloud computing? Does cloud computing merit all the attention? Let`s have a look at some of the advantages:
Remote Accessibility: With cloud computing, your business is not restricted to a particular location. This applies to individuals also. You can access the services from anywhere. All you need is your ID and password. In some cases, there may be extra security requirements but as they too are mobile, you can easily access your cloud services from any part of the world.
Low up-front cost: At the top of the benefits list is probably the low up-front cost. With cloud computing, someone else is buying and installing the servers, switches, and firewalls, among other things.
Easy Implementation:Without the need to purchase hardware, software licenses or implementation services, a company can get its cloud-computing arrangement off the ground in record time — and for a fraction of the cost of an on-premise solution.
Easy Expansion:As of the characteristics of cloud computing is its flexibility, you can quickly access more resources if you need to expand your business. You need not buy extra infrastructure. You just need to inform your cloud provider about your requirements and they will allocate resources to you. In most cases, the entire process is automated so the expansion takes just a few minutes.The same is applicable if you wish to use less resource. One of the best advantages of cloud computing is easy re-allocation of resources.
Security:Though people doubt cloud computing, clouds tend to be more secure than the traditional business models. Clouds offer real-time backup which results in less data loss. In case of outage, your customers can use the backup servers that sync with the main ones as soon as they are up. Your business gets maximum uptime without any loss of data during the transitions. Other than this,clouds are less prone to hacks as people don`t know the whereabouts of your data.
Environmentally Friendly: Usage of ready-made resources tailored to your needs helps you reduce the electricity expenses. While you save on electricity, you also save on resources required to cool off computers and other components.This reduces the emissions dangerous to environment.
Frees Up Internal Resources: By placing storage and server needs in the hands of an outsourcer, a company essentially shifts the burden placed on its in-house IT team to a third-party provider. The result: In-house IT departments can focus on business-critical tasks without having to incur additional costs in manpower and training.
Shared Resources: A key component of cloud computing is that companies share resources. With cloud computing, this allows them all to have access to the resources via cloud computing. This again saves businesses time and money by placing their resources all in one location that is easy for their workers to look up and access.
Cloud Delivery Models
Cloud Computing has brought together a range of technologies that can deliver scalable, tailored and virtualised IT resources and applications over the internet. There are 3 main types of cloud computing which are:
Infrastructure-as-a-service (IaaS) is seen as an offering of computing and storage somewhere out on the Web. This gives you access to storage and servers in the cloud. The subscriber is offered the ability to host virtual clients or virtual servers and the supporting storage in one or more of the suppliers` datacenters. IaaS is designed to augment or replace the functions of an entire data center. Traditionally in the business environment a user`s day-to-day computing resources are held in one server at one location. The infrastructure is fixed. With cloud computing, the infrastructure is provided to the user in an `on-demand manner`, hence the term`Infrastructure as a Service` (IaaS). Generally, managed hosting and development environments are the services included in IaaS offerings – what you do with the infrastructure is up to you. You want some server capacity? You got it. You wantto pay-as-you-go? You got it.
Benefits of Infrastructure as a service include:
- Access to enterprise-grade IT infrastructure and resources
- Pay-as-you-go, usage-based pricing
- The ability to scale up and down, based on requirements at any particular point in time, eliminating the need to configure and deploy unused technology.
- Reduced capital expenditures and lowered total-cost-of-ownership
Platform-as-a-service (PaaS) The next level of cloud-services is Platform as a Service. Similar to IaaS, PaaS offerings provide infrastructure, but also include the delivery of a computing platform (operating system, programming languages and related user interface, run-time system libraries or graphical user interface) and solution stack as a service. Generally businesses utilize PaaS offerings when they are interested in developing, testing, collaborating on and deploying cloud solutions and are committed to a particular development environment for a particular application, but like the idea of someone else hosting and maintaining the deployment platform for them.
Benefits of Platform as a Service offerings include:
- Simplified deployment – Your developers can focus on the product without worrying about the infrastructure concerns
- Lowered risk – No upfront investment in hardware and software
- No more software upgrades – The PaaS provider handles all patches, upgrades and routine software maintenance
- Community – Many times PaaS means being part of a wider community of specialists working in the same area as your developers
Software as a service (SaaS)
Perhaps the most recognized of the three cloud computing types, it provides access to a software service in the cloud. It appears to be a client/server application in which the web browser is the client and the server(s) supporting the application are somewhere on the network. Here, a user no longer owns the software that is utilized but instead uses it when required via cloud computing. The software remains the property of the service provider and the user pays for access either by annual subscription or on a pay-per-usage basis. In this way business applications are no longer a capital expenditure item but instead are an operational expenditure cost.
Benefits of Software as a Solution offerings include:
- Elimination of infrastructure concerns
- Accessibility from any location
- Rapid scalability
- Bundled maintenance and in many cases support
What is Windows Azure
The first thing to understand is that Azure is not a product name per se, but rather it encompasses a variety of services that form a platform. Windows Azure offers a secure, reliable and powerful platform for the creation of web applications and services, hosted in Microsoft data centers around the world. Windows Azure actually refers to a menu of services offered by Microsoft; each of these services is contained in the Azure Fabric. The Azure Fabric is essentially every piece of hardware and the software that monitors and controls the hardware. Every server, every firewall, every load balancer, failover services in the event of a failure, the Azure portal where we provision and deploy our application, create and check the health of our current services—they`re all part of the Azure Fabric. Fabric in this case has a very large definition—as far as the Azure universe is concerned, the Azure Fabric is the continuum of space and time.
The three items on the Azure menu are Windows Azure, SQL Azure, and the AppFabric. The above diagram shows how these items inter relate with one another, as well as with applications and databases separate from Microsoft Azure
Windows Azure is a service that allows you to deploy code on Microsoft`s servers. This code has access to local storage resources (blobs, queues, and tables).
SQL Azure is a cloud-located database offering. While it uses T-SQL like SQL Server, it is not a full SQL Server instance (for example, not all of the SQL Server built-in stored procedures are available). It can integrate with SQL Server, though.
Azure AppFabric is a service bus that allows applications within your LAN to communicate with Azure clouds; it handles things like authentication, security, etc.
One of the most interesting features of Azure is the support for a number of languages and web servers. Many people mistakenly think that because Azure is a Microsoft offering, its usage is limited to .NET and IIS. Nothing could be further from the truth! In addition to .NET 4.0 (including .NET 2.0, 3.0, and 3.5), Azure also supports PHP, C++, and Java, as well as Ruby and Ruby on Rails. There is also choice in the databases and development environments. Web servers include IIS, Apache, and Tomcat; databases include SQL Server (via SQL Azure) and MySQL; and development tools include all versions of Visual Studio 2008/2010, Visual Studio Web Developer 2008/2010 Express, and Eclipse—that`s a lot of choice! SDKs, tool kits, and plugins are provided for the more common options and others are being developed. Azure supports .NET 4, ASP.NET MVC and Silverlight, and new features are being added in an ongoing basis.
Microsoft has an expanding number of data centers around the world. For compliance purposes, you can select the data center in which your application will reside, or locate your application close by to take advantage of regional prices. Your application is replicated multiple times across the data center of your choosing; so, if there is a hardware failure on the primary instance, the load balancer will direct the traffic to an instance that is alive and healthy!
Codetech Solutions will help optimise your investment in Windows Azure to your best business advantage. We can help you to architect an application & make sure that you integrate Azure with your existing business in a seamless and strategic manner.
To learn more about Codetech Solutions and our Windows Azure Solution Offerings, email firstname.lastname@example.org