Lect3 Architecture
Lect3 Architecture
Cloud Computing?
Cloud computing is a utility-oriented and Internet-centric way
of delivering IT services on demand.
D) Rapid elasticity:
i. Cloud services can be rapidly and elastically provisioned, in
some cases automatically to quickly scale out and rapidly
released to quickly scale in.
ii. To the consumer, the capabilities available for provisioning
often appear to be unlimited and can be purchased in any
quantity at any time.
iii. Rapid elasticity allows users to automatically request additional
space in the cloud or other types of services. Because of the
setup of cloud computing services, provisioning can be
seamless for the client or user.
Characteristics of Cloud
Example
–Amazon EC2: Amazon datacenters, Xen, EC2 APIs and administrative interface
–Google AppEngine: Google data center, GFS, AppEngine APIs, administrative interface…
–Batch processing softwares: MapReduce, Hadoop, Pig, Dryad
Public cloud Disadvantages
SECURITY COMPLIANCE
• It is necessary to ensure that cloud services are compliant with organization's
security policies.
COST - While the public cloud can offer an attractive option for its flexibility and
relatively low cost to operate, building a private enterprise cloud requires significant
expenditure and can become expensive very quickly with all the physical hardware
necessary.
Ex –
• Gov Cloud by Google
• Nebula by NASA
SERVICE MODELS
Cloud Service Models
• The cloud computing stack: Cloud computing, often described as a stack, has a
broad range of services built on top of one another under the name cloud.
Cloud computing is based on service models. These are categorized into three
basic service models which are –
• Infrastructure-as–a-Service IaaS
• Platform-as-a-Service PaaS
• Software-as-a-Service SaaS
The Infrastructure-as-a-Service IaaS is the most basic level of service. Each of the
service models inherit the security and management mechanism from the
underlying model
Cloud Computing Services Classification
Infrastructure-as-a-Service IaaS
IaaS/HaaS (Infrastructure- and Hardware-as-
a-Service)
(IaaS/HaaS) solutions are the most popular and developed
market segment of cloud computing.
• They deliver customizable infrastructure on demand.
• The main technology used to deliver and implement these
solutions is hardware virtualization: one or more virtual
machines configured and interconnected define the
distributed system on top of which applications are installed
and deployed .
• it reduces the administration and maintenance cost as well
as the capital costs allocated to purchase hardware
IaaS reference implementation
It is possible to distinguish three principal layers: the physical infrastructure,
the software management infrastructure, and the user interface(i. e. web-
based mgmt. Intf)
6. IaaS has greater reliability with the service provider. If any particular hardware
components fail, or even internet connection fails or entire data go offline, an
organization’s infrastructure would not be affected
Iaas Issues
1. Changing the provider is very much complicated
2. Possible privacy issues due to the provider's server locations
3. Security
• The enterprise does not have any control over cloud security in an IaaS environment.
They need to review the Cloud Service provider’s service level agreement (SLA) to help them
understand its security obligations and thereby identifying gaps in their security coverage
4. Lack of flexibility
• Service providers maintain the software, but they do not upgrade the software for some
of the businesses
5. Technical problems
• Organizations faces some downtime with IaaS, and it will restrict their access to
applications and data
6. Over Dependency
• Having IaaS in your organization means have a full dependency on the provider or third
party for your data
7. Upgrade & Maintenance
• The organization is solely responsible for any upgrades of software and maintenance of
tools or data system.
When to use and when not to use
When to use IaaS
The following situations are particularly suitable for cloud infrastructure:
•Any time there are significant spikes and troughs of demand on the
infrastructure.
•For new organizations without the capital to invest in hardware.
•When the organization is growing rapidly, and scaling hardware would be
problematic.
•When there is pressure on the organization to limit capital expenditure and to
move to operating expenditure.
•For a specific line of business, trial, or temporary infrastructure needs.
When not to use IaaS
Although IaaS has advantages when scalability and quick provisioning are
beneficial, the following is a situation in which its limitations might be
problematic:
•Regulatory compliance makes the off-shoring or outsourcing of data storage
and processing difficult.
Platform-as-a-Service PaaS
PaaS
• PaaS provides the runtime environment for applications, development and
deployment tools, etc.
• Platform as a service (PaaS) is a cloud computing model in which a third-
party provider delivers hardware and software tools -- usually those needed
for application development -- to users over the internet
• Platform-as-a-Service (PaaS) solutions provide a development and
deployment platform for running applications in the cloud.
• They constitute the middleware on top of which applications are built
• They automate the process of deploying applications to the infrastructure,
configuring application components, provisioning and configuring
supporting technologies such as load balancers and databases, and
managing system change based on policies set by the user.
• From a user point of view, the core middleware exposes interfaces that
allow programming and deploying applications on the cloud
• Also integrate third-party cloud services offered from other vendors by
leveraging service-oriented architecture
PaaS Reference Model
Characteristics of PaaS
Following are some basic characteristics of PaaS:
•Services to develop, test, deploy, host, and support applications in the
same integrated development environment—all the various services
needed to fulfill the app development process.
•Web-based user interface (UI) creation tools used to create, change,
test, and deploy different UI scenarios.
•Multi-tenant architecture in which many concurrent users use the same
development app.
•Built-in scalability of deployed software, including load balancing and
failover.
•Integration with web services and databases via common standards.
•Support for development team collaboration. Some PaaS solutions
include project planning and communication tools to support
development team collaboration.
•Tools to handle billing and subscription management.
PaaS
EXAMPLES -
• Google's App Engine, Force.com
• Microsoft Azure, Aneka, salesforce.com,
• AWS Elastic Beanstalk, Heroku, Apache
Stratos, Ali Baba are examples of PaaS
offering vendors.
Automated Updates:
PaaS - Benefits
• software updates are automatically done and you get access to all the latest versions,
updates etc.
• There is no risk of missing out on an update. This can save you plenty of resources and
time. Security patches take care of any bugs and other security issues.
Low Investments:
• You can use the software without having to make any investment in infrastructure that
otherwise they procure in an in-house environment. Although IaaS allow shifting the
capital cost into operational costs through outsourcing, PaaS can cut the cost across
development, deployment, and management of applications.
Reduced Costs:
• Since the payment model is pay-as-you-use, there is considerable savings for you
without having to install the necessary software like databases, server etc to run the
applications.
Collaboration:
• Since it is an internet-based platform, it enables the employees to login and work on
the applications from anywhere, make their updates without physically being present
in the business premises.
Focus:
• Your IT team can focus better on core applications rather than being diverted on
maintenance of the system.
PaaS disadvantages
Vendor lock-in:
• This is one possibility you must check thoroughly before signing up with a provider. If you get
locked in a specific language, program, or interface that could affect you with some
unnecessary system that you do not require.
Dependency on Vendor
• On the one hand, it’s a great advantage that a certain part of work is done by the provider
without you having to make an effort.
• On the other hand, your business will still be governed by the provider’s functional
capabilities, speed and reliability.
• That’s why it’s very important to be confident in your business partner and be prepared for
some unforeseen circumstances that may happen to even the most reliable provider.
• At the very least, you should perform your own data backup, for your peace of mind.
Compatibility of Existing Infrastructure
• A new platform is a new environment where legacy solutions are supposed to continue to
work. Undoubtedly, some difficulties and contradictions may arise when two systems come
into contact. Thus, it’s crucial to understand possible compatibility problems beforehand and
to prepare to solve them.
Security Risks
• As a rule, PaaS software is available in a public environment where multiple end users have
access to the same basic resources.
When to use and when not to use
When to use PaaS
•PaaS is especially useful when multiple developers are working on a development
project or when other external parties need to interact with the development process.
•PaaS is invaluable for those who have an existing data source and want to create
applications that leverage that data.
•PaaS is also useful when developers want to automate testing and deployment services.
•The popularity of agile software development is increasing the adoption of PaaS
because it eases the difficulties around rapid development and iteration of software.