This year I’ll be speaking at VelocityConf 2013 London. If you haven’t got your tickets yet for the three day event then you can use the discount code ‘FRIEND’ to get some money off..

It was quite late at night when I submitted my proposal so you’ll excuse the title of ‘Freedom In Disguise’.  From the link:

At the MailOnline we use CFEngine as the core of our configuration management. A way in which we describe our intentions in clear, precise and workable logic patterns which the Machine can understand without ambiguity.

In this 90 minute tutorial, we will take a tour around the fundamentals by building a small infrastructure on virtual machines.

We will explore the cfengine language and hopefully you’ll get a good understanding of how to best use it and what to avoid!

We will see some common patterns you can re-use easily and some mistakes that you really want to avoid.

We will also examine the role of the human as well as the machine and how to adjust our thinking to give our machines a better chance of doing what we want them to.

It’s a lot to get through but you’ll learn a bit and have lots to go away and investigate afterwards.

Your’re engineers! What more could you want?

During the 90 minutes allotted to me at the end of the first day, I’ll be talking about:

  • Modern Systems Engineering – what is a modern computational system and what does it do?
  • The Joyent Cloud – what is this cloud thing anyway! On why KVM and AWS doesn’t really delivery a cloud architecture and why that is.
  • Using CFEngine – what is it, how does it work, how will it work for you and some examples of that work.
  • The Machine/Human relationship – taking a really good look at these machines that rule our lives! I for one welcome our new overlords!

During the Using CFEngine portion, which will be the greater portion of the 90 minutes, I’ll be doing the following:

  • What is CFEngine
  • How does it work?
  • What are promises really?
  • Setting up a Linux machine and a SmartOS zone
  • Deploying software
  • Deploying configuration
  • Ideas for using cf-monitord metrics
  • A tour of the Enterprise Portal
  • A tour of how this all works at MailOnline

I expect there will a majority of people who haven’t used cfengine before so there is quite a lot to cover in 90 minutes – I’ll be cracking along at some pace! I will however be available during the three days of the event should you want to meet up and ask questions, buy me beer or just shout abuse at me. Ping me on twitter if you’d like to meet up at any point – @khushil.

The Cloud is a way of thinkingfeeling and implementing  platforms and software that enable us to move past the concerns of unitary machines and into those of autonomic services.

There are many blogs, books, talks and presentations which define ways to build a ‘cloud’ architecture for your services. Sadly most concentrate on how to work within one framework or another built by corporations trying to tie you to their way of thinking.

The cloud has always been much more than this. I speak of course of RackSpace, Amazon and any number of other ‘cloud’ providers. Put simply:

Neither virtualization nor tooling defines the Cloud

The plethora of tools and tooling frameworks which surround these group of companies is immense. All of them designed to fix the woeful inadequacies of the underlying platform when dealing with the Cloud idea.  These companies and their products have their place in the world and many a business owes them their existence and prosperity. However:

The general acceptance of a method of execution does not define the success of understanding of an idea.

These companies do not offer you access to a real cloud. They offer large-scale virtualization technologies which mimic what a cloud should do – it’s a bit like putting an after market exhaust and a dump valve on an on old Nissan. Sure it sounds good but you really won’t pull away from anything very fast at all.

The speed, ease, reliability and flexibility of deployment, scaling, monitoring and operation within these platforms is inadequate.

The idea isn’t to scale in 30 minutes. It’s to allow the machines to scale themselves within context and constraint within minutes of understanding the need to do so.

The idea isn’t for a humans or machines to watch simple statistics to aid decision-making. It’s to allow your services to gain a contextual understanding of each constituent part’s operation and allow the convergent intelligence inherent to make real-time decisions.

The idea isn’t to re-invent the wheel when it comes to deployment but to leverage decades of experience to make sure we move past this triviality and tackle the hard problems.

That’s impossible in most current ‘cloud’ platforms unless dealing with the most trivial of services.  The last decade of my professional life has been in one ‘cloud’ environment or another. Uniformly, all have failed to show any glimmer of real understanding of the Cloud idea. Till last year, but more on that later.

This is the small, gentle introduction to what will be a series showing you how to build a real cloud services architecture.

You’ll need a GitHub account, a Joyent public cloud account, a local CFEngine installation and some understanding of Python and Bash.

It will be fun, I hope you’ll join me .

Follow me (@khushil) or bookmark this blog to get each installment as it arrives. Click on the ‘About Me‘ page to find out how to get in touch with me.