When we talk about the traditional on-premise model, infrastructure is thought of as hardware.
In the traditional model, the user needs to buy, install, configure & manage all the hardware by themselves. For this, they need staff to maintain the data center.
On the other hand, in the Cloud model, a Cloud Service Provider (CSP) owns the data center. Cloud Service providers purchase the software and hardware required for their data center and hire the staff for maintaining it. Cloud Service Providers charge their clients for using the data center resources.
Cloud computing addresses some of the issues in the traditional computing model. In traditional computing, a significant upfront investment is required in acquiring, provisioning, and maintaining on-premises infrastructure. With cloud computing, businesses can run with a new solution quickly and with low upfront costs. Businesses can elastically scale up and down in an automated way so that they pay for only what they use.
With cloud computing, you can also select the services that best match your needs. It gives you flexibility, with a wide range of choices and the ability to change your configuration when you want. All of these services are provided on a secured infrastructure.
With cloud computing, businesses can spin up and terminate resources as necessary, instead of paying for hardware when not in use.
Shared Responsibility Model
In a traditional corporate data center, the company is responsible for maintaining the physical space, and security, and maintaining or replacing the servers. The company’s IT department is responsible to keep the data center up and running.
With the shared responsibility model, these responsibilities get shared between the cloud provider and the consumer. Physical security, power, cooling, and network connectivity are the cloud provider's responsibility. The consumer is responsible for the data and information stored in the cloud.
Following are the three primary categories of cloud services:
1. Infrastructure as a service (IaaS)
2. Platform as a service (PaaS)
3. Software as a service (SaaS)
Infrastructure as a service (IaaS)
In an IaaS model, the cloud provider is responsible for maintaining the hardware, network connectivity (to the internet), and physical security. You’re responsible for everything else: operating system installation, configuration, and maintenance; network configuration; database and storage configuration; and so on. With IaaS, you’re renting the hardware in a cloud data center, but what you do with that hardware is up to you.
The cloud provider is responsible for maintaining the physical infrastructure and its access to the internet. You’re responsible for installation and configuration, patching and updates, and security.
Platform as a service (PaaS)
In a PaaS environment, the cloud provider maintains the physical infrastructure, physical security, and connection to the internet. They also maintain the operating systems, middleware, development tools, and business intelligence services that make up a cloud solution.
Software as a service (SaaS)
SaaS is the model that places the most responsibility with the cloud provider and the least responsibility with the user. In a SaaS environment you’re responsible for the data that you put into the system, the devices that you allow to connect to the system, and the users that have access. Nearly everything else falls to the cloud provider. The cloud provider is responsible for physical security of the datacenters, power, network connectivity, and application development and patching.
Cloud models represent the cloud environments in which you deploy your applications.
The three main cloud computing deployment models are as follows:
1. Private Cloud.
2. Public Cloud.
3. Hybrid Cloud.
A private cloud is one that’s used by a single entity. Cloud resources are not shared with any other organization. The private cloud provides much greater control for the company and its IT department. It comes with a greater cost. Organizations are responsible for hardware maintenance and updates.
A public cloud is built, controlled, and maintained by a cloud provider. Anybody who wants to purchase cloud services can access and use resources. No capital expenditures to scale up. Organizations pay only for what they use. Organizations don’t have complete control over resources and security.
Hybrid cloud provides ability to uses both public and private clouds in an inter-connected environment. Organizations determine where to run their applications. Organizations control security, compliance, or legal requirements
Consumption based model
Capital expenditure (CapEx) is an up-front expenditure to purchase resources, eg. Datacenter, buildings, company vehicles etc.
Operational expenditure (OpEx) is spending money on services or products over time.
Cloud computing comes under OpEx. With cloud computing, you don’t pay for the physical infrastructure, the electricity, the security, or anything else associated with maintaining a datacenter. Instead, you pay for the resources as and when you use. This gives the ability to pay for more resources when needed and stop paying for resources when not in need. Cloud computing benefit is that there is no upfront cost for the consumer.
Benefits of using cloud
1. High availability and scalability –
2. Reliability and predictability
3. Security and governance
High availability and scalability:
Using the cloud gives the benefit of high uptime or availability.
Scalability refers to the ability to adjust resources to meet demand. When there is a spike in traffic, more resources are added to better handle the increased demand. This also means that you are not overpaying when the traffic is normal or less. When the demand is less, you can reduce the resources.
The two types of scaling are vertical and horizontal scaling. Vertical Scaling helps in increasing or decreasing the capabilities of resources. Horizontal scaling is adding or subtracting the number of resources.
Reliability and predictability:
Reliability is the ability of a system to recover from failures and continue to function. Cloud allows you to deploy your resources in different regions, hence even if one region is down, the other regions will be up and running.
Predictability can be performance predictability or cost predictability.
Autoscaling, load balancing, and high availability are just some of the cloud concepts that support performance predictability. Autoscaling can deploy additional resources when the demand increases, and then scale back when the demand drops. If the traffic is heavily focused on one area, load balancing will help redirect some of the overloads to less stressed areas.
Cost predictability is focused on predicting or forecasting the cost of the cloud spend. By operating in the cloud and using cloud analytics and information, you can predict future costs and adjust your resources as needed
Security and governance:
Cloud support governance and compliance. Things like set templates help ensure that all your deployed resources meet corporate standards and government regulatory requirements. Also, you can update all your deployed resources to new standards as standards change. Cloud-based auditing helps flag any resource that’s out of compliance with your corporate standards.
On the security side, you can find a cloud solution that matches your security needs. If you want maximum control of security, infrastructure as a service provides you with physical resources but lets you manage the operating systems and installed software, including patches and maintenance. If you want patches and maintenance taken care of automatically, platform as a service or software as a service deployments may be the best cloud strategies for you.Cloud providers are typically well suited to handle things like distributed denial of service (DDoS) attacks, making your network more robust and secure.
There are two types of manageability for cloud:
1. Management of the cloud.
Management of the cloud means managing your cloud resources. In the cloud, you can:
· Automatically scale resource deployment based on need.
· Deploy resources based on a preconfigured template, removing the need for manual configuration.
· Monitor the health of resources and automatically replace failing resources.
· Receive automatic alerts based on configured metrics, so you’re aware of performance in real-time.
2. Management in the cloud.
Management in the cloud refers to how you manage your cloud environment and resources. You can manage these:
· Through a web portal.
· Using a command line interface.
· Using APIs.
· Using PowerShell.