Your SlideShare is downloading. ×
Review: Cloud Foundry brings power and polish to PaaS
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Review: Cloud Foundry brings power and polish to PaaS


Published on

Review: Cloud Foundry brings power and polish to PaaS

Review: Cloud Foundry brings power and polish to PaaS

Published in: Software

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. GET TECHNOLOGY RIGHT® JULY 16, 2014 Copyright © 2014 by InfoWorld Media Group, Inc., a subsidiary of IDG Communications Inc. Posted from InfoWorld, 501 Second Street, San Francisco, CA 94107. #C30336 Managed by The YGS Group, 800.290.5460. For more information visit Cloud Foundry was created by VMware to streamline deployment for application developers, application operators, and cloud operators. Then in April 2011, Cloud Foundry was announced as open source under the Apache 2.0 license, with the pitch to developers that they could code in the lan- guage and Web framework of their choice without worrying about the IT environment. In February 2014, VMware spin-off Piv- otal announced the formation of the Cloud Foundry Foundation, with Pivotal, EMC, IBM, Rackspace, and VMware as Platinum spon- sors. The foundation has since expanded to 33 members and 42 contributing companies. One differentiator for Cloud Foundry is support for Pivotal HD Hadoop MapReduce, HAWQ SQL for Hadoop, and GemFire XD analytics. Another is the availability of the Pivotal Mobile Services Suite, thanks to last year’s acquisition of Xtreme Labs. Pivotal’s big data services and mobile services are both now integrated with Pivotal CF, the company’s enterprise version of Cloud Foundry. Several Cloud Foundry Foundation mem- bers have released their own distributions of Cloud Foundry, including ActiveState with its Stackato product. The free Stackato Micro Cloud comes packaged for VirtualBox, VMware Fusion/Player, VMware vSphere, and KVM. While the Micro Cloud Foundry VM has not yet been updated to Cloud Foundry v2, you can install Cloud Foundry open source locally using either bosh-lite or cf_nise_installer. Bosh-lite supports VMware Fusion/Player, VirtualBox, and Amazon Web Services, while cf_nise_installer only supports VirtualBox. I asked Pivotal about the lack of a Micro Cloud Foundry v2 VM and got this response from Jamie O’Meara, Pivotal CF community engineer: Our focus is on delivering an enter- prise PaaS experience for Cloud Foundry, which includes installation into a num- ber of cloud providers like vSphere/vCHS, OpenStack, AWS, and Google Compute Engine. As part of the experience, we found developers willing to build and use their local tools or to push to private and public instances of Cloud Foundry. Bosh-lite is a tool that offers support for a portion of CF v2 and is used to per- form specific tasks such as building BOSH deployable services like a database. It is not a replacement for Micro Cloud Foundry, which is still on our roadmap. Stackato’s Micro is based on CF v2 with some proprietary additions. Pivotal itself has two Cloud Foundry PaaS offerings: the online Pivotal Web Services, and the enterprise-oriented Pivotal CF. These are complemented by Pivotal HD and related cloud service offerings, as well as other spe- cialized data offerings such as the Pivotal Greenplum RDBMS, Pivotal GemFire, and Piv- otal SQLFire. In addition, Pivotal’s acquisition last year of Xtreme Labs has given it a suite of mobile services that integrates with its PaaS and its big data services. As mentioned in the statement by Jamie O’Meara, Pivotal CF runs on VMware, Open- Stack, Amazon Web Services, and Google Cloud Platform. Review: Cloud Foundry brings power and polish to PaaS Cloud Foundry impresses with broad application support, streamlined deployment, and enterprise extras from Pivotal, though initial setup could be simpler Pivotal CF 1.2 20%20% 89 20% 9 15% 8 15% 7 10% 9 8.4 Management EaseofUse Breadthofsupport Documentation Intstallation andsetup Value OverallScore Test Center Scorecard Very Good ®
  • 2. I N F O W O R L D . C O M 0 7 . 1 6 . 1 42 Cloud Foundry architecture and features The Cloud Foundry Elastic Runtime runs applications in packages called “droplets” in DEAs (Droplet Execution Agents). DEAs are managed by the Cloud Controller and moni- tored by the Health Manager, while Routers manage application traffic, do load balancing, and combine logs. In turn, DEAs call on ser- vice broker nodes, which communicate over a message bus. The Cloud Controller has access to a blob store and a database of application metadata and service credentials. To deploy an application, the developer basi- cally uploads the app bits and metadata, using the Cloud Foundry command line or plug-ins from Eclipse, Maven, or Gradle. In addition, the developer needs to create and bind services. This all boils down to building a WAR archive and uploading the WAR. TheCloudControllerwillautomaticallydetect and load any necessary system buildpacks, cre- ate a droplet, deploy the application droplet to the DEAs, register the routes, and forward the ports.OncetheDEAsareactive,theHealthMan- ager compares the expected state of DEAs from the Cloud Controller with the actual state from theDEAs.IftheHealthManagerdetectsadevia- tion, it will ask the Cloud Controller to restart any DEAs not in the expected state. Administrators use BOSH, as opposed to other IT automation tools, such as Puppet or Chef, to manage the underlying infrastructure ofCloudFoundry.Anopensourcetoolchainfor release engineering, deployment, and lifecycle managementoflarge-scaledistributedservices, BOSHhasitsowncommandline,separatefrom the cf command line, but you don’t need it to deploy an application. BOSH is for deploying VMs, not droplets. At a very high level, BOSH clones new VMs from a “stemcell” to create the VMs needed for a deployment. A stemcell contains an oper- ating system and an embedded BOSH agent that allows BOSH to control VMs cloned from the stemcell. A BOSH release is a collection of source code, configuration files, and startup scripts, with a version number that identifies these components. The BOSH deployment manifest is a YAML file defining the layout and properties of the deployment. Cloud Foundry includes UAA (User Account and Authorization) and login servers. The UAA is the identity management service for Cloud Foundry. Its primary role is as an OAuth2 pro- vider, issuing tokens for client applications to use when they act on behalf of Cloud Foundry users. However, it can also authenticate users with their Cloud Foundry credentials and act as an SSO (single sign-on) service. The login server performsauthenticationfortheUAA,actingasa back-endservice.TheloginserveriswhereCloud Foundryadministratorssetuptheirauthentica- tion sources, such as LDAP/AD, SAML, OpenID (Google, Yahoo, and so on), or social. Down at the application execution level, the DEA uses Warden Linux containers. Warden provides a simple API for managing isolated, ephemeral, and resource-controlled environ- ments, or containers. In the future, Cloud Foundry will support Docker containers. Deploying applications with buildpacks Buildpacks provide framework and runtime supportforyourapplications.Fourbuildpacks are standard in Cloud Foundry and Pivotal CF: Java, Node.js, Ruby, and Go. (Stackato has Python instead of Go.) The good news is that buildpacks are readily available, easy to install, and even easy to construct, assuming you can write a few lines of Ruby or another scripting language. In most cases, the open source language and framework you want will be available as a buildpack, and all you’ll need to load it will be a mention of the Git repository on the cf command line when you push your app: $ cf push my-new-app -b git:// johndoe/my-buildpack.git Alternatively, mention the buildpack in your manifest. For example, a working WordPress for Cloud Foundry is available in this repository created by Daniel Mikusa. To install it, you simply clone the repo, which is not very big; create a MySQL service in your Cloud Foundry instance; edit the manifest and config files on your local machine; and cf push the app. The manifest.yml file looks like this before editing: --- applications: - name: mywordpress memory: 128M instances: 1 host: mywordpress domain: path: . buildpack: dmikusa-pivotal/cf-php-build-pack.git services: - mysql-db As you can guess, the buildpack line in the manifest references the Git repository of a PHP and Apache buildpack. Cloud Foundry does messaging among the parts of its environment using NATS, a light- weight and distributed publish-subscribe messaging system written in Ruby. The Cloud Foundry services API defines the contract between the Cloud Controller and A block diagram of the Cloud Foundry architecture. Services in the Pivotal Web Services Marketplace are typically available in a variety of plans, ranging from free to $100 or more per month.
  • 3. the service broker. The broker is expected to implement several HTTP (or HTTPS) end- points underneath a URI prefix, and it may be load-balanced. User-provided service instances are a mechanism to deliver creden- tials to applications for service instances that have been pre-provisioned outside of Cloud Foundry — for example, an Oracle cluster. Pivotal has a big data product, Pivotal HD, that integrates with Pivotal CF. It includes Hadoop, Pivotal’s HAWK SQL query engine for Hadoop, and GemFire XD analytics, as well as the Spring for Apache Hadoop Java frame- work. The Pivotal Big Data Suite is an enter- prise data warehouse that includes unlimited Pivotal HD. According to Pivotal, in practice an admin- istrator defines a service pool of HDFS and MapReduce instances, which take about five minutes to provision from scratch on Pivotal CF. Then a developer or an application can ask for an instance from the pool, obtain it in about two seconds, and a new instance can be created for the pool in the background. When the requested instance is no longer needed, it can be released. Pivotal also offers a Mobile Services Suite that’s integrated with both Pivotal CF and Piv- otal HD. This is based on the seven years and 400 apps’ worth of know-how acquired with Xtreme Labs last year. It’s basically an MBaaS (mobile back end as a service) on Pivotal’s PaaS, with the integration extending out to the mobile application level. Cloud Foundry installation and use Signing up for Pivotal Web Services was painless. I had no trouble with the developer console, and downloading and installing the cf command line was a matter of a minute or two. The documentation made the steps needed to deploy an application with cf quite clear. As I mentioned earlier, the Micro Cloud Foundry VM has not yet been updated to Cloud Foundry v2. While I found two methods for installing the current Cloud Foundry open source into a local VM, each promised to be a multihour process. It was much easier for me to download a Stackato Micro Cloud VM (10 minutes) and install it into VMware Fusion on my MacBook Pro (two minutes). I also installed the Stackato command line, which is a superset of cf. Using the Stackato developer console in a browser turned out to be very similar to using the Pivotal Web Services developer console. With the exception of the current lack of a Micro Cloud Foundry VM, which is kind of a pain, installation and setup of Cloud Foundry are very good. Everything you need is available for download, and the installations are self- explanatory. You can start small either online (in a couple of min- utes) or on premise and grow your cloud incrementally, or you can install an enterprise cloud on an appropriate VM host in a few hours. For a developer, deploying droplets from the command line, Eclipse, Spring Tools Suite, Maven, or Gradle is dead simple, once you’ve constructed a valid manifest file that includes any necessary buildpacks. Managing droplets and DEAs is straightfor- ward, though I wish that auto- matic scaling of applications were fully supported instead of being an enterprise-only beta feature in Pivotal CF. Managing Cloud Foundry clouds isn’t hard, but BOSH is a complicated, powerful tool that has a significant learning curve. Administra- tors accustomed to Puppet and other popular configuration management and orchestra- tion tools won’t have any trouble learning BOSH, but they will have to dedicate some time to doing so. Overall, Cloud Foundry is a strong PaaS in its open source form and in both proprietary forms from Pivotal: online as Pivotal Web Ser- vices, and on premises as Pivotal CF. While I haven’t evaluated all the proprietary PaaS offerings based on Cloud Foundry by Founda- tion members, I have looked at Stackato from ActiveState and found that it streamlined a few items not yet cooked in the open source edition, adding value for cloud management and language support. — Martin Heller 3 The Stackato Micro Cloud VM — available for VirtualBox, VMware Fusion, VMware vSphere, and KVM — is currently the fastest way to get Cloud Foundry on to a developer’s desktop. Here the Stackato management console is running behind the Stackato Micro Cloud window. Cloud Foundry at a glance Pros • Wide assortment of languages, Web frameworks, and databases available and supported • Easy and fast self-service deployment for developers and cloud operators • Application container, service, and node health are all monitored and auto- matically restarted if not in the expected state • Big data and mobile services are supported in the PaaS • Can deploy from the command line, Eclipse, Spring Tools Suite, Maven, and Gradle Cons • Automatic horizontal scaling is still in beta, but scheduled for Q3 release in Pivotal CF; another PaaS based on Cloud Foundry, ActiveState’s Stacka- to, already has it • No downloadable “micro” VM for Cloud Foundry v2 yet, but you can down- load Stackato Micro, or use one of two Cloud Foundry installers to install Cloud Foundry in a local VM • Limited to applications that run on Ubuntu Linux, unless you use the Uhuru Windows version of Cloud Foundry, which we have not reviewed Platforms • VMware vSphere, OpenStack, Amazon Web Services, Google Cloud Plat- form Cost • Cloud Foundry, free open source; Pivotal Web Services, 3 cents per giga- byte per hour after two-month free trial with up to 2GB of app memory and 10 free Marketplace services; Pivotal CF, priced by number of appli- cation instances running and number of Operations Manager instances running, with a 90-day evaluation license available for free