Great Lakes Software Symposium

November 8 - 10, 2013

Cloud Foundry Deep Dive, Part 1: The Developer Experience

Saturday - Nov 9 3:15 PM - Gallery

Matt Stine

Matt Stine

Global CTO - Software Architecture at Pivotal

In recent years, the cloud has gone from Larry Ellison's “Maybe I'm an idiot, but I have no idea what anyone is talking about,” to Microsoft's “TO THE CLOUD!” to a central part of many companies IT strategy. At the same time, the way that we consume the cloud has continued to evolve. Many of today's cloud efforts revolve around utilization of various “infrastructure as code” products (e.g. Puppet and Chef) and homegrown automation to create deployment pipelines. When we start at this level, we often end up reinventing many of the same wheels as we climb the abstraction ladder.

Platform as a Service (PaaS) offerings are positioned to allow developers (and operators) to start climbing the abstraction ladder from a higher rung, shifting the model from machine-centric deployment to application-centric deployment. This session will focus on life as an application developer using Cloud Foundry as a PaaS, with demos using Pivotal's Hosted CF at http://run.pivotal.io.

We'll cover the following topics:

  • Hello World: Pushing Java, Ruby, and Node.js apps
  • Service Binding: Talking to DB's and other services
  • Buildpacks: Flexible application runtime stacks
  • “Places to Put Your Stuff”: organizations and spaces
  • Promotion Pipelines: Dev to Test to Prod
  • Scaling: From 1 instance to 100 instances in 30 seconds or less!
  • Health Manager: No more 2 AM support calls…
  • Blue-Green Deployments: Zero downtime for your users
  • Deploying Cloud Foundry in YOUR data center
  • It's Open Source and YOU can contribute!

Workshop Requirements

This session is a workshop. Please come prepared.

All parts will require:

  • Git (“brew install git”)
  • Your favorite Java editor (Eclipse, IntelliJ IDEA, Netbeans)
  • The Cloud Foundry CLI - download the latest!

Needless to say you'll need a laptop! For best experience, a Mac or Linux environment is ideal (it's technically possible to get most of this working on Windows, but it's VERY DIFFICULT). Also, you'll need at least 8 GB of RAM to support running Cloud Foundry locally without too much of a performance hit.

Part one of the workshop will require a free account on Pivotal Web Services. You can create a 60-day trial with no credit card at https://run.pivotal.io.

Parts two and four will require the use of BOSH Lite. More instructions will be provided at the conference. But, to ease setup, please install the following dependencies (in addition to those for part one!):

  • Virtualbox
  • Vagrant
  • Ruby 1.9.3 (rbenv or RVM are great options!)
  • The BOSH CLI Ruby Gem (after installing Ruby via one of the version managers, “gem install bosh_cli” will do the trick)
  • Spiff

An alternative to setting up BOSH Lite if you have trouble with the environment (or you are stuck on Windows!) is to use TryCF. This only requires an AWS account (obviously a credit card required) and an email address, and eliminates the need for this entire dependency list. The estimated cost is 28 cents per hour, so you won't run up a huge bill!

Part Three will require the use of a FREE Cloudbees account. Create one at https://grandcentral.cloudbees.com. Once you're set up, click on “Get Started with Builds” to provision your Jenkins instance. We'll complete the remainder of the setup during the lab, but it's important to get the Jenkins instance provisioned in advance so that you don't lose 10 minutes of workshop time!

It will also require the use of a FREE TRIAL account of Artifactory Online from JFrog. You can obtain an account at https://www.jfrog.com/registration/registration.html. This one is a bit quicker, but you still should try to create it before the workshop.

Video Preview

About Matt Stine

Matt Stine is an 18 year veteran of the enterprise IT industry, with nine of those years spent as a consulting solutions architect for multiple Fortune 500 companies, as well as the not-for-profit St. Jude Children's Research Hospital. He is the author of Migrating to Cloud-Native Application Architectures from O'Reilly, and the host of the Software Architecture Radio podcast.

Matt is obsessed with the idea that enterprise IT “doesn’t have to suck,” and spends much of his time thinking about lean/agile software development methodologies, DevOps, architectural principles/patterns/practices, and programming paradigms, in an attempt to find the perfect storm of techniques that will allow corporate IT departments to not only function like startup companies but also create software that delights users while maintaining a high degree of conceptual integrity. He is currently the Global CTO of Architecture at Pivotal, and spends much of his time advising IT leadership on the effective adoption of cloud-native architectures.

Matt has spoken at conferences ranging from JavaOne to OSCON to YOW! and is a nine-year member of the No Fluff Just Stuff tour. Matt is also the founder and past president of the Memphis Java User Group.