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
Capability provided to the consumer in SaaS
Use the provider's applications running on a cloud infrastructure
The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email)
The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings
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 – Applications which are designed for general propose, such as office suit, multimedia and instant message
Business Applications – Application which are designed for business propose, such as ERP, CRM and market trading system
Scientific Applications – Application which are designed for scientific propose, such as aerospace simulation and biochemistry simulation
Government Applications – Applications which are designed for government propose, such as national medical system and public transportation system service
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
Characteristics of 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
Capability provided to the consumer in PaaS
Deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider
The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations
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
Components of PaaS runtime environment
Programming language execution environment
Operating system
Web server
Database
PaaS model
You made data and the application resources; all other resources are managed by the vendor
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
Capability provided to the consumer in IaaS
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 in IaaS
Manageability and Interoperability
Availability and Reliability
Scalability and Elasticity
System Monitoring Interface in IaaS
Monitor virtual machine states such as CPU loading, memory utilization, IO loading and internal network loading
Monitor virtual storage states such as virtual space utilization, data duplication and storage device access bandwidth
Monitor virtual network states such as virtual network bandwidth, network connectivity and network load balancing
Users of IaaS
SysAdmins
IaaS
Offers the computing architecture and infrastructure in a virtual environment so that multiple users can access them
Resources include: data storage, virtualization, servers and networking
Most vendors are responsible for managing the above four resources
User will be responsible for handling other resources such as applications, data, runtime, and middleware
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: Store and back up large amounts of data securely
Software Development and Testing: Rapidly create and deploy applications in a scalable environment
Web and Mobile Applications: Host web and mobile applications in the cloud for global accessibility
Big Data Analytics: Process and analyze vast amounts of data using cloud resources
Disaster Recovery: Maintain data backups and recovery plans in the cloud for business continuity
Cloud architecture
Refers to 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