• No results found

Distributed Cloud Computing Platform as a Service (PaaS) Analysis and Recommendations

N/A
N/A
Protected

Academic year: 2021

Share "Distributed Cloud Computing Platform as a Service (PaaS) Analysis and Recommendations"

Copied!
23
0
0

Loading.... (view fulltext now)

Full text

(1)

Distributed Cloud Computing

Platform as a Service (PaaS)

Analysis and Recommendations

Open Source Cloud Computing Research

Cloud Computing

IaaS PaaS SaaS

Updated June2012

Eugene Luster, Office of the CIO & Cloud Standards Lead, R2AD, LLC, Michael Behrens, CTO, R2AD, LLC and http://www.R2AD.com

Cloud

Computing Inter-Cloud

Web Data

IaaS PaaS SaaS

(2)

Cloud Computing Standards Research Focus

We (R2AD, LLC) are sponsored by DISA’s Office of the CTO

to pursue cloud computing research with emphasis on the

following:

5. High Performance

6. Transparency

7. Ease of Management 8. Standardized

We are currently directly involved with these standards groups:

Open Grid Forum (OGF)

• Open Cloud Computing Interface (OCCI)

Storage Network Industry Association (SNIA)

• Cloud Data Management Interface (CDMI)

National Institute of Standards and Technology (NIST)

• Document definition and roadmap of cloud standards

Collected materials/briefs: https://www.intelink.gov/sites/cloud

1. Open Source 2. High Security 3. Interoperability 4. Portability R2AD Android Cloud Management Client

(3)

PaaS Vision (work in progress)

Replace stove pipe architectures and proprietary use of APIs with one or more standardized PaaS and Cloud APIs. Promoted Inter-Cloud Interoperability and Migration of Apps/Data.

Common services (ReSTful APIs) for data storage and access, identity, logging/auditing, messaging, processing, monitoring, deployment, replication, SLA

Use pattern based APIs/Tools in order to remain focus on application logic instead

• Do not keep re-inventing the platform (identity management, logging, database, management, etc)

J2EE helped us through the last decade. PaaS binds scalable components together, similar to what Sun did with J2EE (EJB, JMS, JDBC, JSP, etc). PaaS supports multiple languages and web engines (Weblogic, glassfish, JBoss, Tomcat, Jetty, Nginx , node.js, etc)…however ideally using same REST APIs to ensure portability in a heterogeneous cloud environment (i.e. CouchDB).

• Engine and Operating System should not matter….black box cloud computing

Provide On-Demand scalability

Automatic load balancing for web and data. Distributed data for speed and redundancy

• Built in replication/synchronization/caching, based on API which specifies data policy. Provide Data and also Web Transparency (do hard code to where things are).

Provide automated self-service for full life cycle

Use cloud based repository development, test, and field

• E.g.: Forge.mil: GIT, SVN, Maven, DISA CM. On demand install/cfg.

Cloud Oriented and On Premise Installable

Runs on top of IaaS in production. Agnostic as to which IaaS.

Use the cloud to test the cloud, monitor the cloud, etc.

Supporting Mobile end-user

Data and apps accessible to mobile user (location transparency)

SaaS

Applications, Software

PaaS

Application Infrastructure Web Server+Data Storage

IaaS

Hardware Infrastructure Servers, Raw Storage, Network

End Users/Customers

Developers

Data Center/Integrators

(4)

Recommend Piloting Platform as a Service (PaaS)

PaaS next big wave of cloud technology

It’s the next generation for enterprise workloads

Operating System really should not matter!

black cloud computing

PaaS layer should be Operating System agnostic

Separating allows a set of heterogeneous systems to handle the workflow. Performance/Efficiency/Cost based decisions on back-end instead of technical.

Major new choices available for open on-premise private clouds

OpenShift

• Backed by Red-Hat. Uses JBoss, Spring, etc. – Cloud Foundry

• Backed by VMware. Uses Tomcat, Spring, etc. – Jelastic

• Available for on-premise in near future – not open software however. – Other community PaaS, Cumulogic, others

NIST Definition of PaaS:

Platform as a Service (PaaS). The

capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired

applications created using programming languages, libraries, services, 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 configuration settings for the application-hosting environment.

(5)

OSS Cloud Technologies Compared

(work in progress)

Offering Reference URL Installable

On-Premise

Open Source

Cloud Style

OpenShift https://openshift.redhat.com/app/ Yes Yes PaaS (backed by RedHat)

Cloud Foundry http://www.cloudfoundry.com/ Yes Yes PaaS (backed by VMware)

Stackato http://www.activestate.com/cloud Yes Yes PaaS (based on cloud foundry)

Cumulogic http://www.cumulogic.com Yes No PaaS

Jelastic http://www.jelastic.com Soon No PaaS

Apprenda http://apprenda.com/ Yes No PaaS (primarily .Net focused)

Appistry http://www.appistry.com/ Yes No PaaS –Hadoop Analytics RightScale http://www.rightscale.com/ No No Management

CompatibleOne http://compatibleone.org/ Yes Yes Cloud Broker Google App Engine http://code.google.com/appengine No. IaaS and PaaS SalesForce Force.com http://www.salesforce.com/ http://www.force.com/ No SaaS PaaS Microsoft Azure Services Platform

http://www.microsoft.com/windowsazure No. PaaS + DaaS + IaaS Amazon EC2, Amazon

S3, Amazon Beanstalk http://aws.amazon.com/ec2/ http://aws.amazon.com/s3/ http://aws.amazon.com/elasticbeanstalk/ No. IaaS DaaS PaaS

Rackspace http://www.rackspace.com/ No IaaS

OpenStack http://www.openstack.org/ Yes IaaS and DaaS

CloudStack http://www.cloud.com/ Yes IaaS (backed by Citrix)

(6)

FYI: Generic Cloud Platform as a Service

Proxy Load Balancer Proxy Load Balancer

Mashups (Distributed Observed State)

https (RESTful)

Manag

em

en

t

&

Se

cur

ity

Manag

em

en

t

&

Se

cur

ity

Perimeter Security Perimeter Security Source/App/VM Repository Source/App/VM Repository Scalable Platform Distributed & Indexed -

Synchronization MemoryMemory CacheCache

Node Data Node Data Algorithms Algorithms PaaS Node REST Web REST Web Memory Cache Memory Cache Node Data Node Data Algorithms Algorithms PaaS Node REST Web REST Web

Consider: Open PaaS Offerings that include well known/used/documented/supported components Hadoop, HAProxy, Restlet, ProxyCA, Node.js, web server, etc.

Messages/Queue

Auto Deploy/Configure

Big Data & Storage

(7)

PaaS Offerings….Summary

More PaaS Offerings to be added Please send in suggestions!

More PaaS Offerings to be added Please send in suggestions!

(8)

Survey: OpenShift PaaS

OpenShift is a PaaS backed by Red Hat since 2011

Languages: Java, Perl, PHP, Python, and Ruby

Application Services: SQLite, Membase, MongoDB, Apache HTTP, JBOSS, Spring, built-in management layer

Open Sourced: Yes (Apr/May 2012)

– https://openshift.redhat.com/community/open-source

On-Premise: Yes

OpenShift Express

Free version, no auto-scaling. Good for developers

Hosting: Amazon initially

– IaaS interoperability through the DeltaCloud API

OpenShift Flex

Auto-scaling, performance monitoring, app management

Can autodeploy into OpenShift using tools like http://www.jboss.org/arquillian

Web Site(s):

(9)

OpenShift Screenshots

Cartrigdes describe install+config of common modules, i.e. Drupal. Easily host web apps (i.e. Widgets) and data that scales. They use Amazon for now, OpenStack support coming

(10)

Survey: Cloud Foundry PaaS

Cloud Foundry is a PaaS backed by VMware since 2011

Languages: Spring for Java, .NET, Ruby, Scala, Node.js, PHP, Python

Application Services: RabbitMQ, vFabric PostgreSQL, MySQL, MongoDB, Redis, Spring, Chef Configuration Management

Open Sourced: Yes

On-Premise: Yes

Cloud Foundry Open Source

CloudFondry.org is the open source site. Others, like VMware, and Stackato, AppFog, build on it.

Micro Cloud Foundry

A VM which is available from VMware to run the PaaS environment on your laptop. Alternatively, VMware is hosting a free cloud for developers to experiment with.

Web Site(s):

http://www.cloudfoundry.com/

http://www.cloudfoundry.org/

(11)

More views of Cloud Foundry….

Multiple Developer Choices in each layer

Allows one to solve problem with right tool

Need to be careful though

Integrated components (architect and APIs form a glue)

Scalability, Manageability, Automation

Still Evolving, as are non-open offerings

(12)
(13)
(14)

Cumulogic – investigating Java PaaS

Cloud &

hypervisor

agnostic

Amazon Eucalyptus OpenStack CloudStack – Ngnix, Apache, Tomcat, JBoss, Jetty, GlassFish, MongoDB and MySQL

(15)

Making Enterprise Data Available Everywhere

Implement Location Transparency

Make data access layer virtual in order to decouple data sources from data consumers. This turns data into an enterprise information service. Restful access.

NoSQL is a common solution, implemented by:

CouchBase or MongoDB – synchronization of document stores

Hadoop/Hbase – based on Google’s file distributed file system/database, used by Facebook. Suitable for real-time and data warehouse.

Riak – based on Amazon’s Dynamo , scalable, fault-tolerant, open source key/value database server

Hypertable - high performance data storage for applications requiring maximum performance, scalability, and reliability.

Achieve data virtualization, don’t focus on a specific tool.

Consider Cloud Data Management Interface (CDMI) provides an access API to data and metadata. Look for simple RESTful APIs. Spring-REST?

Pick appropriate underlying storage products based on requirements

(16)

NoSQL Example: Apache CouchDB Features

CouchDB installed on r2ad.net as part of the Python CDMI implementation. Stores JSON objects based on provided key. Stored content access by a URL. Highly scalable, easy to use.

Apache CouchDB is a document-oriented database that can be queried and indexed using JavaScript in a MapReduce fashion. CouchDB also offers incremental replication with bi-directional conflict detection and resolution.

(17)

Cloud Broker: Compatible One

http://compatibleone.org/bin/view/Main/

A broker can talk to more than one cloud provider. They can help prevent vendor lock in as well.

(18)
(19)

PaaS Pilot Recommendations

Evaluate new PaaS Products/Standards

Understand the impact to overall integration and interoperability.

Compare requirements/features with existing legacy or proprietary PaaS.

• Apply use case to each offering: RESTful data service with web access layer on top of it for end-users (i.e. Geo Sensor Use Case)

• Understand maintenance burden and stovepipe issues for non-industry offerings.

Consider OpenShift/Cloud-Foundry components to migrate into existing environment as part of a transformation strategy

Avoid NIH syndrome! Do not re-invent the wheel

Investigate use of Cloud Brokers, such as CompatibleOne

Open Source and Standards Participation

Extend your presence in the Standards Development Organizations (SDO).

• Participate in standards groups to ensure your requirements are being addressed

• Bring the cloud architecture requirements and designs to OGF for standardization.

Participate in the Open Source code stacks of PaaS and IaaS, with a focus on PaaS

(20)

Guiding Principles

Be OSSM (pronounced “awesome”)

On-Demand, Self-Service, Scalable, and Measured

As advocated by Cloud Camp, similar to NIST guidelines (cloudcamp.org)

Cloud Computing is evolving rapidly

Challenge Everything

What might be true/best today may change, so re-think architecture and strategy often

Keep up with industry trends and new specifications

There are many different solutions available

Do not have to like them all, but need to understand them

Remain engaged with standards groups/efforts (NIST recommendation) • OGF, SNIA, DMTF, NIST, IEEE, others

Focus on interoperability and security

On-Premise solutions are needed in support of our labs

Think outside the cloud to inter-cloud secure exchanges

DISA Office of the CTO Intelink Cloud Site: https://www.intelink.gov/sites/cloud

R2AD’s Home Page and cloud test page

(21)

8 Fallacies of Distributed Computing (

Peter Deutsch, et. al.

)

Common false assumptions of Distributed Computing.

1. The network is reliable

2. Latency is zero

3. Bandwidth is infinite

4. The network is secure

5. Topology doesn’t change

6. There is one administrator

7. Transport cost is zero

8. The network is homogenous

www.rgoarchitects.com/Files/fallacies.pdf

(22)

Cloud Fringe: HTML5/CSS – Important Features

Canvas Exposed

Offers fantastic power to create new User Experiences (UX)

• Windows in browser, Unix in Browser, graphical apps, etc. Browser becoming a Runner

So ur ce: h ttp :// caniuse. co m/ #f ea t=c an vas

TinySQL database part of browser

Store cached data, work off-line in support of disconnected operations, etc

(23)

Cloud…Brainstorm

Brainstorming session….White Board

Standards Instead of Cloud Silos!

Web Platform Presentation Security Service Data Store Protocol Mediation Management Synchronization Provisioning Load Balance High Availability Encryption

Distributed Computing NoSQL

Streaming Migration Repository Monitor Ambient Privacy Transport Availability Billing Logging Configuration Replication Broker

References

Related documents

This paper uses finite element simulation software AnsysWorkbench to analyze contact stress distribution between the drum brake and friction linings, optimize structural

xii Outstanding Undergraduate Award 2014 Department of Atmospheric Sciences, Texas A&M University Hollings Scholar 2013-2014 National Oceanic

When analysing changes occurring in the milk yield and composition depending on successive lactation it was concluded that the highest amount of obtained milk, calculated FCM and

The aim of this prospective study was to examine the differences in new-onset of major depressive disorder (MDD) during interferon-alpha based therapy between men and women

During the fall of 2011, the Center for Survey Measurement tested the new online Control Center (an administrative tool) and Principal Screener Survey (a screener to determine if

41 Buzzwords in eCommerce BIG DATA mCommerce personalization integrated marketing recommendation marketing automation. programmatic

STUDIO IRVINE is a design studio run by Marialaura Rossiello and Maddalena Casadei based in Milan, founded by James Irvine in 1988.. After James Irvine’s premature death in

The relatively similar deflection could be caused by (i) the momentum transfer is insufficient to cause permanent displacement of the back plate and (ii) the layer