Rent virtualized infrastructure and build up your own IT system among those resources, which may be fully controlled
Platform as a Service (PaaS)
Directly develop your IT system through one cloud platform, and do not care about any lower-level resource management
Software as a Service (SaaS)
Directly use some existed IT system solutions, which were provided by some cloud application service provider, without knowing any detail technique about how these service was achieved
SaaS
Delivers software applications over the internet on a subscription basis
Users can access and use applications directly through a web browser or APIs
The provider hosts and manages the underlying infrastructure, application, and data
Users can typically customize certain aspects of the application to fit their needs
Examples of SaaS
Salesforce
EyeOS
Microsoft Office 365
Google Apps (e.g., Gmail, Google Docs, Google sites, …etc)
Google Workspace
Web 2.0
Viewing the Internet as a computing platform
Running interactive applications through a web browser
Leveraging interconnectivity and mobility of devices
Enhanced effectiveness with greater human participation
Properties provided by Internet
Accessibility
Portability
Types of web-based applications
General Applications
Business Applications
Scientific Applications
Government Applications
Web Portal
Apart from the standard search engine feature, web portals offer other services such as e-mail, news, stock prices, information, databases and entertainment
Portals provide a way for enterprises to provide a consistent look and feel with access control and procedures for multiple applications and databases, which otherwise would have been different entities altogether
Examples of web portals
iGoogle
MSNBC
Netvibes
Yahoo!
SaaS
The finished applications that you rent and customize
Users of SaaS
End Customers
SaaS
On-demand service
Pay per use of application software to users
Independent platform
Don't need to install the software on your PC
Runs a single instance of the software
Available for multiple end users
Cloud computing cheap
Computing resources managed by vendor
Accessible via a web browser or lightweight client applications
Pros of SaaS
Universally accessible from any platform
No need to commute, you can work from any place
Excellent for collaborative working
Vendor provides modest software tools
Allows for multi-tenancy
Cons of SaaS
Portability and browser issues
Internet performance may dictate overall performance
Compliance restrictions
Platform as a Service (PaaS)
Offers a platform for developing, testing, and deploying applications
Users can focus on application development without worrying about infrastructure management
PaaS providers manage the underlying infrastructure, including servers, storage, and networking
Developers can leverage pre-configured environments, development frameworks, and deployment tools
Examples of PaaS providers
Heroku
Google App Engine
Microsoft Windows Azure
Hadoop
AWS Elastic Beanstalk
Runtime Environment
Collection of software services available, usually implemented by a collection of program libraries
Common properties: Manageability and Interoperability, Performance and Optimization, Availability and Reliability, Scalability and Elasticity
Users of PaaS
Developers
Pros of PaaS
Cost effective rapid development (it's scalable)
Faster market for developers
Easy deployment of web applications
Private or public deployment is possible
Cons of PaaS
Developers are limited to the providers' languages and tools
Migration issue – such as the risk of vendor lock-in
Infrastructure as a Service (IaaS)
Provides virtualized computing resources over the internet
Users have control over the operating systems, storage, and networking components
They can provision and manage virtual machines (VMs), storage, and networks according to their requirements
Examples of IaaS providers
AWS EC2
Eucalyputs
OpenNebula
Azure Virtual Machines
Google Compute Engine
IaaS
The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications
The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components
Properties supported by virtualization technique
Manageability and Interoperability
Availability and Reliability
Scalability and Elasticity
System Monitoring Interface
Monitoring metrics for Virtual Machines, Virtual Storage, and Virtual Network
Users of IaaS
SysAdmins
Pros of IaaS
The cloud provides the infrastructure
Enhanced scalability – dynamic workloads are supported
IaaS is flexible
Cons of IaaS
Security issues
Network and service delays
Public Cloud
Services are provided over a public network and available to anyone who wants to use them
It is a cost-effective option for businesses and individuals looking for scalability and flexibility
Public cloud providers, such as AWS, Azure, and GCP, offer a wide range of services accessible to the general public
Private Cloud
Infrastructure is dedicated to a single organization and may be located on-premises or off-premises
Private cloud environments are designed to meet specific security, compliance, or performance requirements
They offer enhanced control, customization, and privacy but require significant upfront investment
Hybrid Cloud
Combines public and private cloud environments, allowing for flexibility and data sharing between the two
Organizations can leverage the benefits of both public and private clouds, ensuring optimal resource allocation
Hybrid cloud deployments enable workload portability and seamless integration between different environments
Community Cloud
Infrastructure and services are shared among a specific community or group of organizations
It caters to the needs of a particular community, such as government agencies, educational institutions, or research organizations
Community cloud provides a cost-effective solution while addressing specific requirements and compliance standards of the community
Common cloud computing use cases
Data Storage and Backup
Software Development and Testing
Web and Mobile Applications
Big Data Analytics
Disaster Recovery
Cloud Architecture
The design and structure of cloud computing environments, including the arrangement of components and the relationships between them
It involves various elements that work together to deliver cloud services and ensure reliability, scalability, and security
People in cloud computing
Cloud Consumer
Cloud Provider
Cloud Auditor
Cloud Broker
Cloud Carrier
Cloud architecture best practices
Up-front Planning
Security First
Disaster Recovery Readiness
Maximize Performance
Cost Optimization
Cloud computing enables the delivery of computing services over the internet, eliminating the need for local infrastructure
Key characteristics of cloud computing include on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service
Deployment models include public, private, and hybrid clouds, offering flexibility and data sharing options