What is Cloud Computing?
Computer Science technologies have been sprouting up like wild weed in a rainforest. We now have better computers and faster systems. Along with system performance scientists have managed to boost data storage capacities which have opened up a whole new window of avenues for the computing community. “Cloud Computing” is a buzzword you might have randomly picked up from a geek discussion. You might have heard one of those technology aware people say –“Take it from the cloud.” It is a hardly a recent technology actually, but it’s still one of the most exciting developments in computer science.
Now, there is the off chance that you’ve never heard of Cloud Computing. If so, you are one of many millions who use cloud computing applications without ever realizing it. Cloud Computing doesn’t have one specific definition, mainly because cloud and computing are two very diverse and fuzzy terms. Although for the sake of a concise explanation we can state that Cloud Computing is essentially using any service that makes use of the Internet Network along with any non-native hardware and software, it is hardly a fitting definition. Most people argue that a simplistic definition like the one above belittles the impact of cloud-based computing in the real world, but the truth is that cloud computing is actually just jargon, a scientific concept, inclusive of a whole lot of computing frameworks. Larry Ellison famously commented, “The interesting thing about cloud computing is that we’ve redefined cloud computing to include everything that we already do. I can’t think of anything that isn’t cloud computing with all of these announcements. The computer industry is the only industry that is more fashion-driven than women’s fashion”. The above does a more than better job of asserting the computing spread that cloud computing provides.
Cloud computing includes some forms of distributed computing which is basically running a program or application on several machines connected to the internet at the same time. But the phrase is more commonly used to describe the practice of utilising a service over a network using software running on a single or multiple machines on the service provider’s side. Let’s, drill this is in using an example. Say you want to run an intensive computer program using only your low end netbook. You can either spend a small fortune and purchase a supercomputer or make use of a cloud computing platform, port your code and allow it to be processed on the cloud (a set of high end machine + software combinations on the service provider’s side). Post processing you can obtain the results in a few clicks. What you have achieved here is the service of powerful processers that are not physically connected to your system, but are a part of the same network (the Internet, in this case).
The “Cloud” in cloud computing
The word “Cloud” in cloud computing has an interesting take to it. The fact is “Cloud” Computing is so little understood that an explanation is warranted. A cloud refers to a set of hardware, networks and storage devices with combined capability of providing any useful service. A Cloud is essentially a connected universe of machines, a massive pool-up of resources. So the next time some smart alec tells you to “Get a file from the cloud”, all he’s really saying is, “Download the file from the combined storage arrays of some network that’s accessible over the internet.” The idea is simple. Bring together your computing infrastructure and connect it in a network, allowing a user to access data and applications from any remote location. The capabilities of the cloud concept are staggering. You can compile, edit and save documents or run entire companies using a cloud computing framework. Take the example of a company with more than a thousand employees. Buying individual workstations might be necessary, but no more does the employer have to purchase multiple software licenses, install them on each PC and monitor the usage to try and prevent piracy, etc. A single application on the system can allow each employee to access any required program hosted on a “cloud” of machines. Cloud Computing is actually shifting user machine workload and dividing it amongst the machines in the cloud network. This reduces requirements on the user side tremendously. All the user has to do then is simply connect to the cloud, run the interfacing program and allow the network to do the rest. The Cloud is revolutionizing the computing industry.
Advantages of Cloud Computing based services
Types of Cloud Services
What exactly does a cloud service entail? Is it software, a computer machine, a mixture? A cloud service can be categorized broadly into the following:
Infrastructure as a Service (IaaS): As the name suggests the service includes provision of resources that support computing, storage and network and include machines and servers. Virtualization allows the service to scale down or scale up as per the user’s need. Services usually pool up these hardware resources from multiple servers and networks sourced from numerous data centers. The client is then given access to these pools to run their own platforms. Besides general hardware and computing infrastructure these services offer additional benefits such as raw storage, load balancers, firewalls, VLAN’s and software bundles. There is utility based costing and users pay only for the amount used or consumed. An IaaS typically can be accessed from anywhere and has no single node of failure.
Platform as a Service (PaaS): This kind of service involves the provision of a computing platform which includes an operating system, server side scripting environment, program execution environment, database management and web server. Additional tools for hosting, storage, design and development might also be provided. A PaaS typically allows the user to build software with the use of tools provided by the service. This allows developers to concentrate on program and code development rather than underlying software and hardware. PaaS also offers a flexible development platform that can be adopted by experts and beginners alike. Another advantage users have is that they can communicate with co-developers in different parts of the world on the same code build. PaaS essentially provides an optimal development environment for making web based applications with seamless integration of a coding environment, database handling, storage and security.
Hardware as a Service (HaaS): This cloud computing service provision entails the provision of managed hardware that is leased for computing needs. System maintenance and safety is the responsibility of the service provider. The service may be onsite or at a remote location depending on needs. This type of service is used more for HPC on cloud which requires data storage as well as active computing and includes leasing computing hardware rather than purchasing it. HaaS is at times similar to IaaS, though IaaS is more of a complete service.
Software as a Service (SaaS): This one should be a no brainer. SaaS is simply providing any form of software or application as service. Service includes basic infrastructure and platforms need to run the software. Basically a client can access an application on the cloud using just the internet. This eliminates the need to install software on the user’s local device. Using a combination of load balancers, virtualization and multi-tenant concepts, multiple users can use the software simultaneously, and boost productivity. A SaaS encourages a subscription model rather than a purchasing model. Clients need not handle the purchase of licenses for each software they need, they simply subscribe to a number of users they need concurrently working on the software on the cloud. Apart from lower hardware and software costs, this also makes operations scalable.
Everything as a Service (EaaS): This service entails virtually any kind of technology with typical cloud based characteristics, such as remote location access, scalability, pay per use model, etc. The service encompass the entire spectrum of computing hardware and software such as virtual machines, networking and communication devices, servers, programming platforms, database management systems and cloud based apps.
What is Microsoft Azure?
In short, it’s Microsoft’s cloud computing platform: a growing collection of integrated services—compute, storage, data, networking, and app—that help you move faster, do more, and save money. But that’s just scratching the surface. Here’s a wider yet concise explanation of Azure and what it can do…
It’s IaaS + PaaS
Azure is the only major cloud platform ranked by Gartner as an industry leader for both infrastructure-as-a-service (IaaS) and platform-as-a-service (PaaS). This powerful combination of managed and unmanaged services lets you build, deploy, and manage applications any way you like for unmatched productivity.
It’s hybrid ready
Some cloud providers make you choose between your datacenter and the public cloud. Not Azure. Its enterprise-proven hybrid cloud solutions give you the best of both worlds, expanding your IT options without added complexity. With Azure, data storage, backup, and recovery become more efficient and economical. It’s also easier to build applications that span both on-premises and the cloud.
It’s open and flexible
Azure supports any operating system, language, tool, and framework— from Windows to Linux, SQL Server to Oracle, C# to Java. It puts the best of Windows and Linux ecosystems at your fingertips, so you can build great applications and services that work with every device.
It’s always up, always on
You’ll share the same enterprise-tested platform that powers Skype, Office 365, Bing, and Xbox. Azure offers a 99.95% availability SLA, 24×7 tech support, and round-the-clock service health monitoring. That’s why more than 57% of Fortune 500 companies rely on Azure today.
It’s economical and scalable
Azure can quickly scale up or down to match demand, so you only pay for what you use. Per-minute billing and a commitment to match competitor prices for popular infrastructure services like compute, storage and bandwidth means you’re always getting unbeatable price for performance.
It’s everywhere
Azure runs on a growing global network of Microsoft-managed datacenters across 13 regions, giving you a wide range of options for running applications and ensuring your customers always get great performance. Azure is the first multinational cloud provider in mainland China and is continuing to expand to new regions around the globe.
Microsoft Azure Infographic
Here’s an excellent infographic that will give you a comprehensive snapshot of the Microsoft Azure platform and the kind of services it offers.
Must Watch Video on Microsoft Azure
While you are, by all means, reasonably well versed with Cloud Computing and Microsoft Azure by now, this video is a must watch to complete the orientation.
You can read Lesson #2 here. and our first bonus article here.