Part 5
Part 5
CLOUD
BASED
SOFTWARE
CONTENT
INTRODUCTION
VIRTUALIZATION
CONTAINERS IAAS
PAAS
SAAS
Introduction
•The cloud is a very large number of remote servers that are
offered for rent by companies that own these servers.
•You can rent as many servers as you need, run your software
on these servers, and make them available to your customers.
•The remote servers are “virtual servers,” which means they are
implemented in software rather than hardware.
•Many virtual servers can run simultaneously on each cloud
hardware node, using virtualization support that is built in to the
hardware.
Introduction
Cloud Software
characterisitcs
Resilience
Maintain service in the
event of server failure
Benefits of using the cloud for software development
Factor Benefit
If you find that the servers you are renting are not powerful
Server choice enough, you can upgrade to more powerful systems. You can add
servers for short-term requirements, such as load testing
A virtual machine is a software similar to a physical A server is a device or a software that can provide
DEFINITION computer that can run an operating system and services requested by the other computers or clients
related applications. in the network.
A virtual machine provides the functionality similar A server provides different services to other
USAGE to a physical computer. computers or clients.
A virtual machine can be powered off. Generally, a server is not powered off
POWER
Hypervisor
A hypervisor, also known as a virtual machine monitor or VMM,
is software that creates and runs virtual machines. A hypervisor
allows one host computer to support multiple guest VMs by
virtually sharing its resources, such as memory and processing.
Guest OS
It is the operating system installed on either a virtual machine
(VM) or partitioned disk.
• Using containers dramatically speeds up the process of deploying virtual servers on the
cloud.
• Containers are usually megabytes in size, whereas VMs are gigabytes.
• Containers can be started up and shut down in a few seconds rather than the few minutes
required for a VM.
• Containers are an operating system virtualization technology that allows independent
servers to share a single operating system. They are particularly useful for providing
isolated application services where each user sees their own version of an application.
• Containers are a lightweight mechanism for running applications in the cloud and are
particularly effective for running small applications such as stand-alone services.
• Containers were first introduced in the mid-2000s with developments in the Linux
operating system.
• Several companies, such as Google and Amazon, developed and used their own version of
containers to manage large server clusters.
BENEFITS OF CONTAINERS
• They solve the problem of software dependencies. You don’t have to worry about the
libraries and other software on the application server being different from those on your
development server. Instead of shipping your product as stand-alone software, you can ship
a container that includes all of the support software that your product needs.
• 2. They provide a mechanism for software portability across different clouds. Docker
containers can run on any system or cloud provider where the Docker daemon is available.
• 3.They provide an efficient mechanism for implementing software services and so support
the development of service-oriented architectures,
• 4. They simplify the adoption of DevOps. This is an approach to software support where the
same team is responsible for both developing and supporting operational software
EVERYTHING
AS A SERVICE
XAAS
• The idea of service which is rented rather than owned is fundamental to cloud computing.
So, instead of owning a hardware, you can rent hardware you need from cloud provider.
• If you have a software product, you can use that rented hardware to deliver the product to
your customers.
• In cloud computing ,this has been developed into the idea of ‘Everything-as-a-Service’ .
• For software product developers, there are currently three levels where everything as a
service is most relevant.
• Infrastructure as a service (IaaS) : This is a basic service level that all major cloud
providers offer. They provide different kinds of infrastructure service, such as a compute
service, a network service, and a storage service.
• Platform as a service (PaaS): This is an intermediate level where you use libraries
and frameworks provided by the cloud provider to implement your software.
• Software as a service (SaaS): Your software product runs on the cloud and is accessed
by users through a web browser or mobile app.
XAAS
•It is a basic service provided by all cloud providers .
•“IaaS” is a form of cloud computing that delivers fundamental
compute ,network and storage resources to consumers on –
demand over the internet .
•It can be used to implement virtual cloud based services .
IAAS •Although many preconfigured packages are available ,you are
responsible for installing and managing the database ,the system
security ,and the application .
INFRASTRUCTURE •Using the cloud provider’s control panel, you can easily add more
AS A SERVICE servers if you need to as the load on your system increases.
•If we are running a small or medium sized product development
company ,it is not cost – effective to buy server hardware . So if
you need development and testing servers ,these can be
implemented using infrastructure services .
ADVANTAGES OF IAAS
1. Cost Saving
IaaS makes an economical option for start-ups and businesses testing new ideas as it saves the organization
from sudden business spikes.
2. On-demand Scalability
It can be scaled up and down quickly in response to a company’s requirements. IaaS providers have the most
powerful storage, networking technology, and servers to accommodate the needs of their clients.
3. Have the flexibility you need
It provides more flexibility to work as employees can access their files and data offsite also in need, they can
connect to the virtual office easily and quickly.
4. Focus on business growth
With the growing business, you need to hire more staff to maintain the technology infrastructure.But with the IaaS,
you need not worry because it uses up-to-date technology that easily scales up or scales down to meet your business’
needs.
5. It can also run when the server goes down
DISADVANTAGES OF IAAS
1. Security
The enterprise does not have any control over cloud security in an IaaS environment.
2.Over Dependency
Having IaaS in your organization means have a full dependency on the provider or
third party for your data
3.Virtualization Services & User-Privacy
IaaS depends on virtualization services. Also, restricts user-privacy & customization.
• Platform as a service (PaaS) is a cloud computing
platform where a third party offers the necessary
software and hardware resources.
PAAS • The offerings enable clients to develop, run, and
manage business applications without maintaining
the infrastructure required for such software
development processes.
Platform • PaaS solutions cope with modern business
as a requirements while considerably reducing costs
and complexities of buying, installing, and
Service managing in- house hardware and software.
• Using PaaS makes it easy to develop auto-scaling
software.
HOW PAAS WORKS
EXAMPLES OF PAAS COMPANIES
SAP Cloud
Microsoft Azure
Salesforce Lightning
AWS Lambda
Google App Engine
Pivotal Cloud Foundry
AWS Elastic Beanstalk
IBM Cloud Foundry
Red Hat OpenShift
Oracle Cloud Platform
KEY CHARACTERISTICS OF PLATFORM AS A SERVICE
• Development tools
These include a source code editor, debugger, compiler, and other essential tools that assist in
writing, deploying, debugging, and managing code.
• Middleware
Middleware is similar to an invisible entity (i.e., software) that allows users to interact with the
software. It acts as an intermediate bridge between user-facing applications and machine operating
systems.
• Operating system (OS)
PaaS provides any or all operating systems that developers need to work on and on which applications
run.
• Databases
PaaS allows developers to create, query, and maintain databases needed to develop and deploy
applications.
• Infrastructure:
In PaaS, all infrastructure components, including storage and servers, are taken care of while developing
and deploying applications
ADVANTAGES OF PAAS
1. Cost
All the companies which uses PaaS enjoy low investment cost since it does not require hardware and
software.
2. Availability
PaaS is made available to all the professionals irrespective of the location. As a result, the employees of an
organization can communicate with each others using a single environment.
3. Scalability
The environment used in a PaaS is highly scalable with resources and tools. The structure is flexible
enough to allow business to expand without high investment.
ADVANTAGES OF PAAS
4. Productivity
The work environment provided by the PaaS is already existing. They offer a pre-defined business plan.
Meaning, each project needs not to be implemented from the beginning
5. Upgradeability
Updates are really necessary for PaaS solutions to keep up with the competition. If the updates are not
given time to time, the users could constantly miss out new features and improvements. These updates
always ensure that the applications are running in their latest versions.
6. Platform Support
It is crucial for a business to develop apps that support wide range of devices and operating systems. PaaS
developers always make sure that their apps are supported by different platform types
DISADVANTAGES OF PAAS
1. Security
All the data of applications are stored inside the provider's cloud database. This brings up confidential
issues since the private and sensitive information can be viewed by the provider.
2. Control
Users lack some controls over a PaaS solution. It is dependent on the provider’s capabilities.
Therefore, it is important to choose your PaaS provider wisely.
3. Reliability
PaaS solutions often face reliability concerns. When using PaaS, users must be ready to face frequent
downtimes. As a result, the users must perform their own backups to avoid data losses.
DISADVANTAGES OF PAAS
4. Compatibility
Not all the components are cloud enabled. Whatever the products offered by the PaaS provider is
customized themselves. Due to this the infrastructures may face compatibility issues in a new
environment.
5. Integration
Similar to compatibility, each and every PaaS provider has their own integration process. Two different
PaaS solutions cannot be integrated with each other. If tried contradictions can be seen. Moreover, once
there is integration issues it is not an easy task to change the PaaS provider.
6. Locked-in Features
Some of the features offered by the PaaS may be completely irrelevant to the user. It can be a program,
language or an interface that is locked-in. The users have no authority to change it.
• When software products were introduced, it had to be
installed on each individual computers of the customers and
sometimes they had to configure it to fit their operating
environment and deal with software updates.
SAAS • But if you deliver your software product as a service, you run
the software on your servers, which you may rent from a cloud
provider. Customers don’t have to install software, and they
access the remote system through a web browser or dedicated
SOFTWARE mobile app
AS • SaaS uses the Internet to deliver subscription software services,
A which are managed by a third-party vendor. Well-known SaaS
examples include Dropbox, Google Workspace, and Salesforce.
SERVICE • Many software providers deliver their software as a cloud
service, but also allow users to download a version of the
software so that they can work without a network connection.
Example: Adobe Lightroom
SAAS
2. Network constraints
As the software is provided on a server, it requires an active network connection to perform
3. Security concerns
Sensitive information in the companies are handled by external software provider. Cloud providers
are prone to security breaches.
5. Data exchange
Data exchange between cloud service and other services or local software applications is difficult
without the cloud service providing an API that is accessible for external use.
Parameters IAAS PAAS SAAS
Model Service model Cloud computing model Service model in cloud computing
Amazon web services, sun, Facebook, and google M.S office web, Facebook
Cloud services.
vcloud express. search engine. and google apps.
Enterprise services. AWS virtual private cloud. Microsoft azure. IBM cloud analysis.