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!

East & West Coast PaaS, Being Polyglot, Reply to Dan Turkenkopf

Dan (he’s a good guy, check him out on Twitter @dturkenk), your “East Coast vs West Coast PaaS Psychology. And Why It Matters.” is great write up. Loved it! I’ve got to say, I’m pretty much in agreement with almost every single thing you’ve written here. Matter of fact I’m staunchly in agreement with a lot of it. There’s a few other abstractions I’d like to add, that makes the reality of east coast and west coast PaaS what it is, and why some of these things are like this.

You write,

“While the West Coast conception of PaaS is an appealing vision, (and may well be the answer for many smaller companies and start ups)…”

which I agree with whole heartedly. The fast, agile, and lean companies of tomorrow need this type of technology today. They can’t survive trying to throw together traditional environments. They need PaaS like people need food and water. However you also write on the end of that statement,

“it doesn’t really mesh with today’s enterprise reality.”

which I know is true, sometimes. There are however many enterprises out there that do indeed want to and are starting to move over completely. These enterprises see the value add and are not waiting around. They’re not going halfway with a hybrid solution, they’re moving full bore and realizing economies of scale that internal IT shops will not and cannot realize.

This type of enterprise, is where a lot of the west coast and east coast mentality is realized. There is a risk aversion on the east coast, rightfully so with such things as financial institutions and Government being a dominent presence on the east coast. On the west coast though, the enterprises operate under a very different cultural perspective, they attempt to realize the advantages – competitive and disruptive that they are – of startups and small business. It’s as much a competitive survival for the west coast enterprise as it is for the startups and small business. Thus, we get some of the differentiators not just in technology, but in the enterprises themselves. This is the core of this psychological difference, not something that was born from a PaaS psychology, but for the ore business itself. Being that PaaS technology and its origins are from the west coast, it becomes obvious why most are focused on public or privately accessible public infrastructure.

Overall, the culture expands into all those sectors in the east and west, and starts to stand out when we look at different approaches to doing business and competing. Regardless of these minor differences and the associated differences in doing business, we both agree on one thing regardless of which coast we’re on.

The applications and application developers is where the value is for enterprises, mid-size, and small businesses, and startups.

Without doubt, PaaS technology is focused on that core value. Enabling developers to build applications in an easier, faster, scalable and more reliable way. So far, all the platforms are doing a damn good job helping us developers do just that.

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.

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

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

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);

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.

vmc push --version=node06

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!

OSCON Day #3, #4, and Friday => Bailey’s Taproom, Cloud Camp, Cloud Foundry, Open Shift, PaaS, vert.x, and so much more…

Tuesday night, as usual ended with great technical conversation at Bailey’s Taproom. Bailey’s is basically the epicenter of the Portland tech scene. Almost every programmer, devops, or technical person either goes about once a month or has this establishment as a regular watering hole! It’s great, the atmosphere is chill, the beer is SUPERB, the beer menu kicks ass (see: Beer Dashboard Kick’s Ass) and the list of fun cool things just continues on and on.

This week of course OSCON adds a little spice to the regular roll call at Bailey’s. There were a number of conversations that broke out, which I’ve broken out the key topics below:

vert.x => To summarize as is written on the site itself, “Write your application components in JavaScript, Ruby, Groovy or Java. Or mix and match several programming languages in a single application. Create real, scalable applications in just a few lines of code. No sprawling xml config. Scale using messaging passing and immutable shared data to efficiently utilise your server cores. Super-simple concurrency model frees you from the hassles of traditional multi-threaded programming.

Here’s an example from the site in a few of the languages:

Java

import org.vertx.java.core.Handler;
import org.vertx.java.core.http.HttpServerRequest;
import org.vertx.java.deploy.Verticle;

public class Server extends Verticle {
    public void start() {
        vertx.createHttpServer().requestHandler(new Handler() {
            public void handle(HttpServerRequest req) {
                String file = req.path.equals("/") ? "index.html" : req.path;
                req.response.sendFile("webroot/" + file);
            }
        }).listen(8080);
    }
}

JavaScript

load('vertx.js')

vertx.createHttpServer().requestHandler(function(req) {
    var file = req.path === '/' ? 'index.html' : req.path;
    req.response.sendFile('webroot/' + file);
}).listen(8080)

Ruby

require "vertx"

Vertx::HttpServer.new.request_handler do |req|
    file = req.uri == "/" ? "index.html" : req.uri
    req.response.send_file "webroot/#{file}"
end.listen(8080)

Wednesday Roughness

I felt beat up a bit start Wednesday, but rolled into it after a short while. Needless to say, the intensity of conversations (and maybe a few of those rounds of beer) and number of ideas, new things to check out and fitting it all in can wear one out.

The morning sessions were solid, I attended most of “Comparing Open Source Private Cloud Platforms“. Lance did a solid job of laying out the tooling, virtualization software and where these things come together to form a number of OSS options for cloud computing. Check out more from Lance on his @ramereth, his blog Lance Albertson, or check out his band he’s in “The Infallible Collective“.

Wednesday, Thursday and Friday Meets

I met a ton of people. All of whom I must say, I hope to get to talk to again, work with on projects, or just sling some code sometime. Absolutely great people, friendly, intelligent and highly motivated. Some of these people I met included:

Andy Piper (@andypiper) – Part of Great Britain’s contingent of VMware Cloud Foundry advocates and such. We got to hang out and talk about a zillion different topics at a number of events. Andy was kind enough to show me a few tips and tricks he’s been using with Cloud Foundry, the VMC, and in general working with the platform.

Josh Long (@starbuxman) – I met Josh once before on the Cloud Foundry open tour, where he brought COBOL programming… oh no wait, he brought some great Sprint Java samples and such to demo on the Cloud Foundry Platform. I fulfilled Josh’s dreams by telling him that COBOL, could indeed run on Cloud Foundry thanks to the .NET capabilities of Iron Foundry! (ya know, if anybody is into that type of thing)

Erica Brescia (@ericabrescia) – I finally got to meet Erica in person, after chit chatting on Twitter about all the great applications her company Bitnami helps to deploy in the cloud. There are some really great deployment hosting solutions from them, check them out if you’re looking for some streamlined deployment practices. She also mentioned I need to meet…

Jono Bacon (@jonobacon) – I managed to meet Jono by randomness. He’s, well, let’s say he does some absolutely great work in the tech industry for Canonical and in the open source universe. In addition Jono has some superb tastes in music.  \m/  \m/  Check out some of his work:  Blog, personal site, and you can probably google him too. Do it, he’s got a lot of great material out there.

As I was saying, these aren’t the only people that I met. To all those people I didn’t mention, it was awesome hanging out, catching up and hearing about what everyone is working on and creating.

PaaS, IaaS and The Driving Open Source Coders

On the topic of PaaS, it continues to expand into new realms of publicly (or privately) run services. PaaS is quickly expanding past mere framework services around .NET, PHP, Rails, Sinatra and such and moving into the realm of databases, services buses, and other capabilities as a service. As laid out with the SOA mindset. Even though enterprises failed to bring SOAP to an effective worldwide use, RESTful services are expanding rapidly. *aaS is pushing those even further, to do what the enterprise had wanted but failed to do. Creating a universal acceptance of scalable, powerful, expandable and extensible services through APIs.

As more services are extended we’ll start seeing a lot of offerings around truly scalable databases with various feature sets around those databases offered as a key service. Examples would include “atomic database as a service”, “transactional data store as a service”, or “document store as a service”. In the end it will include the amount of usefulness for the services while eliminating a need to know each in intimate detail. Knowing the core capabilities of an option and just using the service will grossly outpace the attempt to implement these services internally.

So keep watching PaaS to grow in many various ways. Consuming the service being the driver over attempting to build the service. Of course, if the service doesn’t exist, get on that it’s business opportunity!

Random OSCON Diversions

I had a great time visiting with family while at OSCON also. To whom they all send a hello and horns up, thrash on salute to the coders of the world!

Voodoo Donut Break with Florida Family Contingent

Voodoo Donut Break with Florida Family Contingent.

My brother Adam, the IT Department

My brother Adam, the IT Department

My Brother Runs an IT Shop of One…

…thanks to cloud computing capabilities.

This kind of blew my mind. I sort of of knew what he did, but it didn’t hit me how close our professional lives are until this trip. He’s just recently moved several hundred miles away from the main office, but still manages the entire company.

One of the unique happenstances is, my brother (the guy next to the bald guy that is me, he’s wearing a Tesla t-shirt) is the top IT guy for a little billion dollar a year company. Which, in this case, he’s proven the power of cloud computing. Why do I say this? Because traditionally this organization would have needed an army of PC techs, network knob fiddlers, and such. But with the advantages of cloud computing, both on premise and off premise, and have a DevOps Guy that knows what he’s doing they are able to efficiently run their entire company with one single guy.

Needless to say, with the synergy of OSCON we had more than a few conversations around tech. Some of those included the replacement of PCs with mobile devices, such as iPads or smart phones. Another was the mix of on-premise data that couldn’t easily be transferred or utilized form cloud services. These are just a few fo the things that have helped him to run the show, the entire show.

Summary

OSCON was awesome. Next time I will be taking off a day or two before and a day or two afterwards so that I can do an even more elaborate write up of the event. My aim is to have interviews, video and otherwise, and really step it up in relation to providing an eye into the event from a developer’s point of view.