Principles of Cloud Computing
Introduction to Cloud Computing
When we switch on a light, the only expectation is that the light works. In that moment, the details of how the electricity gets to the light bulb does not remain important. We do not think about electricity being created in a power plant, traveling through a large network of high-voltage transmission lines to your location, going through a substation, and eventually making its way into your home.
Similarly as a technology professional, would want such benefits while developing and deploying applications. For instance storing data, streaming video, or even hosting a website requires managing hardware and software. This process of management is an unnecessary obstacle when delivering the application to your users.
What is Cloud Computing?
Cloud computing refers to renting of resources, like storage space or CPU cycles, on some other company’s computers, such that we pay only for what is used. The company providing these services is referred to as a cloud provider. Some of the cloud services providers are – Microsoft, Amazon, and Google.
Cloud Services Include
- Compute power – such as Linux servers or web applications
- Storage – such as files and databases
- Networking – such as secure connections between the cloud provider and your company
- Analytics – such as visualizing telemetry and performance data
Cloud Computing Services
Primary objective of cloud computing is to ensure that a running business becomes easier and more efficient, whether it’s a small start-up or a large enterprise.
Services offered by Cloud Providers
1. Compute power
While sending an email, or making reservation, or paying a bill online, we interact with cloud-based servers which are processing each request and returning a response. As a consumer, we all depend on the computing services provided by the various cloud providers which forms the Internet.
In order to build solutions with the help of cloud computing,you would be required to choose how you want the work to be done based on the availability of resources and requirements. For instance creating a virtual machine (VM) which is an emulation of a computer – more like a desktop or laptop which is being used now.
Virtual Machine includes an operating system and hardware which appears to the user just like a physical computer running Windows or Linux. Thereafter we can install whatever software is required to perform the tasks that needs to be run in the cloud. Note that, Virtual Machines are not the only computing choice – The two other popular options include – Containers and Serverless Computing.
- Container – Containers offer a consistent, isolated execution environment for applications. Containers are similar to Virtual Machines except they do not require a guest operating system. Docker, is one of the leading platforms for managing containers. Docker containers provide an efficient, lightweight approach to application deploymentas they permit different components of the application to be deployed independently into different containers.
- Serverless Computing – Serverless computing allows you to run application code without creating, configuring, or maintaining a server such that the application is broken into separate functions that run when triggered by some action. The serverless computing model is very different from Virtual Machines and containers in which we only pay for the processing time used by each function as it executes.
2. Storage
Various devices and applications read and/or write data. Some of the examples include –
- Buying a movie ticket online
- Looking up the price of an online item
- Taking a picture
- Sending an email
- Leaving a voicemail
In all of these cases, data is either being read or written. Such that the type of data and how it’s stored can be different in each of these cases.
Storage Gauge
Cloud service providers offer services that can handle all of these types of data. For instance, if you want to store text or a movie clip, you could use a file on disk. Therefore if you have a set of relationships such as an address book, then you could take a more structured approach like using a database.
The primary advantage of using cloud-based data storage is that we can scale to meet the requirements. Such that if you need more space to store movie clips, you can pay a little more and add to your available space. In some cases, the storage can even expand and contract automatically – so you pay for exactly what you need at any given point in time.