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”

Readings on Mindfulness

Just a disclaimer – I am a Buddhist, so I tend to frame my thinking in Buddhist language. However I am not a religious Buddhist. The only reason that I identify as Buddhist is that the philosophies put forward by the Buddha resound with me, as do the ways that they are presented.

I firmly believe that Mindfulness is integral to any spiritual practice, and I personally feel that the Buddha explained it best.

That being said, here are a few highlights from my reading on this subject.

Continue reading “Readings on Mindfulness”

To comment or not to comment

One of the trends that I personally have noticed is the removal of the ability to comment from articles on blogs. I’m not sure which camp I’m in,  so I decided to preform an experiment. I turned off comments on the last few articles that I have posted, just to see how that makes me feel.

Honestly, I feel like I’m missing something. I really feel like comments power three positive things – increased visibility for the commenters, discourse and article stickiness. I also understand the drawbacks – including trolling, spamming and all of the nastiness that comes with that. Also, you increase the surface of attack by opening up your site to comments.

I guess that I kind of miss the heyday of blogging for me – back in 2005 – 2007 when the comments flowed freely.

Since I hate making choices, I thought that I’d just open it up, turn on comments on this article and see if anyone actually has an opinion about it.

Inbox as a task list

So, yesterday I read this. It echoed a lot of how I approach my inbox as a task list, and some of the ideas there pushed my inbox-fu to black belt levels. However I work in a different environment then Keith does, with a lot more customer facing email. I’ve merged Keith’s ideas with my workflow, and have come up with a gmail centric inbox-fu which is agile, powerful, and above all easy.

First off you’ll need to get the tools that you will need. I use the wonderful boomerang to schedule things. You will also need to set your inbox to “starred first”:

Screen Shot 2013-07-30 at 8.35.52 AM

This will give you a good view into what you need to work on.

So, now that you have your workspace set up, you’ll need to start dealing with email. As Keith says “triage”. Deal with your email. If it’s going be more then a line or two of text, or 30 seconds to research, star it and forget it. If it’s a task that you need to follow up on later, boomerang it. If it’s none of the above, archive it. When you are done with your unstarred items, start on the bottom of your starred list and take the time to deal with them correctly.

I set aside a few times a day to deal with keeping up with my inbox. If I set aside time, I find that I’m not worrying about it as much. I also know that I can use downtime to catch up if I need to.

I think that the secret here is ruthless triage. You have to keep in mind that people’s feelings will not be hurt if you mute their email threads, or skim and archive them. Be a stone faced email killer. Only star the few things that you need to respond to, and archive everything else when you read it. I cannot stress that enough. If you wait a while, you will never do it. Now, excuse me while I archive the email that came in while I wrote this.

ABA (Always Be Archiving)