RSS

jclouds at Gluecon 2013

It’s time to hit the road, get some hands on keyboards, and really teach developers how to use jclouds. I’ll be giving a workshop titled “Solve the Cross-Cloud Conundrum with jclouds” at Gluecon this year. The session is on May 22 from 10:30 to 11:30 am in Breakout 2.

Gluecon

GlueconWhat is Gluecon? In their own words, “Cloud, Mobile, APIs, Big Data — all of the converging, important trends in technology today share one thing in common: developers. Developers are the vanguard. Developers are building in the cloud, building mobile applications, utilizing and building APIs, and working with big data. At the end of the day, developers are the core.”

I firmly believe that to be true. Developers are the new kingmakers because software is eating the world.

My preference for these kinds of sessions is to get developers doing what they do best. The workshop includes an overview of jclouds, its terminology, and its community then it quickly gets down to development. First, we’ll install jclouds for use on the command line during the workshop. Then we’ll work through an example of using jclouds to start virtual machines in multiple clouds.

Rackspace will be offering free cloud trial accounts to the attendees of this session. It’s our way of helping you get started in the cloud and say thanks for coming out.

Coda

The reason to use jclouds is to control your cloud infrastructure with Java. In this workshop I’ll be showing you exactly how to do that.

 

jclouds 1.6.0 and the move to the ASF

apachejclouds 1.6.0 has been released! Since 1.5.0 I’m both proud and (antonymically) humbled to have become a committer. We’ve done a lot of work since then, including adding new features and an extensive refactoring aimed at simplifying the code base and removing cruft. I’m pleased to announce that full support for Rackspace Cloud Load Balancers and Cloud DNS has been added. That brings the list of supported APIs to:

  • Cloud Servers
  • Cloud Files
  • Cloud Block Storage
  • Cloud Load Balancers
  • Cloud DNS

Here’s how to get started with Rackspace and jclouds 1.6.0. To get familiar with the new APIs check out the examples for Cloud Load Balancers and Cloud DNS.

Rackspace has literally doubled-down on jclouds by adding another contributor, Zack Shoylev, to the open source project. Zack is currently arm pits deep in adding support for Cloud Databases.

Denominate

With the addition of Cloud DNS to jclouds 1.6.0, it’s now possible for a Netflix OSS project known as Denominator to use Rackspace’s DNS service. Denominator is a portable Java library for manipulating DNS clouds. Denominator has pluggable back-ends, initially including AWS Route53, Neustar Ultra, DynECT, Rackspace Cloud DNS, and a mock for testing. Demoninator is led by Adrian Cole, the founder jclouds.

I confess I was pretty excited to get my first pull request accepted and become a contributor to Netflix OSS. It gave me the chance to learn how to use MockWebServer for unit testing and dip my toe into Gradle too. Right now it’s support for read-only so there’s still a lot TODO but one day (maybe) my code will be used when you go to watch something on Netflix.

The Apache Software Foundation

jclouds 1.6.0 marks the last release of “jclouds”. The next release will be as Apache jclouds!

With a huge thanks to Becca Wood, jclouds entered the Apache incubator with an impressive 15 binding votes and 9 non-binding votes. The fledgling incubator page can be found here. As you can see, there is a lot of work to do and such things take time. The first release of Apache jclouds won’t happen until we’ve left the incubator and become a top-level project. We expect the process to take 2-4 months but are cautiously optimistic we’ll be on the lower end of that range.

Coda

It’s going to be an interesting ride having front row seats to a project entering the ASF. There’s excitement and some trepidation as we learn how to work best within Apache and their processes. At the end of it, I think this will be a huge step forward for the jclouds community.

 
Leave a comment

Posted by on May 2, 2013 in jclouds, rackspace

 

Presentation Patterns

Presentation Patterns is a book that takes the concept of software design patterns (and anti-patterns) and applies it to presentations and public speaking. This book is a must read for Developer Advocates and Software Developers who need to deliver a presentation to any size group of people. I would also recommend it to anyone in a technical position or even those in other roles as it’s filled with practical advice and actionable steps accessible by anyone. After reading the book through once and giving a presentation based on a handful of the patterns therein, I’m convinced this book can help improve or kick start your presentation skills.

The Book

Presentation PatternsThe book is broken down into 8 chapters: Prelude, Creativity, Slide Construction, Temporal, Demos vs Presentations, Stage Prep, Performance Anti-Patterns, and Performance Patterns, The patterns in the book more or less follow the standard Design Patterns (GoF) format. Each pattern is comprised of the sections: Pattern Name, Also Known As, Definition, Motivation, Applicability/Consequences, Mechanics, and Related Patterns. In all the book is 304 pages and I found it to be digestible in 4-5 days. The authors are well known on the technical talk circuit and have thousands of hours of presentation time between them. The patterns are often separated by amusing anecdotes that demonstrate the successful application of a pattern or the sometimes disastrous consequences of falling prey to an anti-pattern.

The Read

I read the book with a particular presentation in mind so I at least had some idea about what I wanted to say. This definitely helped motivate my reading and, since I also knew what I didn’t want to say, I could just skim over some of the patterns.

I quite liked reading the book this way. I could read the Name and Definition of a pattern and pretty quickly figure out if it was suitable for my upcoming presentation. If not, I would skim it or disregard it completely. I could see reading this book before authoring any presentation just to get ideas and be reminded of the variety of patterns. Then I’ll be able to pick and choose which patterns might be appropriate for the content and the audience, and how to combine them. I can see how each time I read the book it will take less and less time until I’ve eventually internalized the concepts.

The Presentation

The presentation I was preparing for was due in a week but in truth I had been thinking about it for several weeks before I had even picked up Presentation Patterns. I would occasionally jot notes down as ideas came to me, following the Fourthought pattern without realizing there was already a pattern name for it. What I’ll describe now is the process I went to through to author the presentation. I’ll be using the shorthand of identifying everything by pattern name to give you an idea of how you can quickly and concisely communicate the way you’ve created a presentation. You can find the presentation at A Cloud Platform for Apps: The Rackspace SDKs so you can compare the presentation against the description.

Looking back on it, what I had in mind originally was an Infodeck, which is really no good for a public presentation. It would have would up looking like a Bullet-Riddled Corpse. My next bad idea was series of essentially random pictures to communicate one thought per slide but I then realized I had almost fell prey to the Photomaniac anti-pattern. After getting all of my bad ideas out of the way, I settled on Takahashi but I had trouble finding my Unifying Visual Theme. Eventually I wound up combining my Unifying Visual Theme with Entertainment, Intermezzi, and Brain Breaks. I made sure I also used Bookends to make the beginning and end distinctive. I went out on a limb and did a simple Live Demo and used Traveling Highlights to discuss the code afterwards. I used Carnegie Hall extensively by practicing at home, at a user group meetup, in front of colleagues, and in front of a limited audience before finally taking the stage in front of my real audience.

Overall the presentation was well received at appsworld. For my next presentation, the biggest thing I’d like to improve on is a Narrative Arc and utilize some of the Temporal patterns more.

In the spirit of the book I’d like to present my own pattern!

Pattern: Smile Dammit

Also Known As

Have Some Fun, Enjoy Yourself

Definition

When you start your presentation the first thing you should do is smile dammit! Whether or not you’re actually feeling it at the moment, have some fun up there and try to enjoy yourself.

Motivation

I’ve attended too many presentations from dour faced presenters. Maybe they’re comfortable with public speaking but they sure don’t look like it. They appear to be miserable and that affects my perception of them and their topic.

Applicability/Consequences

Unless you’re giving a presentation on an extremely serious subject, there’s no reason not to smile. Failure to do so will leave a bad impression with your audience. If you’re feeling a bit nervous, it might even help quell some of those butterflies.

Mechanics

Just smile once in a while dammit.

Coda

One thing that really struck me was an estimate of the amount of time it takes to prepare a really good presentation. The authors figured that there was about an hour of work total for every single minute of presentation time. To deliver a top notch presentation that sounds about right to me.

Presentation Patterns was great read and definitely worthwhile. I’ll be reading it again too. It’s rare I find a book useful enough that I feel compelled to do a book review style post but this was definitely the case here.

Whether you’re new to public speaking and presentations or have a fair number of hours on stage already, you’ll find many useful patterns in this book. Some you will already know and some you will already be doing but giving identifying them and giving them a name is powerful. Now you can use those names as a shorthand when thinking about how to combine patterns into recipes to deliver interesting and entertaining presentations.

However, it will definitely resonate most with developers since the information is delivered in the well known pattern format.

 
Leave a comment

Posted by on April 3, 2013 in developer advocacy

 

We Wrote an OpenStack Operations Guide in 5 Days!

OpenStack Operations GuideAnd here it is…the OpenStack Operations Guide. You can read it in EPUB, MOBI, PDF, or print. The electronic formats are free to download so click away. The print version costs $29.90 and all proceeds go to the OpenStack Foundation to support more book sprints like the one that produced this book.

To be honest it was an exhausting and sometimes stressful week. The stress was purely a product of trying to produce a book in 5 days. The co-authors of the book were professional, knowledgable, and just plain fun to work with at all times. There was lots of discussion and the occasional disagreement but nothing that we couldn’t resolve amongst ourselves amicably. Probably the biggest disagreements were over hyphenation and em dashes.

Thanks!

It was a genuine privilege to work with these people.

  • Diane Fleming: OpenStack Docs Writer at Rackspace
  • Tom Fifield: Cloud Architect and Operator at NeCTAR
  • Anne Gentle: OpenStack Doc Lead at Rackspace
  • Lorin Hochstein: Cloud Architect and Operator at Nimbis Services
  • Adam Hyde: Book Sprint Facilitator at FLOSS Manuals (founder)
  • Jonathan Proulx: Cloud Architect and Operator at MIT
  • Joe Topjian: Cloud Architect and Operator at Cybera

We also had a number of great support staff from the Austin Texas Rackspace office who are thanked in the first chapter of the book.

What Next?

Now that we’ve written book it doesn’t stop there. As everyone knows, as soon as technical books are published, they’re out of date. With OpenStack Grizzly right around the corner and the amazing pace of development on OpenStack, that certainly applies to this book. To combat the bit rot we’re working out the detail to allow anyone to contribute to the book. We also plan on getting back together at the design summits and updating the book to the most recent stable release of OpenStack.

Coda

Would I do it again?

Yep.

 
Leave a comment

Posted by on March 7, 2013 in openstack, operations

 

We’re Writing an OpenStack Operations Manual in 5 Days!

OpenStackAnne Gentle, the OpenStack Doc Lead and Technical Committee member, must be crazy. She’s proposed that a group of us write an OpenStack Operations Manual in 5 days. But there’s a method to her madness. She’s assembled a group of long-time OpenStack operators and people known for their documentation skill. She’s handled the logistics of getting all of these people from across the world together in the same room for 5 days. She’s recruited an experienced mediator and open source manual maker to assist us during the book sprint. And it all happens next week. She may be crazy but we believe in her and we can make this happen.

At the end of the 5 days we aim to have an OpenStack Operations Manual ready for download and print. OpenStack development moves very quickly but operators still need a jumping on point. A foundation of knowledge that they can use to build upon as OpenStack evolves. This manual aims to provide that sort foundation. It’s going to be an intense and probably stressful experience writing a book in such a short period of time but I know it’s worthwhile. Please take 5 seconds and vote for our panel On Writing the OpenStack Operations Manual in 5 Days at the upcoming OpenStack Summit to let us tell you how we did.

 
Leave a comment

Posted by on February 21, 2013 in openstack

 

Swift Only with OpenStack DevStack on the Rackspace Cloud

devstackSwift is not installed by default when using OpenStack DevStack. Sometimes you want to install Swift only for some testing without all of the other services getting in the way. Here’s how to setup Swift (and Keystone for authentication) with DevStack on the Rackspace Cloud.

Instructions

  1. If you don’t have one already, Sign Up for an open cloud account
  2. Go to the Cloud Control Panel
  3. Click Create Server
    1. Name: devstack-swift
    2. Image: Ubuntu 12.04 LTS
    3. Size: 4GB RAM (you could probably get away with 2 GB)
  4. Click Create Server and note the password and IPv4 address (when it appears)
  5. When your server is Active, switch to a Terminal and run the following commands to create the stack user.
    1. ssh root@<IPv4 Address>
    2. adduser --gecos "" stack
    3. adduser stack sudo
    4. grep -q "^#includedir.*/etc/sudoers.d" /etc/sudoers || echo "#includedir /etc/sudoers.d" >> /etc/sudoers
    5. ( umask 226 && echo "stack ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/50_stack_sh )
    6. exit
  6. I create the stack user like this because I’ve found that there are permission issues with screen if you create a “dummy” stack user and just switch to the stack user from the root user.
  7. Now login as the stack user and setup Swift:
    1. ssh stack@<IPv4 Address>
    2. sudo apt-get -y update
    3. sudo apt-get -y install git
    4. git clone https://github.com/openstack-dev/devstack.git
    5. cd devstack
    6. vim localrc # copy in the contents of this one
    7. ./stack.sh
    8. screen -r stack
  8. When running stack.sh you might see an error message that reads “ERROR: at least one rpc backend must be enabled”. Don’t worry about it, Swift/Keystone doesn’t need an rpc (AMQP) backend. You can also ignore any ImportErrors.
  9. When DevStack is done you can point your OpenStack clients and jclouds dev env all at <IPv4 Address>
  10. When you’re done with your development/testing you can delete the server to save money and just start fresh next time

Coda

Just a quick post to get Swift only up and running quickly!

 
2 Comments

Posted by on February 18, 2013 in devstack, openstack, rackspace

 

Netflix Aims to be Scalable, Functional, and Portable (or How to Run a Meetup)

NetflixOSSNetflix has been open sourcing the software that makes up their platform at a torrential pace. On February 6th, 2013 I attended their first ever open house where they gave developers a bit more insight into their motivation for going open source. The whole event was very professionally run and could be used as a template for how to run a meetup with that much content.

The Meetup

Upon entering the Netflix offices in Los Gatos, CA it was immediately obviously where to go to register. Two people were taking care of the registration and handing out name tags with names already printed on them. After registering, two people were passing out Netflix t-shirts and another two were directing traffic. Attendees were moved through the whole process smoothly and quickly. I helped myself to a drink and some popcorn and took my seat in the auditorium.

The meetup itself was broken down into 3 sections.

  1. Overview (30 min.)
  2. Lightning talks (30 min.)
  3. Project walkthroughs/demos (30 min. + however long you wanted to stay)

The overview was conducted by Adrian Cockroft, I’ll discuss that more below. Following the overview was a series of lightning talks about a select number of the open source projects which were presented by the developers themselves. As it should be, no lightning talk was longer than 5 minutes. Unsurprisingly the quality of the lightning talks varied from developer to developer. It was apparent that each developer had created their own slides. That’s okay but I think this aspect of the meetup would have benefitted from someone giving the developers a few tips on avoiding some common presentation anti-patterns (small fonts, too much text, etc.).

After the lightning talks were done we had a decision to make. Stay in the auditorium and get an introduction to Asgard or walk over to another area where the developer leads would be giving demos and walkthroughs of the various projects introduced during the lightning talks. I opted to check out the demos and walkthroughs and get a bite to eat.

The Overview

Adrian Cockroft first walked everyone through the history of open source at Netflix. He told an anecdote about how one of the developers asked what the policy was for open sourcing a project. The developer was told that the the Netflix policy is to have no policies, just go for it. The developer then asked if he should run it by legal and the reply was “If you think legal review is going to improve your code quality, go ahead!” Over a year later, Netflix has open sourced 18 projects with more on the way.

Adrian then went on talk about the strategy and motivation behind Netflix’s open source offering. There are 4 primary goals.

  1. Establish [Netflix's] solutions as Best Practices / Standards
  2. Hire, Retain and Engage Top Engineers
  3. Build up Netflix Technology Brand
  4. Benefit from a shared ecosystem

Netflix Goals

At a very abstract level, Adrian talked about the single points of failure facing the Netflix platform. He felt that Netflix had achieved a Functional and Scalable platform but they had yet to be Portable. Given some of the high profile outages Netflix has suffered on AWS this is understandable. However, the fact of the matter is that competitors haven’t yet reached the same level of functionality and scalability that AWS has but that day is not far off. So Netflix has chosen to get a head start on portability.

Functional, Scalable, and Portable

Finally, he wrapped things up with some concluding statements on the future of the Netflix platform. These were summed up as:

  1. Functionality and scale now, portability coming
  2. Moving from parts to a platform in 2013
  3. Netflix is fostering an ecosystem
  4. Rapid Evolution – Low MTBIAMSH (Mean Time Between Idea And Making Stuff Happen)

Wrap up

You can find more detail on his talk at the First NetflixOSS Meetup. After the overview was complete, it was time for the lightning talks. In general these were well done and served as a great introduction to some of the open source projects. They also enticed developers to take a deeper dive into the projects during the next section of the meetup where the project leads were offering demos and walk-throughs. That was were I headed next to get more detail on one specific project.

Denominator

Denominator is a Java library for controlling DNS, being built to be as portable as possible, with few dependencies. Adrian Cockroft introduced Denominator as the latest addition to Netflix’s open source stable during his overview.

Denominator

I was particularly interested in this as it’s being led by Adrian Cole, the founder of jclouds. I’ve been working with Cole for the past 6 months on jclouds, ever since it was adopted by Rackspace as our official Java SDK.

After getting a tour of Denominator, I noted a number of similarities in architecture between it and jclouds…naturally. It was interesting to see how he was using Dagger for dependency injection as opposed to the way Guice is used in jclouds. He was also using an interesting tool to power a Denominator command line client. The name escapes me but I’ll update this post once I remember. I’m looking forward to the future of Denominator and its role in making the Netflix platform more portable.

Coda

All in all it was a interesting evening discussing open source software. The content was great and the meetup was very well run. The coup de grâce was the food and drinks provided by Netflix. It might seem like a small or insignificant thing but when a meetup provides an excellent meal beyond the standard fare of pizza and soda, it’s just one more point that sets it above the rest and leaves a lasting impression.

Bon Appétit.

Eats!

 
Leave a comment

Posted by on February 13, 2013 in jclouds, open source

 
 
Follow

Get every new post delivered to your Inbox.