How Software Should Get Done, Continually Delivering!

Tonight I spoke at the PADNUG Meetup in Hillsboro, a suburb of Portland, Oregon. The ladies and gentlemen of PADNUG are a great crew, so I actually go out of my way to the suburbs to speak there. Tonight was an exceptionally good experience with a great talk, lots of back and forth between everyone there and great conversations continued late into the night at the local suburban watering hole. All in all a good topic of conversation and one that needs brought to more teams.

Continuous Delivery

How does this fold into my work on PaaS (Platform as a Service) and IaaS (Infrastructure as a Service)? Easy, with the cloud computing capabilities of PaaS and IaaS it makes continuous delivery a no brainer. At least 50% of the effort to get continuous delivery setup is already done with these technologies. Over the next few weeks I’ll be writing a lot about these technologies and the enablement of continuous delivery through these technologies. Just as important as the technology, I’ll also be talking about the processes, ideals and lean thinking that have birthed this tech.

In my presentation I covered a lot of these ideas and efforts. For now, here’s my slide deck with all the information to contact me. If you’d like me to pop into your town and present on these topics, just let me know and we’ll see about me getting onsite.

Coming up on the 20th I’ll be presenting some of this material plus a very hands on demo at the Software Craftsman’s meeting is Seattle titled “Coding in the Cloud, Kick Ass Continuously“. So if you live in the Seattle or are just in the area, drop in!

The Bad, The Ugly and The Good Bits :: Sexism, VMworld 2012 & Smart Cool People

The Divide in Technologists…

Sexism & Those That are Building Tech

There seems to be a pretty distinctive divide in the technology industry today. There are the young, open minded, devop oriented, free-thinking individuals and then there are the old guard of IT. This later group still brings the “booth babes” and finds an incessant need to assume all women aren’t technologists (which I might add is utter bullshit). This is when I’m going to rant for a minute.

[rant=on]

Ok guys, pull your heads out of your collective asses. I’ve spoke to 11 ladies that are hard core technologists, that would take your old guard IT and replace your sorry ass with a shell script plus some cloud computing and leave you to the dogs. They’re programmers, devops pros, hackers and entrepreneurs  Simply, they kick as much ass as anybody, so shove off.

This however brings up the question, “Why the hell does the conference still perpetuate this bullshit with booth babes and mindless dribble?”  Seriously, can we focus on the technology, the reason we’re here? To learn, to build, to maintain, create and extend our services and capabilities that we work with? Can we not have a mass of “talent” come and stand around just so aging IT guys can ogle their breasts with roaming eyeballs?

Don’t get me wrong, beautiful people are great, and when done tastefully things can be fun. One of the ladies I work with mentioned it’d be great if Thor showed up and hung out at the conference (cuz ya see, we have a product called Thor, and this data company had Data attend. (Brent Spiner)).

I could go on. Simply put, companies and conference organizers need to own up and get with the times. For those of us that are a little evolved past nuckle dragging we should stand up to this time of nonsense. There’s a reason we’re at a conference and it damn well shouldn’t be to devalue people as objects and ogle various body parts.

[rant=off]

Ok, back on track with the successful bits. There were, after all a lot of successful bits and the sexism is a small, yet very sad and noticeable part of the event. The other good news is the amount of women’s groups that are getting together these days to code  (and I also find it unfortunate that to create a positive environment, women usually have to entirely disengage with men, and it is generally men’s fault)  Yup I said code. Rails Girls, Code n’ Splode and many others. So if you’re reading this and are female, check these groups out and get hacking & devoping.

The Big Move, PaaS is Starting to Rock!

VMware made serveral announcements around Cloud Foundry, which is pretty huge. The momentum is still growing, the community is still growing, and the energy is contagious. There’s been some egregious accusations and suggestions that the Cloud Foundry ecosystem is going to collapse. This is, however one of the more absurd notions I’ve heard in months. This definitely falls into the category of FUD flinging with no concrete notion. Lucas (@cardmagic) from AppFog lays out a bit of reality though, and the 20k people at VMworld and the thousands using and hundreds coding to Cloud Foundry give a resounding shout of,

“HELL NO”

Cloud Foundry is not collapsing, VMware is not taking an unfair advantage, and they’re in a position to win along with all the rest of the advocates of PaaS and open source. The thing is, things can indeed be win-win. They don’t have to be win-lose and the later thinking is negative to the industry and counter to the reality of open source.

Either way, toss any ideas this is going away out of your minds. I know most of you already have.

Smart People, Networking and a Few Rounds

The greatest thing about these conferences is the ability to network and meet face to face with hundreds of people that I do business with everyday. These range from people I hack code with, to people I help implement Cloud Foundry or people that simply are involved in the community too. To me, the most valuable ROI is the networking at a conference. Just to throw a few out there, I got to catch up with…

  • Dave McCrory @mccrory – This guy is awesome, if you get to work with him you’re a lucky soul. He’s heading up WMG as SVP of Platform Engineering now to get some cool things built and build out a solid team, which I look forward to hearing about!
  • Andy Piper @andypiper – Andy is VMware’s Cloud Foundry Dev Advocate of Great Britain. I got to meet Andy a while back and got to team up with him and many others to catch up on Cloud Foundry, see were things are heading, talk through some ideas and generally cause mischief around San Francisco.
  • James Watters @wattersjames – I always love running into this guy. Top notch smart, snarky and always ready to go through who’s who and who’s doing what in cloud technology. He’s the VMware Director of Ecosystem for Cloud Foundry and they’re damn lucky to have this guy!
  • Brian McClain @brianmmcclain – When I was originally writing Brian’s name out, I mispelled it “brain” and almost just left it this way. Brian is all over the Cloud Foundry realm working with BOSH, pushing forward with Cloud Foundry in an enterprise environment, and generally always ready to dive into the tech heavy deep end. Always great chatting with Brian about the details and whatever random code adventures come up!

…and there were dozens of others I got to catch up with. Mark Kropf, Ken Robertson, Daine Mueller, Jeremy Voorhis and almost got to catch up with Derek Collison too. Well, there’s always the next trip to San Francisco! If you’re into the Cloud Foundry space, into PaaS technologies, or just interested definitely reach out, follow these guys on twitter, and make an effort to meet them.

VMware’s VMworld Summary

VMworld was good times, for sure. There were the hiccups as I pointed out, but overall a great experience, the organizers did a solid job (still would help if they could crack down on the companies that perpetuate sexism and BS over content on the booth/show floor, but otherwise, kudos on a job well done). It was great catching up with the brain power in the industry and finally meeting many people I’d been wanting to. I even wrote more than a few lines of code and tested out a few deployment ideas based on the conversations. This, in the end, is exactly what the conference is truly about.  Cheers!

Thor Brings the Hamma! Cloud Foundry OS-X, Windows 7 and Windows 8 Interfaces FTW!

One of the things that I do in my work is lead the efforts around creating and leading open source projects. As regular readers may know, I’m big into open source efforts, especially around PaaS. My preferred PaaS offering these days for internal, external and public cloud PaaS is Cloud Foundry (with Iron Foundry for all of my .NET needs). Today the we made the projects official and I’m charging forward with a a great team of people. You’ll be able to use these new user interfaces for Cloud Foundry against Tier 3 Web Fabrics, CloudFoundry.com, Stackato, AppFog and any other company that uses Cloud Foundry at the core and exposes the web service APIs for use!

Thor & Thor.NET

In a couple weeks we’ll be making the github repositories completely public, open sourcing the code & products entirely and looking forward to working with the community to make these tools as awesome as we can. For now, if you’d like to jump into the repositories and see where we are and what we’re up to as we step toward opening them completely, sign up via “early access“. We’ll get you setup on the repo so you can fork, pull and add you’re own signature bits.

Why did we name the project Thor? Well, we’ve been spearheading the Iron Foundry Community efforts for .NET support on Cloud Foundry so we figured we needed someone to bring the hamma to the battle, nobody better than Thor for that!

I’ll have a regular write up of snippets, code and other things I’m working on here so subscribe and give me a follow on Twitter (@adron) and App.net (@adron). Also, for official open source releases of the project check out the Iron Foundry Organization site that has the Iron Foundry downloads, source, Thor and the official Iron Foundry Blog.

Deploy a Framework Friday #4 Some Node.js .gitignore Cloud 9 IDE Sharing toward Cloud Foundry / Iron Foundry Deployment

Today’s “Deploy a Framework Friday” is a little bit of a diversion. Today Richard (@rseroter) and I dove into Cloud9IDE (@Cloud9IDE) to try out some pair programming with the online IDE sharing. We made some minor progress with Matt (@matt_pardee) & Eric (@ang3lfir3) jumping in for a few minutes. The intent of this effort was to pull together a little code to deploy, as Richard wrote about a few months ago in the article “Deploying Node.js Applications to Iron Foundry using the Cloude9 IDE“.

Here’s a video of us all fumbling through attempting to get the .gitignore file setup.

Richard Seroter (@rseroter) and I (@adron) took a stab at sharing some code, with the attempt to do some pair programming. We made a little progress, and even had some people join us live via Twitter and edit some of the code with us. For a short play by play, check out the blog entry here: http://compositecode.com/2012/08/03/deploy-a-frame…dry-deployment/

Questions:

  1. Why did the .gitignore not show up on Richard’s Screen?
  2. What were the intermittent errors that came up?
  3. Why did it say I was setup for “premium” but I couldn’t use express?
  4. Is it supposed to be that the other person can’t make changes while someone is chatting?

I’m not sure what happened (anyone at Cloud 9 IDE know what happened) when the .gitignore totally disappeared  but in the video you can see that I committed and pushed the .gitignore file. I had to recreate it to get anything to show up, and initially it didn’t seem to share either. I’m not sure how that is supposed to work, but am assuming something wasn’t setup correctly in the first place.

As for express I’ll be giving that a try a little bit later.

Next Steps Toward Deployment

Over the next few weeks or so, Richard and I will be going back and forth building a Node.js based web application for deployment from Cloud 9 IDE to our Iron Foundry Environment. Overall, this will be a slightly drawn out “Deploy a Framework Friday“, with its own sub-parts to the series.

We’ll culminate the project in an open source project that will be available on Github and also with a summary on the Iron Foundry Blog. In one of our pending blog entries we’ll draw up the architecture of the application we’ll be building out. So stay tuned!

NOTE: Working in conjunction with these other bloggers / blogs:

Deploy a Framework Friday #3 with node.js + express.js

Time for the node.js “Deploy a Framework Friday”. First get node.js and express.js installed (i.e. npm install express) and then create your node.js application.

[sourcecode language=”bash”]
adron$ express nodejs

create : nodejs
create : nodejs/package.json
create : nodejs/app.js
create : nodejs/public
create : nodejs/public/javascripts
create : nodejs/public/images
create : nodejs/public/stylesheets
create : nodejs/public/stylesheets/style.css
create : nodejs/routes
create : nodejs/routes/index.js
create : nodejs/views
create : nodejs/views/layout.jade
create : nodejs/views/index.jade

dont forget to install dependencies:
$ cd nodejs && npm install
[/sourcecode]

Once the app is installed open up the app.js file and edit the code so that it reflects what is shown below.

[sourcecode language=”javascript”]
var express = require(‘express’)
, routes = require(‘./routes’);

var app = module.exports = express.createServer();

// Configuration

app.configure(function(){
app.set(‘views’, __dirname + ‘/views’);
app.set(‘view engine’, ‘jade’);
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + ‘/public’));
});

app.configure(‘development’, function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});

app.configure(‘production’, function(){
app.use(express.errorHandler());
});

// Routes

app.get(‘/’, routes.index);

// Cloud Foundry Environment Variables
var port = (process.env.VMC_APP_PORT || 3000);

app.listen(port);
console.log("Cloud Foundry Demo Express server listening on port %d in %s mode.", app.address().port, app.settings.env);
[/sourcecode]

The emphasis is the port variable added for the VMC_APP_PORT. This variable is needed by the Cloud Foundry system to know which port that node will use to host on, which Cloud Foundry will then intelligently map to so you will get the standard default port 80 activity you expect. For more information about all this hosting mess with node.js check out one of my previous write ups on the topic on the New Relic Blog.

Once you’ve setup this file, then just deploy using the with npm support option that states the version of node.

[sourcecode language=”bash”]
vmc push –version=node06
[/sourcecode]

For more information about deploying node apps with npm module dependencies check out this blog entry on “Cloud Foundry supports node.js modules with NPM“.

All done. Yes, there is more Deploy a Framework Fridays coming up, so stay tuned!