Cloud computing is paradigm in Information Technology (IT) which enables virtualizing physical computing resources over remote network like internet; these resources include operating systems, servers, physical configurable machines, networks, database and software etc.
The term cloud is referred to internet’s virtual bubble. These cloud services are provided by commercial cloud providers; these providers have their data centers located on various geographical locations with all networking and configuration done by their experts. These cloud services can be rented by consumers on need basis just like other utilities such as electricity, gas etc.
The cloud computing is real-time virtual environment which let consumers use physical computers located on remote geographical locations without needing them to worry about configuration and management of physical datacenter, network or hardware; and these hardware resources can be easily scaled up and down as needed. Most of cloud service providers offer on-demand subscription plans, means consumers are only charged when using resources, this gives cloud computing huge advantage over traditional computing which needs to maintain and run computers regardless of usage.
Cloud services becomes default choice for startup businesses which rely on IT services and infrastructure; because IT resources required significant amount of investment to configure and operate; cloud services give huge advantage by providing IT resource on-demand which save money for business.
Cloud services are more fault tolerant than traditional computing; if node or computer goes down it doesn’t affect the interrupt service as load balancer routes traffic to other neighboring nodes; most cloud service provides have up to 99.9% Service Level Agreement (SLA).
Cloud burst is term used when cloud service interrupt by some disaster in data center region; it happens rarely or for short duration as most cloud service providers implant mechanism deal with. Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform (GCP) are most popular cloud service providers in modren day world. Following figure shows the top-level overview of cloud computing.
Types of Cloud Computing
There are various types of cloud computing technologies, depending upon the provider. The top-level cloud computing architecture looks like in follwoing figure. Some of the types built on top of other types, for example IaaS servicer the base for other types of cloud services.
Infrastructure as Service (IaaS)
IaaS is type of cloud services in which Information Technology (IT) infrastructure is provided as service. These services as base to build system, these include servers, storage, databases, firewall, networking, dedicated hardware on datacenter. By using these services whole software system, networking and authorization between various parts of system can be configured.
IaaS allows network configuring virtual machines which customized hardware and operating systems by utilizing underly data-center hardware space of cloud service provider; this gives huge flexibility in terms of configuration at hardware level.
The infrastructure services provide in IaaS are similar to hardware and network already used as traditional IT services. The down side of having IaaS is you need to have skilled network admins to configure and operate the system.
Platform as a Service (PaaS)
Platform as a Service provides platform as needed for developing, testing, hosting and managing software without worrying about underlying servers, network, storage. PaaS sits on top of IaaS, and includes more tools to make development, testing and hosting software apps and websites easier.
PaaS also facilitate customers to avoid licensing of underlying platforms such as operating system’s license; and save good amount of configuration and management effort required otherwise in case of IaaS. PaaS reduces development and configuration times for software, and testing is easier on multiple platforms; lifecycle of software can be managed efficiently.
Software as a Service (SaaS)
SaaS is simplest form of cloud services where a software application is provided as service on subscription basis over internet website or app. SaaS is simpler in terms of maintenance and upgrades and security because underlying storage, network, platform, maintenance, upgrades and security is management by provider.
The users of software application connected to it usually over internet via web browser or mobile app. SaaS has significant advantages over aforementioned service types; SaaS can be accessed from anywhere which helps mobilizing workforce.
Most cloud providers have pay-as-go model which allows customers to pay whatever they use.
Functions as Service (FaaS)
Functions as Service is popular concept in serverless computing over cloud services. FaaS involves deploying functions as pieces of code to perform specific business function. Functions are executed on demand.
FaaS is one steps further into cloud services and abstracts away many complexities include servicer itself. FaaS consist of event driven functions which can be scaled instantly. FaaS can be used for high volume data processing, transactions, scheduled jobs or processing queued messages. The workloads are dynamic and dynamically scalable.
Identity as a Service (IDaaS)
Identity as service is another form of cloud service where login identity is provided as cloud service.
IDaaS is kind of variation of software as a service, which abstracts various complexities such as Single-Sing-on, Multifactor Authentication, Security and provision into single IDaaS service.
Identify or login identity is one of the most crucial and features required in any software system; having enterprise wide single login is important part of system, IDaaS provide single and secure login.
Benefits or Advantages of Cloud Computing
Cloud computing is more cost effective as compared to traditional computing where you buy hardware, install and configure it to make it work.
In cloud all hardware like processing power and memory is available virtually you don’t need to buy any hardware is and you can scale up and down as per your needs; this gives consumers the huge flexibility and cost saving as compared to traditional computing where you need to buy hardware and replace it whenever in case of malfunctioning.
The cost of operating traditional network is somewhat fixed, you need to run servers event if it is not been used up to scale, while in cloud you can choose to pay as you go, which mean if you don’t used computation power you don’t need to pay a penny.
Flexibility and Scalability
Cloud computing is more flexible in terms of resource allocation, deallocation, scaling up and scaling down as needed.
Most of cloud provides has ability to changes service from one to another, or complete removed virtualized resources and re-created as needed.
Another key feature of cloud computing is to be available at global scale. Depending upon cloud provider these services are available in most parts of the would locally as configured and can be configured to change the geolocation from one to another, for example Microsoft’s Azure services can be changed from US East Cost to West, Europe or Australia or any other available locations.
Cloud service enables more productivity, in terms of hardware, software, networking, maintenance upgrades and other chores which otherwise must be done by organization on-site employed in traditional environment.
Cloud service save all the time in maintaining hardware, configuring network, installing updated, upgrading hardware, health checks and other chores by abstraction a lot of work under the hood.
It also gives huge leap towards productivity in software development and test across platforms and devices.
Reliability and Integrity
Cloud services are more reliable in terms of disaster recover, as they provide replication, mirroring and backup services over multiple geolocation and data centers.
Achieving replication or mirroring over distinct geolocation in traditional networks is expensive and complex.
Cloud providers have built-in mechanism to check health services which enable overall integrity of systems operating on top of these cloud service and most of the providers have 99.9% uptime in their Service Level Agreement (SLA) with their customers.
Cloud computing networks generally operate on multiple data centers located on distinct geolocations and has latest hardware and networking technology to reduce latency in network communication internally which boosts performance of overall cloud services.
The hardware and networking technologies used in cloud services are upgraded by provides over the time to achieve better performance and compete with other providers.
Cloud services are built on top of services network established and maintained by provider. Physical security in particular is maintained by providers which otherwise have to be maintained by organization.
SaaS is secured by service providers with latest updated, upgrades and security patches.
There three main cloud configurations can be done based on use-case, Figure 3, show the top-level view of all three cloud paradigms.
Public cloud is most commonly used cloud service today, and publicly available for subscribers. These services are abstractions over hardware and network on provider-maintained datacenter. The cloud application can be built and run on these low-level primitives provided by cloud provider.
Public cloud service as most of the benefits of cloud computing as these are highly configurable and customizable as per needs of individual business use-case; it can be dynamically scaled up and down as needed. Some of examples of public cloud are Microsoft’s Azure, Amazon AWS, Google Cloud Platform, all of these can be easily configured and managed using web browser.
Private or On-premises Cloud
This involves installing cloud technologies on private or on-premises datacenter. In some cases, organization required to have data on your private data centers in various government related systems; this various of cloud gives ability leverage cloud technologies over private data centers or network; but this however has some limitation in having certain cloud benefits.
On-premises deployment of cloud doesn’t provide full benefits of cloud services offered by public version.
Hybrid cloud is somewhat mixed archeophone, it consists of cloud services and existing resource located on local or on-premises network.
This enables organizations to run cloud and local application and services seamlessly and allows gradual transition towards cloud.
Hybrid cloud enables organization to urn cloud services and configuration in local infrastructure as well as on cloud.
Cloud computing is new and revolutionary way to computing. Cloud computing abstracts many of the complexities of hardware, networking and software. This gives organizations much more breathing space to focus on their business instead of configuring and maintaining IT infrastructure.
Cloud services proves most cost-effective way to build and run IT infrastructure which lower the costs as compared to traditional computing; this becomes huge advantage for startups or small business which have limited budge to get up and running.
Security of cloud services login and administrative accounts become a challenge as everything is remotely located and in case you don’t have internet access it could be the issues to run your businesses, traditional computing on the other hand have some sort of advantage in this situation.
Although most of the cloud service providers has SLA of 99.9% but there could be situation which can disrupt your system in case of cloud burst, a phenomenon in which cloud servicers in some region goes down due to natural disaster, hardware failure or any number of unknow reasons; and availability of these cloud services depends upon the recovery plan of service provider on which customer don’t have any control; this may cause serious disruption in businesses relaying on cloud services for their daily operations.