Cloud Computing
Cloud Computing is the on-demand delivery of IT resources over the internet with pay-as-you-go pricing. It is the practice of using a network of remote servers hosted on the internet to store, manage and process data rather than a local server or a personal computer. Examples include AWS, GCP & Azure to run our workloads for us. We don't own the hardware or the software, so we don't have to take all the risk.
What is Cloud Computing?
- Cloud computing is the on-demand delivery of compute power, database storage, applications, and other IT resources
- Through a cloud services platform with pay-as-you-go pricing
- You can provision exactly the right type and size of computing resources you need
- You can access as many resources as you need, almost instantly
- Simple way to access servers, storage, databases and a set of application services
- Amazon Web Services owns and maintains the network-connected hardware required for these application services, while you provision and use what you need via a web application.
The Deployment Models of the Cloud
Private Cloud (On-Premise): | Public Cloud: | Hybrid Cloud: |
---|---|---|
Cloud services used by a single organization, not exposed to the public. | Cloud resources owned and operated by a thirdparty cloud service provider delivered over the Internet. AWS configures the software level for us. We don't watch the servers ourselves. | Keep some servers on premises and extend some capabilities to the Cloud |
Complete control | Six Advantages of Cloud Computing | Control over sensitive assets in your private infrastructure |
Sensitive data, like health records, may require On-prem. Aversion to putting this data on the cloud. They may have legal requirements, or customers may not be comfortable. So they still have some on prem. | Run all parts of the application in the cloud. | Flexibility and costeffectiveness of the public cloud |
Deploy resources by using virtualization and resource management tools. | Cloud-based applications can be built on low-level infrastructure pieces or can use higher level services that provide abstraction from the management, architecting, and scaling requirements of core infrastructure. | |
Increase resources utilization by using application management and virtualization technologies. | Now we have Shared responsibility - we are responsible for configuring the cloud services we deploy and the code, AWS takes care of the rest i.e. IT people to watch servers |
The Five Characteristics of Cloud Computing
- On-demand self service:
- Users can provision resources and use them without human interaction from the service provider
- Broad network access:
- Resources available over the network, and can be accessed by diverse client platforms
- Multi-tenancy and resource pooling:
- Multiple customers can share the same infrastructure and applications with security and privacy
- Multiple customers are serviced from the same physical resources
- Rapid elasticity and scalability:
- Automatically and quickly acquire and dispose resources when needed
- Quickly and easily scale based on demand
- Measured service:
- Usage is measured, users pay correctly for what they have used
Six Advantages of Cloud Computing
- Trade capital expense (CAPEX) for operational expense (OPEX)
- Pay On-Demand: don’t own hardware
- Reduced Total Cost of Ownership (TCO) & Operational Expense (OPEX)
- No upfront cost. Instead of paying for data centres and servers, you pay only when you consume computing resources.
- Benefit from massive economies of scale
- Aggregated usage from hundreds of thousands of customers aggregated in the cloud so AWS can achieve higher economies of scale, which translates to lower pay-as-you-go prices.
- Share cost with other customers to get unbeatable savings.
- Stop guessing capacity
- Eliminate guesswork about infrastructure capacity needs
- On-prem you often end up either sitting on expensive idle resources or dealing with limited capacity
- You can scale up and down on AWS to meet your needs with a few minutes notice
- Increase speed and agility
- launch resources within a few clicks in minutes instead of waiting days or weeks for IT to configure the equivalent on prem.
- results in a dramatic increase in agility for the organization, since the cost and time it takes to experiment and develop is significantly lower
- Stop spending money running and maintaining data centers
- Focus on projects that differentiate your business, not the infrastructure. i.e. the heavy lifting of racking, stacking and powering servers.
- Go global in minutes: leverage the AWS global infrastructure
- Deploy your app in multiple regions in a few clicks.
- Lower latency at lower cost.
- On prem will need multiple data centres for the equivalent.
Problems solved by the Cloud
- Flexibility: change resource types when needed
- Cost-Effectiveness: pay as you go, for what you use
- Scalability: accommodate larger loads by making hardware stronger or adding additional nodes
- Elasticity: ability to scale out and scale-in when needed
- High-availability and fault-tolerance: build across data centers
- Agility: rapidly develop, test and launch software applications
Types of Cloud Computing
- Infrastructure as a Service (IaaS)
- Provide building blocks for cloud IT
- Provides networking, computers, data storage space
- Highest level of flexibility
- Easy parallel with traditional on-premises IT
- Examples include Amazon EC2, GCP, Azure
- Platform as a Service (PaaS)
- Removes the need for your organization to manage the underlying infrastructure
- Focus on the deployment and management of your applications, not the infrastructure.
- Intended for developers e.g Heroku
- Software as a Service (SaaS)
- Completed product that is run and managed by the service provider
- For customers e.g. Gmail, Office365
Example of Cloud Computing Types
- Infrastructure as a Service:
- Amazon EC2 (on AWS)
- GCP, Azure, Rackspace, Digital Ocean, Linode
- Platform as a Service:
- Elastic Beanstalk (on AWS)
- Heroku, Google App Engine (GCP), Windows Azure (Microsoft)
- Software as a Service:
- Many AWS services (ex: Rekognition for Machine Learning)
- Google Apps (Gmail), Dropbox, Zoom
Pricing of the Cloud – Quick Overview
- AWS has 3 pricing fundamentals, following the pay-as-you-go pricing model
- Compute:
- Pay for compute time
- Storage:
- Pay for data stored in the Cloud
- Data transfer OUT of the Cloud:
- Data transfer IN is free
- Solves the expensive issue of traditional IT
AWS Cloud Use Cases
- AWS enables you to build sophisticated, scalable applications
- Applicable to a diverse set of industries
- Use cases include
- Enterprise IT, Backup & Storage, Big Data analytics
- Website hosting, Mobile & Social Apps
- Gaming
Shared Responsibility Model
The AWS Cloud enables a shared responsibility model. While AWS manages security of the cloud, you are responsible for security in the cloud. This means that you retain control of the security you choose to implement to protect your own content, platform, applications, systems, and networks no differently than you would in an on-site data center.
- The customer has responsibility for the security in the cloud
- AWS has responsibility for the security of the cloud
Benefits of AWS Security:
- Keep Your Data Safe: The AWS infrastructure puts strong safeguards in place to help protect your privacy. All data is stored in highly secure AWS data centers.
- Meet Compliance Requirements: AWS manages dozens of compliance programs in its infrastructure. This means that segments of your compliance have already been completed.
- Save Money: Cut costs by using AWS data centres. Maintain the highest standard of security without having to manage your own facility
- Scale Quickly: Security scales with your AWS Cloud usage. No matter the size of your business, the AWS infrastructure is designed to keep your data safe.