Research Triangle Software Symposium - No Fluff Just Stuff

Research Triangle Software Symposium

August 23 - 25, 2013

Cloud Foundry Deep Dive, Part 1: The Developer Experience

Friday - Aug 23 5:00 PM EDT - Salon D

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!
Matt Stine

Matt Stine

I Enable Early-Career Enterprise Software Engineers to Continuously Improve

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

My passion is taking a metaphysical approach to software engineering: what is the nature of the collaborative game that we continuously play, and are there better, more contextually-aware ways to play that game?

By day I lead a team tasked with taking a first-principles-centric approach to intentionally enabling programming language usage at the largest bank in the United States.

By night I write and teach my way through a masterclass in software engineering and architecture targeting early-career software engineers working in large-scale enterprise technology organizations.

What is the primary goal?

To win the game. More seriously: to get 1% better every day at providing business value through software.

Who am I?

I'm a 22-year veteran of the enterprise software industry. I've played almost every role I can imagine:

  • Software Engineer
  • Software Architect
  • Technical Lead
  • Engineering Manager
  • Consultant
  • Product Manager
  • Field CTO
  • Developer Advocate
  • Conference Speaker
  • Author
  • Technical Trainer
  • Technical Marketer
  • Site Reliability Engineer
  • Desktop Support Specialist

I've worked at Fortune 500 companies, a tenacious teal cloud startup, and a not-for-profit children's hospital. I've written a book, and I've hosted a podcast. I've learned a lot along the way, including many things I wish I'd known when I first got started. And so now I want to pass those learnings on to you, especially if you've only just begun your career.