Automated Nanoc deploys via git push

I’m playing around with Nanoc – a static site generator.  Basically,  nanoc allows you you write your blog posts offline, and then generates your entire site in raw HTML. This allows you to host a site with out needing a database. In other words, it’s dead quick. You can also forgo a web server, and just host your site from S3 if you want.

That’s pretty cool, but it seems to be a little more work then I really want. Since know my way around git and other command line tools, I decided that I could do better.

That and I wanted a more efficient way to share pictures of cats.

Continue reading “Automated Nanoc deploys via git push”

IaaS < PaaS < ????

In the mid 2000’s a bookseller accidentally changed the world. Yes, that bookseller was Amazon, and the change was the introduction of a IaaS. Quite possibly the first Infrastructure as a Service. At least the first commercially viable IaaS.

This allowed companies to not worry about having to provision hardware to host their services. It allowed you to pay only for what you used. So if you had a job that required large amounts of compute one day a month, you could scale up for that, and then shut it off when you did not need it. If you were a few developers in a garage, you could concentrate on developing, and not on buying hardware to run your code on.

That was a sea change in IT, and we are still digesting it. Enterprise IT is slow to adopt new ideas, and this was a big change. I’ve posited before that it was not the radical change that some people seem to think, however. It was just the next evolutionary leap in how we interact with servers.

The next sea change was PaaS. Platform as a Service was actually more interesting then IaaS in my mind. It allows for developers to not even think about servers, routers or load balancers, and just use the famous git push heroku (or what ever your PaaS uses) to deploy code to production. This actually changed developers workflow, and allowed them to increase their velocity tremendously. It allowed one or two people to develop, deploy and run world class, high scale apps.

When there was just one or two PaaS’s or IaaS’s out there, they was not much choice. However now, you have a lot more to choose from. If there are 10 PaaS’s for you to choose from, you need to think hard about which one will best serve you. Also if there are 10 IaaS’s out there, you need to take some time to shop to see which one offers the features that you need, and does not lock you in.

However I feel that the next wave will change even that…

I believe that the next big thing is larger then IaaS or PaaS. I feel that the next big thing is Orchestration. Sitting above IaaS and PaaS, this will allow you to configure, deploy and manage large scale, complex sets of services across many providers. For example, you could provision an IaaS for your databases and a PaaS to handle your code and deployment. You could even have it manage a backup IaaS region or provider, failing over if the primary runs into problems. It can even manage other things, such as Service as a Services, internal apps or what have you.

You should be able to define your entire infrastructure in one place. You’ll have checks to insure that it is running the defined configuration. Including the tested versions of each granular part of your overarching architecture. If a part of your system goes out of scope, the system will detect that, and bring it back into compliance with your rules.

You should be able to clone your infrastructure easily to test new code, systems or configurations. You will be able to easily push tested changes out to production with automated, tested and repeatable systems. You will manage internal and external systems and clouds using a single set of tools.

This is just another step on the evolutionary ladder away from artisanal, hand crafted servers and environments to mechanized systems to deploy tested and repeatable systems at scale in the blink of an eye, across many locations and providers. It will be the assembly line of deployment. It will be self healing, set up to move services from location to location if it detects a failure.

Sounds like science fiction? Not really. We are seeing the basis of these systems build today. Chef, puppet? These are the low level tools of tomorrow. I see a future, not too far off, where you will be able to run entire architectures from the command line. We will look back at the racks of lovingly built servers from the early 2000’s and wonder how they were able to do accomplish so much with so little.

Automated Backup to HP Cloud Object Storage, Code Included

(cross posted from the HPCloud Blog. With 75% more typos!)

One of the most basic problems with systems that need to persist data, is making sure that you can recover those systems in the case of a critical error. I’ve used and written backup systems for more time then I’d like to admit (for example). With the advent of cloud storage systems such as S3, moving your data offsite has become much easier, and much easier to recover data from your offsite storage system.

Back when I got started in this industry, a tape backup would take hours. And then you’d have to drive it to your safety deposit box and store it. When you needed to recover data, it was a drive and then hours to restore it.

The next iteration was removable hard drives. These were quicker to back up to and restore from, however the offsite portion was still onerous. That’s why I developed SyncScript – caching a local copy of the backup mades sense when most of the restore request were for things deleted in the last 24 – 48 hours.

However with the advent of Cloud Storage and higher speed internet pipes you can keep offsite backups, and get them back reasonably quickly. Since I work with OpenStack now days, that’s the hammer that makes sense to use.

Here is what I did to get a dead simple backup from a HP Cloud instance to HP’s Object Storage.

Continue reading “Automated Backup to HP Cloud Object Storage, Code Included”

You Have Another Version of Skype Running

I really hate this error. Skype is so unstable for me that I get little slowdowns and lock ups weekly, And about once a month I get this error after I’ve force killed it. I used to have to google it every time, drop to a command line and do a bunch of stuff. Well no more. Now there is a script to clean up after Skype’s mess! Skype – you can barrow this if you want. Just have it run when Skype is launching.

Continue reading “You Have Another Version of Skype Running”

Viking Coding

I have been using the term “Viking Coder” for a several years now. Honestly, it was a “equal and opposite” reaction to the rise of the Rockstar Ninja Samurai whatevers in job descriptions. I don’t play a guitar or dress in black PJ’s. I am a big dude, and I like big, simple solutions to problems. And I have a least a little bit of Scandinavian in me.

Some folks asked me what I meant by viking coders. So, with out further gnashing of teeth, here you go.

Continue reading “Viking Coding”