Seattle Code Camp – A Summary

Wow… that was great.

I had three presentations. Well, honestly it was more like two presentations and a brainstorming session with about 3 dozen really smart people!

First there was the “Node.js Rulz! JavaScript takes over the full stack“. This session went pretty well, and I hope I got a lot of developers riled up to give Node.js a try. I discussed the various testing, framework, and other libraries needed to get going with development. I also did a test deployment against Tier 3’s Web Fabric PaaS (Cloud Foundry powered AWESOME). If you want to try out this deployment model, a sand box is available for free over at the Iron Foundry Project (.NET extensions for Cloud Foundry). Just sign up and we’ll get you added ASAP.

In summary, I went end to end with Node.js. Overall, it’s a beautiful thing that I highly suggest people give a thorough look at.

The next session I did was “Removing the Operating System Barrier with Platform as a Service“. This session covers my primary live of wrok and advocacy these days. It involves a key facet of software development that I’ve dubbed the “Beer Factor”. More on the “Beer Factor” later.  🙂

In this session I covered the history, reasons for, and overall impetus of PaaS (Platform as a Service) and why it matters to software developers. The general gist is, it is changing the very way we can and will be doing software development. The change, is absolutely for the better. Developers, consider yourself empowered. Also, more on this in the near future.

The last sessions, which was more of a large scale brain storming session, was “Putting it all together, letting apps lead the cycle, TDD in the cloud“. This session really kicked off a lot of different thoughts around the MAJOR gaps in cloud computing development. So I’m going to break out some of those key points below:

  • There is no logical, easy, or well defined way to test deployments to the cloud. If you’re AWS, Rackspace, Windows Azure, Tier 3, AppFog or any other company – deployment is not simple. A big impetus is to test production, something that absolutely has to be done. The gateways or checks in deploying software; for the underlying infrastructure, the platform, or anything that is geographically dispersed, multi-instance, or similar is very difficult. For software developers, devops, and the like, we want this to be better. We all brainstormed a bit around this and the resounding sentiment was, “damn, this is hard, yet so powerful and enabling that we have to figure out better ways to test and do deployments into cloud environments”
  • Chaos Monkey must bet let loose on the WORLD!!  See below:

    @adrianco chances of open sourcing Chaos Monkey? Room full of Cloud Devs want, egged on by @adron#seattlecodecamp

    @iC@adron it’s on the way, actively being cleaned up for github

    Adrian Cockroft RULZ! Thx Adrian, we’ll all keep an eye out for that! 🙂

  • One of the other things that was brought up was the endless options, and thus complexity, around the data story these days. This translates to, how do we simplify deployment of relational, document, object, key value or other types of databases? Each needs a particular type of default deployment. How do we as developers create a better model to get our data repositories of choice up and live. With Cloud Foundry the data deployments are a single node, which isn’t really useful for things like Riak, Mongo, Couch or databases that need to start with three or more nodes. It’s ok for relational databases, but it is very common to need that hot swappable database running somewhere. These are all questions that need answered to make the data story of PaaS technologies more palatable.
  • Monitoring and intelligent systems. Some suggestions around monitoring, which came from the question of how to test a deployed system before and after deployment, where pretty solid. Nodes need to be intelligent enough to be able to identify they’re live, active, and doing X, Y or Z. Controllers need to understand and know how to interact with these nodes. The back and forth is somewhat complex, but I can imagine just like with Cloud Foundry, they’re is a viable and simple solution among all of this with the appropriate abstractions and build out of systems.

That’s my summary. I had a blast, got to see a lot of people I know and meet a lot of new people I didn’t know. I always love being able to catch up and really expand on what our efforts are individually and collectively as a development community. Great fun, until next time, cheers!

Day #3 => DeployCon && Enterprise && Data Gravity

A lot of things were mentioned during the panels and sessions during DeployCon. Some things I agree with, some things I don’t.

The “Web Way”

There is one prevalent thing that came up over and over, the “web way”. What’s the web way? It is building horizontally, scalable, with RESTful APIs, and applications at an upper tier that are loosely coupled to any back end, and generally geographically independent (i.e. dispersed). This could be a mix of IaaS and PaaS, public or private, or a mix of all these things. Above all, it is about building horizontally instead of vertically, so that one can scale big, really big.

It was generally accepted in the dozens of conversations I had about the “web way” that the enterprise was only realizing that their idea of “big” and “redundant” just doesn’t even compare to what has been built using ideas from the Internet Generation. The Facebook PHP scale has blown away almost any enterprise’s scale problem, Twitter’s piping relationships across big data trumps most enterprises service bus concerns, Netflix’s streaming makes most enterprise’s issues with data transfer seem like a child’s game.

But all this isn’t to spite or hate on enterprise teams. They have an immensely important job to do. With all of these advances, and with management allowing enterprises to step closer into the community and get involved with things built the “web way” there is a massive upside. The enterprise is getting closer to cloud technologies. They’re learning how to leverage their on premise assets for various reasons, such as not throwing out the investment, and public or private cloud tech together.

Combing these things, and the complex needs of the enterprise together is all benefits, they’re getting the bleeding edge technology and research basically for free. All while effectively finding ways for a slow migration to not damage existing investments, day to day operations, and improve overall resiliency and services within the enterprise itself.

Overall, a huge win-win for everybody.

Data Gravity is Vital to Understand for Application Architecture

Dave McCrory kicked off the Data Gravity analogy to application and data source spacing. It is a pretty flawless analogy which brings us a much clearer understanding around application architecture when it comes to where data sources and where applications sit within a system. It also helps to define the value, cost, and gravity of data in relation to it’s location relative to the application.

With this topic brought up, every single tie it hinged around people fighting the gravity between data and applications. The difficulty in using cloud technologies, big data and other things is highly advantageous for companies, but as Dave points out in his presentations and writings about data gravity, it is getting exponentially more difficult to pull apart data and applications to rejoin them somewhere else. Such as the massively more scalable, powerful expansive public cloud.

These conversations lead to a growing opportunity space in the industry, moving data. This could be done with physical moves of drives, big pipes, pipes as a service or a host of other offerings. So far, very few are doing much in this realm, understandably considering the difficulty. But I’m betting that we’ll start seeing some serious efforts put into this. One of my personal notions is the idea of going cloud to cloud, we’ll see if anything pops up in the near future. If not, I might have to make a play on that myself.

…and last but not least, DeployCon!

DeployCon was the major reason I attended Cloud Expo. DeployCon was about PaaS Tech & the future movement of cloud technologies. Even though the rest of the conference, for most enterprises, seems bleeding edge, DeployCon was about the truly bleeding edge technology. Not only that, the elephant in the room is about the new king makers of IT, of technology, and of business in general; the software developers. Yup, I said it. We might want to stick IT on things here and there but the fact of the matter, over the next 10 years – if the IT moniker even sticks – it’s going to be more and more developers, business apps, and business development – not more network or system admin roles that are needed. The abstractions are pushing developers into an even more pivotal role in a company and providing even greater benefits to business. You can ask any number of people in the PaaS space, from AppFog, AppHarbor, Tier 3, Stackato/ActiveState all the way to Windows Azure (they need to actually show up next time, just saying!). They ALL SEE THIS HUGE CHANGE coming. Not only do they see it, they are experiencing the beginnings of the change.

So hats off to an excellent job Krishnan (@krishnan @ Rishidot Research) for putting this together! Wendy White (@wendywhite) for throwing in major logistics support and all the others too! I had a blast and am looking forward to the next event.

Thanks also to the fire starters and technologists on the panels! You guys know who you are, good job! Here’s a few parting shots of the awesome people I got to meet and talk tech with!

Parting Shots

@brianmmcclain & @markkropf enjoying a round of drinks!
@brianmmcclain & @markkropf enjoying a round of drinks! These guys are smart, seriously. (click for full size)
The one and only  @wattersjames the man with impeccable taste @mortonheroku and the man with the plan @guy_marion
The one and only @wattersjames (thanks for the fire starting!) the man with impeccable taste @mortonheroku and the man with the plan @guy_marion (click for full size image)
The beautifully witty @briellenikaido and @mortenheroku showing us the where the premo tastes are in New York City.
The beautifully witty @briellenikaido and @mortenheroku (GREAT Sake choice btw) showing us the where the premo tastes are in New York City. (click for full size image)

Day #1 => Cloud Expo & Cloud Bootcamp

Thanks to Larry Carvalho and Krishnan Subramanian for lining me up to speak at the kick off bootcamp keynote and for a PaaS Session at the Cloud Expo Boot Camp. I had a great time and was able to cover some great material with the audience. It was great to hear a number of companies and people diving into PaaS Technology and learning about what this technology can do.

The audience, above all was very open to the idea of openness with technologies that are open. See the theme there? 😉 There were a few resounding themes to things people would like to see added to the Open Source PaaS Solutions such as Cloud Foundry, Iron Foundry and Open Shift. Here are a couple of these;

  • People want to have continuous deployment or continuous integration features added to the PaaS Capabilities so that the PaaS doesn’t just deploy code blindly. The two companies that came up that have some capabilities around continuous deployment and integration are AppHarbor and CloudBees. But the stronger ask from the audience was for there to be some type of integration with one of the open offerings like Cloud Foundry or Open Shift. Some discussion also followed around these capabilities being a default “service” within a PaaS or even IaaS offering.
  • The other thing that brought up a lot of questions was the architecture behind the various PaaS Solutions. I walked the audience through a description based on what I wrote up in “Cloud Foundry Architecture – Removing the Operating System Barriers with PaaS Part 4“. It generally tends to fit similar architectures in the PaaS realm and most of the audience liked the idea of how PaaS operations are working.
If you attended either of my talks and want to check out the PaaS Providers that came up during questions and discussions, here’s the one’s I can remember:
  • Tier 3 – Enterprise grade IaaS and PaaS w/ the Web Fabric Product. This company I currently work for, they’re doing a rock solid job with the offering.
  • AppFog – Very application focused and IaaS autonomous, i.e. you can pick AWS, HP Cloud, or Azure with more options to come in the future. I’ve worked with these guys also and they too kick ass!
  • AppHarbor – .NET focused PaaS running atop AWS, provides a free tier and continuous integration and rollback features. I haven’t worked for these guys, but I’ve met everyone on the team and they’re all top notch. Props guys! 🙂
  • CloudBees – Java focused PaaS with Enterprise focused CI/CD capabilities with Jenkins.
  • Heroku – These are the guys who kicked off the whole PaaS thing a few years ago. They started Ruby on Rails focused but also cover Java and Node.js too.
  • EngineYard – A solid PaaS offering running primarily atop AWS with some IaaS style features available too.
  • Windows Azure – Microsoft’s cloud offering, with a lot of updates around Node.js lately. They’ve traditionally focused on .NET, but lately have put as much or more focus on Node.js. Looks like things are improving in the Azure Camp.

More to come tomorrow with DeployCon at the Cloud Expo.  Until then, cheers.

Why Your Presentations Might Just Suck!

Ok, so everybody’s presentations don’t suck. But the vast majority of them do. I know I’m not the first person to make this statement. I’d include a list of others who have said it but it would take more space than my entire blog does. Take this example slide deck from a presentation I saw recently. This is the actual color background theme that was chosen, with the wording changed slightly to protect the guilty – for now.

First, let’s tackle this wording. I rephrased it so it has almost the exactly same spacing and word style usage. The initial thing I’ve noticed is how long it takes one to read this. Is the presenter pausing while everyone reads the novel he wrote up on the slide? Nope, he’s blabbering on while everyone is looking at this slide reading it, pondering the huge words that are stuck in the slide. Not until the 4th or 5th sentence the presenter makes does the audience start to re-focus on the presenter. Already, everyone is rather lost in regards to the main topic. This is a major problem.

One of the worst slide decks EVAR!
One of the worst slide decks EVAR! (Click for full size image)

Don’t even get me started on the horrible decision to use this color scheme on the background. That can’t possibly be something that would allow people to pay attention to the speaker, WHO THE AUDIENCE IS SUPPORT TO BE PAYING ATTENTION TO!!!

Oh dear, another absolutely horrible slide.
Oh dear, another absolutely horrible slide. (Click for full size image)

In this second slide, it brings up one of the other things that happen way too often in a slide during a presentation. Keep in mind presenters, this is NOT a hand out, it is a slide. It is presented on the wall, behind the speaker usually. Try to read the words on that and imagine listening to someone speak while that is on the wall! Seriously, it makes me ponder buying tomatoes to bring the tradition of throwing tomatoes at bad performers.

What is a Presentation?

Just for a moment let’s talk about what a presentation is. First the technical definition of what a presentation is:

transitive verb
1 a (1) : to bring or introduce into the presence of someone especially of superior rank or status (2) : to introduce socially b : to bring (as a play) before the public
2: to make a gift to
3: to give or bestow formally
4a : to lay (as a charge) before a court as an object of inquiry b : to bring a formal public charge, indictment, presentment against
5: to nominate to a benefice
6 a : to offer to view : show b : to bring to one’s attention 
7: to act the part of : perform
8: to aim, point, or direct (as a weapon) so as to face something or in a particular direction

This gets us a little closer to exactly what it is, but really there is a lot more to presenting and getting to present then this simple definition implies.

Being able to present in front of a group is a chance to provide leadership. It is a chance to provide a vision of an idea, an opportunity to transfer knowledge and passion of a subject, and above all it is a chance to inspire progress and change in a positive way.

It doesn’t matter if the presentation is for a few corporate suits or an audience of revolutionaries. Having a chance to present to people is a chance to do well, to do good for people, and to step above and change things for the better. Presenting is a chance to change some small part of the world for the better, and in some cases maybe change a big part of the world!

Enough Griping and Such, How Does One Present Well?

The question that is left is, how do you put together a good presentation? It’s easier than you might imagine! I’ve actually seen a few recently that were great. The speaker captivated the audience, brought them into the topic, was inclusive and conversational and really left people wanting to know more. One of the first things that leads to a good presentation is one question.

Who cares and why should they?

If that question is not answered, or for some odd reason can’t be answered during the presentation then the presentation is a failure. When putting together a presentation ask yourself the question over and over and over again. Keep the audience in mind too, think about what the audience would ask or answer in regards to the topic.

Zen Aesthetic

This one I do NOT kid about. Don’t stick a bunch of stuff all over your slides. If anything, try to do a lot of presenting WITHOUT slides to really make an impact. If you want a prime example of average presentation skills versus good presentation skills, look no further then Bill Gates and Steve Jobs.

This video of Steve Jobs shows why he is a master presenter. Building the audience for the three devices they released in 2007 that changed the world…

Not many business leaders, or leaders for that matter, are very good at this. Note his slides. They’re simple, they have a few images or just one or two points each. The idea is, the audience is focusing on him, on what he is discussing, on what he is bringing forth to the world.

Learning to Present

Check out Gary's blog at http://www.presentationzen.com/
Check out Gary’s blog at http://www.presentationzen.com/ or click on the image to navigate to his twitter account.

I could go on about great presentations, I could detail every single little point. Maybe I’ll continue this in another blog entry. But for now, I’m going to list a few masterful books on learning how and in which way to make great presentations.

There are more, but these two things will get you started toward good presentations, toward capturing and entertaining your audience. So get material, think and learn about how to be a better presenter! Before you know it you’ll be rocking the audience!

…as an aside. If you’re ever at a user group, conference, or other event that I’m presenting at please call me out on any of these things I fail at. If I lose your attention or have a slow part in my presentation or if my story does not come across clearly. Lay into me, tell me I’ve slipped, messed up, goofed, or butchered the story. I want to know. I want to make sure, whenever I’m presenting that I’m laying out the story, the vision that I’m trying to get across. I want the vision to be there no matter how technical of a deep dive it might be that I’m presenting. So yes, just know I’ve got a thick skin and I want to know!

Thanks, I’m looking forward to seeing you at my next preso!

PDX & SEA Code Camp, OS Bridge, OSCON, Iron Foundry, Robotech and Action!

May has been insane. I’ve spent a total of about 3 days of the entire month where I live in Portland, OR. It’s kind of an odd feeling to try not to travel since I love it so much. But I’m going to try and take it easy  this month and next. Especially since some kick ass conferences and code camps are happening right here in Portland (and Seattle) which helps me spend some quality time right here with Stumptown (that’s a nick name for Portland btw). So here’s a run down of the crazy action happening in June and July. There are lots of events and I’ve got lots of things coming your way!

PDX & SEA Code Camps

I just wrapped up speaking at Portland Code Camp. Again, thanks for coming out and hearing about PaaS Technologies, Cloud Foundry, Tier 3, AppFog, AppHarbor, Continuous Deployment, Integration, and all the things that have been pushed forward with Platform as a Service!

At the upcoming Seattle Code Camp on June 16th I’ll be providing 3 presentation, or workshops, or sessions, or whatever you may want to call them.  Here’s a quick blurb about these, if interested, head down and I’ll make sure you get into the presentation workshop sessions. Also note the schedule, which no, I did not make the schedule so I apologize ahead of time that I will be talking about Node.js at the mind numbing early hour of 8 am.

  • Node.js Rulz! JavaScript takes over the full stack! => From the client side with some jQuery action to the back end with Node.js, with a touch of JavaScript Object Notation . JavaScript is everywhere these days and simplifying our lives. In this session I’ll run the full stack, with a live example, deployed to a live environment to show how JavaScript is freeing us from the constraints of the traditional development environment.
  • Removing the Operating System Barrier with Platform as a Service=> This session will cover the major advances of platform as a service technology, what’s available in the OSS space to enable faster, easier, higher quality software development cycles in the cloud. The session will complete with a demo of PAAS technology in use, deploying a highly scalable, distributed & dispersed web application.
  • Putting it All Together, Letting Apps Lead the Cycle, TDD In The Cloud =>  I’ll be taking a deep dive into cloud architectures and how to build applications, generally at the PaaS level mixed with a little IaaS, to get people rolling with high velocity, high quality, and without the need to worry about the little things.  Want to learn about why PaaS and cloud computing is altering the very fabric of the development cycle? Want to know how to dive in with some abstractions and behavioral practices on the cloud, using PaaS, to bring apps, prototypes, and UX to market faster than anyone else? I’ll be touching on all of these things during this long form session. The sessions will step through these core concepts and ideas.

OS Bridge

Ouch, they didn’t pick any of my sessions.  :'(  Well, even though I wasn’t selected to present I will absolutely be at OS Bridge and you should be too! So if you can get into Portland between the 26th and 29th of June make the endeavor! There will be great networking, sessions and you get an excuse to hit up Portland’s awesome Cart Selection of exquisite food (if you haven’t been here, I’m NOT kidding, it is indeed epic!). Be sure to say hello or let’s pair up on some code or hack some PaaS apps.

OSCON

I’ll be attending OSCON, probably coding all the while. I’ll be reporting on a number of things, specifically the Cloud Track:

Rid the MAX to OSCON, from downtown, or the airport, or...
Rid the MAX to OSCON, from downtown, or the airport, or…

http://www.oscon.com/oscon2012/public/schedule/topic/805. If you’re going to be attending, again, ping me and we’ll meet and maybe build something, maybe start a twitter flame war and correct everything on the web, or something of that sort. Worse case scenario we’ll grab a beer and have some rocking conversations about OSS, Cloud Tech, and more.

Part II of this blog entry is coming a little later today…  so stay tuned for Robotech, Iron Foundry and all types of code action.