Unit 2 Cloud Architecture Not of Use
Unit 2 Cloud Architecture Not of Use
Contents
Exploring the Cloud Computing Stack
Connecting to the Cloud
Infrastructure as a Service
Platform as a Service
Saasvs. Paas
Using PaaS Application Frameworks
Software as a Service
Identity as a Service, and Compliance as a Service.
What is cloud architecture?
What is cloud architecture?
The Cloud Architecture comprises of many cloud components, each of them loosely coupled.
OR
Cloud architecture is the way where technology components are combine to build a cloud, in which resources are
pooled through virtualization technology and shared across a network.
The components of a cloud architecture include or divided into two parts :
A front-end platform (the client or device used to access the cloud)
A back-end platform (servers and storage)
A cloud-based delivery model
A network
Together, these technologies create a cloud computing architecture on which applications can run, providing end-
users with the ability to pull the power of cloud resources.
What is cloud architecture?
Front End platform:-
It refers to the client part of cloud architecture.
It consist of Interfaces and Applications that are required to access the cloud platform of service.
E.g. Web Browser.
Back End platform:-
It refers to Cloud itself .
It comprises of Huge data storage, Virtual Machine , Security Mechanism ,services deployment models ,servers
etc.
What is cloud architecture?
Cloud Architecture
Exploring the Cloud Computing Stack
IaaS :- is the hardware and software that powers it all – servers, storage,
network, operating systems
PaaS :- is the set of tools and services designed to make coding and deploying
applications quickly and efficiently
SaaS : - applications are designed for end users and are delivered over the
web
8
Software as a Service(SaaS)
Software as a Service, or SaaS, is simply software that is hosted in the cloud and accessed through the Internet.
This is the most commonly understood type of cloud computing, as it is used regularly by pretty much anyone
using the Internet.
Common examples include Gmail, Twitter, Facebook, Flickr and Dropbox, but software can include accounting,
invoicing, tracking sales, planning, performance monitoring, email, instant messaging, marketing and much more.
The applications can be accessed from any Internet-compatible computing device.
You can think of SaaS as software-on-demand, as you are basically renting software instead of purchasing it.
With traditional software, the difficulties are endless. You purchase it upfront, install it, maintain it and ensure you
have licensing for the necessary amount of users or devices. And if you want the upgraded version, you have to
redo this entire process.
With SaaS, a business can simply subscribe to the application, allowing users to access it online from anywhere.
Upgrades can occur automatically, so users will always experience the most up-to-date version.
“SaaS is simply software hosted in the cloud and access through the Internet.”
SaaS Delivery
Due to its web delivery model, SaaS removes the need to have IT staff download and install applications on
each individual computer.
With SaaS, vendors manage all potential technical issues, such as data, middleware, servers, and storage,
resulting in maintenance and support for the business.
SaaS Advantages
SaaS provides numerous advantages to employees and companies by greatly reducing the time and money spent
on tedious tasks such as installing, managing, and upgrading software.
This frees up plenty of time for technical staff to spend on more pressing matters and issues within the
organization.
SaaS characteristics
Web access to commercial software
Software is managed from central location
Software is delivered in a ‘one to many’ model
Users not required to handle software upgrades and patches
Application Programming Interfaces (API) allow for integration between different pieces of
software.
When to Use SaaS
SaaS may be the most beneficial option in several situations, including:
Startups or small companies that need to launch ecommerce quickly and don’t have time for server
issues or software
Short-term projects that require quick, easy, and affordable collaboration
Applications that aren’t needed too often, such as tax software
Applications that need both web and mobile access
11
Applications where SaaS may not be the best option
Examples of SaaS
Sales Force Customer Relationship Management (CRM) software
Google Workspace (formerly GSuite)
Dropbox
Salesforce
Cisco WebEx
SAP Concur
GoToMeeting
13
Platform as a Service(PaaS)
PaaS provides a platform and environment for developers to build applications and services.
The development platform includes operating system, programming language, execution environment, data
base and Web server.
The necessary application development tools and services for testing, deploying, collaborating on, hosting and
maintaining applications are all supplied by the cloud provider.
This service, like SaaS, is hosted in the cloud and accessed by users over the Internet.
The applications and services developed via PaaS don’t depend on a specific platform to run, which ultimately
makes SaaS convenient for consumers.
Since it’s a service-based solution, the infrastructure and applications are managed for the customer.
The PaaS service, like SaaS, is generally on a subscription basis, relying on the usage of the client.
“PaaS creates a platform and environment for developers to build apps and services.”
PaaS Delivery
The delivery model of PaaS is similar to SaaS, except instead of delivering the software over the internet, PaaS
provides a platform for software development.
This platform is delivered via the web, giving developers the freedom to concentrate on building the software
without having to worry about operating systems, software updates, storage, or infrastructure.
PaaS allows businesses to design and create applications that are built with special software components.
These applications, sometimes called middleware, are scalable and highly available as they take on certain cloud
characteristics.
PaaS Advantages
No matter the size of your company, using PaaS offers numerous advantages, including:
Simple, cost-effective development and deployment of apps
Scalable, Highly available
Developers can customize apps without the headache of maintaining the software
Significant reduction in the amount of coding needed
Automation of business policy
Easy migration to the hybrid model
Characteristics of PaaS
Services to develop, test, deploy, host and maintain applications in the same integrated development
environment.
Builds on virtualization technology, so resources can easily be scaled up or down as your business changes.
Provides a variety of services to assist with the development, testing, and deployment of apps
Web based user interface creation tools help to create, modify, test and deploy different UI scenarios.
Multi-tenant architecture where multiple concurrent users utilize the same development application.
Accessible to numerous users via the same development application
Integrates web services and databases
15
When to Use PaaS
16
Scenarios where PaaS is not ideal
Where the application needs to be highly portable in terms of where it is hosted.
Where proprietary languages or approaches would impact on the development process
Where a proprietary language would delay later moves to another provider – concerns are raised
about vendor lock in.
Where application performance requires customization of the underlying hardware and software
PaaS Examples
Microsoft Azure
Google App Engine
AWS Elastic Beanstalk
Windows Azure, Heroku
Salesforce.com
OpenShift
17
Infrastructure as a Service(IaaS)
Infrastructure as a Service provides computing infrastructure and storage on-demand, via the Internet.
Infrastructure as a service (IaaS) delivers cloud computing infrastructure—servers, storage, network, and operating
systems as an on-demand service.
Rather than purchasing servers, software, data-center space, or network equipment, installing and integrating new
hardware, clients can simply tap into the cloud resource.
Physically, the pool of hardware resources is pulled from a crowd of servers and networks usually distributed across
numerous data centers, all of which the cloud provider is responsible for maintaining.
The virtual computing infrastructure includes virtual server space, network connections, bandwidth, IP addresses and
load balancers.
The client, on the other hand, is given access to the virtualized components in order to build their own IT platforms.
You can obtain IaaS as public or private infrastructure, or a combination of the two,.
Public cloud is infrastructure consisting of shared resources, which are deployed over the Internet on a self-service basis.
Private cloud infrastructure provides the cloud computing features and resources, but on a private network.
A combination of these two is called hybrid cloud.
IaaS Delivery
IaaS delivers cloud computing infrastructure, including servers, network, operating systems, and storage,
through virtualization technology.
These cloud servers are typically provided to the organization through a dashboard or an API, giving IaaS clients
complete control over the entire infrastructure.
IaaS provides the same technologies and capabilities as a traditional data center without having to physically
maintain or manage all of it.
IaaS clients can still access their servers and storage directly, but it is all outsourced through a “virtual data
center” in the cloud.
As opposed to SaaS or PaaS, IaaS clients are responsible for managing aspects such as applications, runtime,
OSes, middleware, and data.
However, providers of the IaaS manage the servers, hard drives, networking, virtualization, and storage. Some
providers even offer more services beyond the virtualization layer, such as databases or message queuing
15
IaaS Advantages
15
Characteristics of IaaS
Characteristics that define IaaS include:
Resources are available as a service
Cost varies depending on consumption
Services are highly scalable
Multiple users on a single piece of hardware
Organization retain complete control of the infrastructure
Dynamic and flexible
When to Use IaaS
Just as with SaaS and PaaS, there are specific situations when IaaS is most advantageous.
Startups and small companies may prefer IaaS to avoid spending time and money on purchasing and creating
hardware and software.
Larger companies may prefer to retain complete control over their applications and infrastructure, but they want to
purchase only what they actually consume or need.
Companies experiencing rapid growth like the scalability of IaaS, and they can change out specific hardware and
software easily as their needs evolve.
Anytime you are unsure of a new application’s demands, IaaS offers plenty of flexibility and scalability.
Scenarios where IaaS may not be the best option
Where regulatory compliance makes the outsourcing of data storage and processing difficult
Where the highest levels of performance are required, and on-premise or dedicated hosted infrastructure has the
capacity to meet the organization’s needs
Example of IaaS
22
Comparison of PaaS providers
23
Comparison of IaaS providers
24
Connecting to the Cloud
Clients can connect to a cloud service in a number of different ways.
These are the two most common means:
A Web browser
A proprietary application
These applications can be running on a server, a PC, a mobile device, or a cell phone.
What these devices have in common with either of these application types is that they are exchanging data over
an inherently insecure and transient medium.
There are three basic methods for securely connecting over a connection:
Use a secure protocol to transfer data such as SSL (HTTPS), FTPS, or connect using a secure shell such as
SSH to connect a client to the cloud.
Create a virtual connection using a virtual private network (VPN), where the data is protected by a tunneling
mechanism. your computer accesses a server through the internet, using an encrypted connection. This secure
connection can be thought of as a tunnel between your computer and a server operated by the VPN service in a
remote destination.
24
Encrypt the data so that even if the data is intercepted or sniffed, the data will not be meaningful.
SaaS Vs. PaaS
24
SaaS Vs. PaaS
Basis Of PAAS SAAS
Stands for Platform as a services. Software as a services.
Uses PAAS is used by developer. SAAS is used by end user.
It is a cloud computing model that delivers tools that is used It is a service model in cloud computing that
Model
for development of application. host software make available for client.
Technical In which you required knowledge of subject to understand There is no requirement about technicalities
understanding basic setup. company handle everything.
Management Applications and Data are managed by users in PAAS All the requirements are managed by a third party.
Users PAAS users are mostly developers SAAS users need not be developers always
The servers, storage, and networking is either controlled A third-party provider controls the servers,
by a developer or third-party provider. storage, and networking.
24
Using PaaS Application Frameworks
Platform as a Service (PaaS) provides a runtime environment. It allows programmers to easily create,
test, run, and deploy web applications.
PaaS includes infrastructure (servers, storage, and networking) and platform (middleware, development
tools, database management systems, business intelligence, and more) to support the web application
life cycle.
PaaS providers provide the Programming languages, Application frameworks, Databases, and Other
tools:
24
Using PaaS Application Frameworks
Programming languages
PaaS providers provide various programming languages for the developers to develop the applications. Some
popular programming languages provided by PaaS providers are Java, PHP, Ruby,Perl, and Go.
Application frameworks
PaaS providers provide application frameworks to easily understand the application development.
Some popular application frameworks provided by PaaS providers are Node.js, Drupal, Joomla,WordPress,
Spring, Play, Rack,and Zend.
Databases
PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and Redis to
communicate with the applications.
Other tools
PaaS providers provide various other tools that are required to develop, test, and deploy the applications.
24
Using PaaS Application Frameworks
Programming languages
PaaS providers provide various programming languages for the developers to develop the applications. Some popular
programming languages provided by PaaS providers are Java, PHP, Ruby, Perl, and Go.
Application frameworks
PaaS provides a application framework that developers can build upon to develop or customize cloud-based applications.
PaaS lets developers create applications using built-in software components.
Cloud features such as scalability, high-availability and multi-tenant capability are included, reducing the amount of coding
that developers must do.
Some popular application frameworks provided by PaaS providers are Node.js, Drupal, Joomla,WordPress, Spring,
Play, Rack,and Zend.
Databases
PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and Redis to communicate with the
applications.
Other tools
PaaS providers provide various other tools that are required to develop, test, and deploy the applications.
24
Types of PaaS
Various types of PaaS are currently available to developers. They are:
Public PaaS
Private PaaS
Hybrid PaaS
Communications PaaS
Mobile PaaS
OpenPaaS
24
Examples of PaaS products and vendors
There are many examples of PaaS vendors and products that supply the tools and services needed to build enterprise
applications in the cloud.
24
Examples of PaaS products and vendors
Google App Engine supports distributed web applications using Java, Python, PHP and Go.
Red Hat OpenShift is a PaaS offering for creating open source applications using a wide variety of languages,
databases and components.
The Heroku PaaS offers Unix-style container computing instances that run processes in isolated environments,
while supporting languages like Ruby, Python, Java, Scala, Clojure and
Node.js.
Microsoft Azure supports application development in .NET, Node.js, PHP, Python, Java and Ruby, and allows
developers to use software developer kits and Azure DevOps to create and deploy applications.
AWS Elastic Beanstalk allows users to create, deploy and scale web applications and services developed with Java,
.NET, PHP, Node.js, Python, Ruby, Go and Docker on common servers, such as Apache,
Nginx, Passenger and IIS.
24
Using PaaS Application Frameworks
Application frameworks provide a means for creating SaaS hosted applications using an integrated development environment (IDE).
PaaS IDEs run complete range of tools that requires a programming staff to create and run to point-and-click graphical interfaces that
any knowledgeable computer user can navigate and create something useful with.
Considering examples of Web sites and application building PaaS systems.
Many Web sites are based on the concept of information management and organization, they are referred to as Content
Management Systems (CMS).
The Drupal CMS was chosen as an example of this type of PaaS because it is so widely used and has broad industry impact, and it is
a full-strength developer tools.
Whereas Drupal is used in major Web sites and organizes vast amounts of information, the site Squarespace.com was chosen to
illustrate a point-and-click CMS system aimed at supporting individuals, small businesses, and other small organizations.
Squarespace is an example of a Web site builder and deployment tool that has elements of a PaaS development environment. The
applications are built using visual tools and deployed on hosted infrastructure
Squarespace is often associated with blogging tools (as is Drupal), but it is more than that. Squarespace works with photos, imports
information from other social tools, and allows very attractive Web sites to be created by average users.
Squarespace is the all-in-one solution for anyone looking to create a beautiful website. Domains, eCommerce, hosting, galleries,
analytics
24
Artatm.com has a gallery of some of the more attractive and well-known sites built with Drupal.
Using PaaS Application Frameworks
Eccentex AppBase, LongJump, and Wolf were chosen as examples of developer-oriented services aimed at users and
developers who want to create Web-based applications based on Service Oriented Architecture protocols and services.
Eccentex is a company founded in 2005 that has a PaaS development platform for Web applications based on SOA
component architecture to create Cloudware applications using its AppBase architecture.
www.eccentex.com/platform/platform.html
AppBase includes a set of different tools for building these applications, including the following:
Business Objects Build
Presentation Builder
Business Process Designer
lDashboard Designer
Report Builder
Security Roles Management
https://www.sitepoint.com/top-5-paas-solutions-developing-java-applications/
24
LongJump
LongJump (http://www.longjump.com/) is a company, hosting service with a PaaS application development
suite.
Its development environment is based on Java and uses REST/SOAP APIs.
LongJump extends Java and uses a Model-View-Controller architecture (MVC) for its framework in the Developer Suite.
The platform uses Java Server Pages (JSP), Java, and JavaScript for its various components and its actions with objects
built with Java classes.
WaveMaker
WaveMaker (http://www.wavemaker.com/) is a visual rapid application development envi-ronment for creating Java-based
Web and cloud Ajax applications.
The software is open-source and offered under the Apache license.
WaveMaker is a WYSIWYG (What You See is What You Get) drag-and-drop environment that runs inside a browser.
So,we looked at some of the better-known PaaS systems and considered what those tools have in common.
We also looked about a number of tools, including Drupal, Eccentex AppBase,, LongJump, Squarespace, Wolf, Force.com
24
Identity as a Service, and Compliance as a Service
As we know that there are three(3) service models that have been universally accepted, that are (SaaS ,
PaaS,IaaS).
These three different service models taken together have come to be known as the SPI model of cloud
computing.
Apart from these 3 Service Model , Any Thing in Cloud Computing is service which is denoted by XaaS.
There are many different service models other than these 3 models present in XaaS family.
https://en.wikipedia.org/wiki/As_a_service
24
Identity as a Service
As cloud computing matures, several service types are being introduced and overlaid upon these cloud
architectures.
The most fully developed among these service types is Identity as a Service (IDaaS).
Consider, Employees in a company require to login into system to perform various tasks.
These systems may be based on local server or cloud based.
Following are the problems that an employee might face:
Remembering different username and password combinations for accessing multiple servers.
If an employee leaves the company, it's required to ensure that each of the user's account has been disabled.
This increases workload on IT staff.
To solve above problems, a new technique emerged which is known as Identity as a Service (IDaaS).
Identity as a Service provides Authentication and Authorization services on distributed networks.
IDaaS offers management of identity (information) as a digital entity.
This identity can be used during electronic transactions.
24
Identity as a Service
Identity as a Service, or IDaaS is cloud-based authentication built and operated by a third-party provider. IDaaS
companies supply cloud-based authentication or identity management to enterprises who subscribe.
Identity-as-a-Service, or IDaaS, is a type of SaaS.
Identity :- Identity refers to set of attributes associated with something to make it recognizable. All
objects may have same attributes, but their identities cannot be the same. A unique identity is assigned
through unique identification attribute
IDaaS providers can offer a number of user authentication services, such as:
https://www.cloudflare.com/learning/access-management/what-is-identity-as-a-service/
https://www.tutorialspoint.com/cloud_computing/cloud_computing_identity_as_a_service.htm
https://www.okta.com/identity-101/idaas/ 24
Identity as a Service
Multi-factor authentication (MFA): MFA is the use of multiple authentication factors to verify a user's
identity.
Single sign-on (SSO): SSO allows users to sign in once to a single portal in order to access all of their
SaaS applications, and it also provides a centralized place for companies to manage the applications
each user has access to. Most SSO services are cloud-hosted and allow users to access their SSO
login pages through a web browser.
Identity management: An identity provider (IdP) stores and manages user identities. An IdP may check
user identities via username-password combinations and other factors, or it may simply provide a list of
user identities that another service provider checks. Cloud-hosted IdPs fit under the IDaaS umbrella.
https://www.cloudflare.com/learning/access-management/what-is-identity-as-a-service/
https://www.tutorialspoint.com/cloud_computing/cloud_computing_identity_as_a_service.htm
https://www.okta.com/identity-101/idaas/ 24
Identity as a Service
Multi-factor authentication (MFA): MFA is the use of multiple authentication factors to verify a user's
identity.
Single sign-on (SSO): SSO allows users to sign in once to a single portal in order to access all of their
SaaS applications, and it also provides a centralized place for companies to manage the applications
each user has access to. Most SSO services are cloud-hosted and allow users to access their SSO
login pages through a web browser.
Identity management: An identity provider (IdP) stores and manages user identities. An IdP may check
user identities via username-password combinations and other factors, or it may simply provide a list of
user identities that another service provider checks. Cloud-hosted IdPs fit under the IDaaS umbrella.
https://www.cloudflare.com/learning/access-management/what-is-identity-as-a-service/
https://www.tutorialspoint.com/cloud_computing/cloud_computing_identity_as_a_service.htm
https://www.okta.com/identity-101/idaas/ 24
Identity as a Service
Multi-factor authentication (MFA): MFA is the use of multiple authentication factors to verify a user's
identity.
Single sign-on (SSO): SSO allows users to sign in once to a single portal in order to access all of their
SaaS applications, and it also provides a centralized place for companies to manage the applications
each user has access to. Most SSO services are cloud-hosted and allow users to access their SSO
login pages through a web browser.
Identity management: An identity provider (IdP) stores and manages user identities. An IdP may check
user identities via username-password combinations and other factors, or it may simply provide a list of
user identities that another service provider checks. Cloud-hosted IdPs fit under the IDaaS umbrella.
https://www.cloudflare.com/learning/access-management/what-is-identity-as-a-service/
https://www.tutorialspoint.com/cloud_computing/cloud_computing_identity_as_a_service.htm
https://www.okta.com/identity-101/idaas/ 24
Identity as a Service
Multi-factor authentication (MFA): MFA is the use of multiple authentication factors to verify a user's
identity.
Single sign-on (SSO): SSO allows users to sign in once to a single portal in order to access all of their
SaaS applications, and it also provides a centralized place for companies to manage the applications
each user has access to. Most SSO services are cloud-hosted and allow users to access their SSO
login pages through a web browser.
Identity management: An identity provider (IdP) stores and manages user identities. An IdP may check
user identities via username-password combinations and other factors, or it may simply provide a list of
user identities that another service provider checks. Cloud-hosted IdPs fit under the IDaaS umbrella.
https://www.cloudflare.com/learning/access-management/what-is-identity-as-a-service/
https://www.tutorialspoint.com/cloud_computing/cloud_computing_identity_as_a_service.htm
https://www.okta.com/identity-101/idaas/ 24
Identity as a Service
Multi-factor authentication (MFA): MFA is the use of multiple authentication factors to verify a user's
identity.
Single sign-on (SSO): SSO allows users to sign in once to a single portal in order to access all of their
SaaS applications, and it also provides a centralized place for companies to manage the applications
each user has access to. Most SSO services are cloud-hosted and allow users to access their SSO
login pages through a web browser.
Identity management: An identity provider (IdP) stores and manages user identities. An IdP may check
user identities via username-password combinations and other factors, or it may simply provide a list of
user identities that another service provider checks. Cloud-hosted IdPs fit under the IDaaS umbrella.
https://www.cloudflare.com/learning/access-management/what-is-identity-as-a-service/
https://www.tutorialspoint.com/cloud_computing/cloud_computing_identity_as_a_service.htm
https://www.okta.com/identity-101/idaas/ 24