Fundamentals of Cloud Computing
Cloud Computing
Overview of Cloud Computing
Cloud computing (CC) is defined as a method for delivering business and IT services.
It enables businesses and users to acquire IT resources as needed, when they need them.
CC operates as on-demand IT service provisioning and utilization.
It utilizes network resources, primarily internet resources, to provide on-demand data processing and storage.
Characteristics of Cloud Computing
No-Need-to-Know: Users do not need to understand the underlying details of the infrastructure.
Flexibility and Elasticity: Systems can scale up and down in response to resource demands.
Pay as You Go: Users pay for the resources they use, similar to a utility model.
Always On: Accessible from anywhere, at any time via network-based services.
Analogy to Electric Power Services
Residential Service Analogy:
Users access electricity through a cable, powering homes and devices such as heating and air conditioning.
Electricity consumption is billed based on a rate applied to usage.
Power is supplied in real-time according to demand; increased demand is met instantly, and reduced demand leads to decreased power supply.
Comparison to CC: Similar to electric utilities, CC offers a pay-per-use service expanding IT capabilities in real-time over the internet.
Capacity in Cloud Computing
Real Demand vs. Elastic Capacity:
Represents how the cloud can dynamically adjust to actual usage versus available infrastructure.
Utility Paradigm in Cloud Computing
An example of processing tasks:
A job that requires 10,000 hours of processing can be run in different configurations:
1 instance for 10,000 hours
100 instances for 100 hours
1,000 instances for 10 hours
10,000 instances for 1 hour
All of these configurations cost the same despite varying resource utilization times.
Advantages of Cloud Computing
Lower Costs: Users can run applications via the web rather than on expensive local computers, resulting in lower hardware costs (less memory, less storage needed).
Increased Flexibility:
Self-Service and Pay-per-Use Model: Pricing is based on actual resource usage.
Multitenancy: Single software instance serves multiple users (tenants), providing shared access with specific privileges.
Elastic Capacity: Systems can dynamically adapt to workload changes by provisioning or de-provisioning resources autonomously.
Improved Performance:
Faster boot-up times owing to fewer processes in memory.
Instant software updates ensure that users always have the latest version.
Enhanced data reliability as cloud storage is separate from local hardware issues.
Device independence enables software function across various devices without dependency on local hardware.
Disadvantages of Cloud Computing
Constant Internet Connection Requirement: A reliable and high-speed internet connection is critical for performance, which can pose issues if connections are low-speed or inconsistent.
Limited Features in Comparison to Desktop Versions: Cloud applications may lack the functionalities found in traditional desktop software.
Types of Cloud Services
SaaS (Software as a Service):
Centrally hosted software managed for end customers, often on a multitenant architecture (one version serves multiple customers).
Examples include Microsoft Office 365, Dropbox, and WordPress.
Allows for monthly or annual subscriptions with the advantage of always having the latest version.
Eliminates installation hassles and reduces costs.
PaaS (Platform as a Service):
Provides an environment for developers to deploy applications without managing underlying infrastructure.
Frees developers from hardware considerations, allowing focus on software development.
Examples include Google App Engine and Heroku.
IaaS (Infrastructure as a Service):
Users can create virtual machines and manage their infrastructure on a vendor’s platform without controlling hardware.
Allows for a “lift and shift” model for migrating services.
Examples include Amazon Web Services (AWS) and Microsoft Azure.
Summary of Cloud Services
SaaS
Delivery: Web-based software delivery, no IT staff required on the client's side.
Advantages: Reduces installation time/costs, central management, keeps users updated.
Disadvantages: Vendor lock-in, limited customization and control.
Examples: Google Workspace, Salesforce, Cisco WebEx.
PaaS
Delivery: Provides a platform for software creation, supports rapid development.
Advantages: Simplified and scalable development, integrated web services, supports multiple developers.
Examples: Windows Azure, AWS Elastic Beanstalk.
IaaS
Delivery: Virtualized IT resources accessed through a dashboard.
Advantages: Maximum flexibility and scaling; costs vary based on consumption.
Examples: DigitalOcean, Linode, Amazon Web Services.
Cloud Deployment Models
Public Cloud: Resources built and maintained by third-party providers, accessible to the public.
Private Cloud: Resources used exclusively by one organization, can be on-premises or hosted.
Hybrid Cloud: Combines private and public clouds for seamless service operation across data infrastructures.
Multi-Cloud: Use of multiple cloud computing services across various environments, ensuring redundancy and flexibility.
Financial Aspects of Cloud Computing
Cloud Computing as a Service Revenue ($B) represents a growing industry with substantial opportunities across different service models (IaaS, PaaS, SaaS).
Growth Trends: Data indicates a steady increase in cloud revenue from 2014 to 2020, demonstrating the demand for cloud services.
Conclusion - Importance of Cloud Computing
Businesses are increasingly relying on cloud computing for its resource availability, ease of maintenance, and automated systems.
On-demand services and pay-as-you-go pricing make cloud computing an attractive choice for businesses seeking agility and cost savings.
Questions
The session concludes with an invitation for queries regarding cloud computing concepts, models, and applications.