Server login considered harmful slides at GOTO amsterdam

Thursday, May 24th, 2012

The slides for todays’ talk about devops in general and configuration management with chef in particular are here: gotoams_serverlogin.

As I mentioned yesterday in Server login considered harmful – the next iteration, I changed the structure of the presentation into a brief devops and configuration management and then a chef demo.

That way we had about 15 to 20 minutes left for questions, after explaining the basics of chef (and similar things in puppet) and how to get started. Based on mini xp days I guessed the audience correct, most were developers doing some operations on the side, or working with ops, and most had not seen chef yet.

I had set aside the extra slides, which you can also download. I ended up not using them, covering some of the topics on the side during the demo and during the Q&A.

Having some extra time to go through the example seemed to help. It is quite a lot of information, as  I need to show both a specific application configuration DSL (monit in this case) while introducing chef concepts. Manual syntax highlighting and adding more slides with smaller steps seemed to help.

 

 

 

Server login considered harmful – the next iteration

Wednesday, May 23rd, 2012

Patrick Debois and Jeffrey Fredrick asked if I could blog about improvements I was making to our presentation “Server Login Considered Harmful” for tomorrows GOTO Amsterdam conference. So here is a quick CHANGELOG.TXT for this presentation :) . What is on the menu for tomorrow is all the way on the bottom of this post.

Feedback on where to take it is welcome, you have until tomorrow morning 10:20 ;) . I was (also) preparing today for tomorrow, because this is an ongoing experience report and I want to incorporate what I’m doing right now in to it. This makes providing a session description in advance a bit hard – the overall theme stays the same, the emphasis shifts depending on the audience and what I’m up to.

This is the fifth iteration of this talk, in which Stephan Eggermont and I try to explain what DevOps in general, and configuration management (for instance with Puppet or Chef) can mean for Developers in particular.

The first iteration at last years’ FOSDEM found us in a room full of seasoned systems administrators. We had a few slides and a Puppet demo. We found doing a demo with a tool like this in such a short timespan a bit too challenging, and not too clear for the audience.

We did do a demo at SPA2011, where we did a half-day hands-on tutorial. Went well. We did find that the same virtualbox VM runs differently on different windows pc’s…. Prepping VMs for a workshop like this is meta-devops ;)

The next two installments were for XP Days benelux last year, and mini xp days this year. We expanded the slide deck to explain more of what we find are principles and values for DevOps, and put a Chef demo purely in slides, so we could focus the explanation. We also decided to go with a Lego theme (we liked Patricks’ BBQ themed slides from last year).

The XP Days and SPA audiences consisted mostly of people who rarely do systems administration.
Feedback from the first xp days was that we could have explained what devops and configuration management meant in general more clearly. Rob Westgeest said we took too much time to explain our case studies, and we should pick one or two. People did like the Lego theme, and were inspired to try out chef or puppet at home, much like at SPA.

For mini XP Days we expanded the slide deck, including a case study for me, and one for Stephan, to focus the case study presentation. We also added some more explanation around the Chef example plus syntax highlighting to show where we increased abstraction from one step to the next. Critical feedback was there were too many lego slides, and on some slides the contrast with the text was not good on the projector. We still have some work to do to clarify the overall theme. Surprising positive feedback was that participants had gained a better understanding of what systems administrators do, and there were quite a few questions on how to get started in a specific situation. Rob said trying chef or puppet was mentioned several time as a takeaway in the conference feedback.

So for this iteration we tested the presentation on a projector to fix contrast, removed some lego (not too much, we still like the theme) and changed the order of the presentation. The chef example now comes first, and if there is time I’ll discuss one case study and values and principles – there is a bit less time and I found discussion and questions the most interesting aspects of this talk, because the audiences and experiences are so diverse. This is also where I get to learn stuff to take home and try out. So I’ll probably let the audience vote on Chef first or case study plus values first to make sure we have time for discussion.

I look forward to seeing you tomorrow!

Spring conferences

Friday, January 20th, 2012

Devnology Community Day, Saturday February 4, Baarn, Netherlands

Keeping with my plan to do more shorter, local conferences and not keeping with my plan to avoid weekend conferences, I’ll be hosting Robert Chatley and Matt Wynne’s eXtreme Startup at the Devnology Community Day

devnology participants in a circle with laptops and tablets
It was great fun to run it at last years’ XP Days Benelux. It’s always amazing to see how focusing on incoming feature requests lets you easily forget the big picture.
Participants at Devnology should have at least as much frustration ;) So bring your laptop or pair up with someone and join the fun. The only
thing you need is your favorite programming environment and a way to respond to HTTP requests.

FOSDEM – Sunday February 5, Brussels, Belgium

If you break a plan, do it in style. So I’ll also be doing something on the Sunday. Stephan Eggermont has arranged a Smalltalk Devroom at FOSDEM

We’ll probably be doing a longer version of Back to the Future, (Re)Learn Smalltalk like we did at the SPA Conference last year.

To keep my sustainable pace, I’ll just move my weekend to the Monday and Tuesday after these conferences. We’ll see how that works out.

Mini XP Days Benelux – Monday April 23, Heeze, Netherlands

Keeping up with the two main session themes of last year, smalltalk and configuration management, Stephan Eggermont and yours truly will rerun our session on getting started with Chef and Puppet at mini XP Days Benelux, the full program is yet to be announced.

Rob Westgeest kindly championed our session, as he assumed we learnt from the feedback from the previous session. The lego-themed slides were well received, but we could have focused the introductory stories more on one or two complete examples, as opposed to telling a bunch of benefits related to things we’ve done. The same went more or less for the code samples. It wasn’t clear to all participants how the ‘big picture’ fit together, so we’ll see if we can visualize that.

I look forward to seeing you at one of these conferences!

Extreme Startup, Smalltalk and Server Login Considered Harmful at XP Days Benelux

Friday, November 25th, 2011

What do Extreme Startup, Smalltalk and Server Login Considered Harmful have in common?

I’ve made some slides to promote sessions about them at XP Days Benelux. Competition for the most hilarious Official Half Minute Pitch at each half day of the conference is fierce. This year sessionorganisers can send in slides. Luckily Stephan Eggermont reminded me that the deadline is right about now. With a few iterations, film poster-like slides are my themes for this year.

When Robert Chatley asked if I wanted to be stand-in for Matt Wynne, who has more sensible priorities than most of us ;) I thought for half a minute and said yes. The eXtreme Startup is a hands-on session that lasts a morning, but allows for new participants halfway through. I attended it at Agile Cambridge, and found it loads of fun and educational. Can you and your partner code against the market and your competitors? Will you deliver the most business value against changing demand? Can you balance the flow of euros against technical debt? Join us this friday at 9:30 in room 16 and find out.

One of the ways to iterate quickly while finding out what is a good market fit, is to use a language and environment that was build to explore the unknown. Join Stephan Eggermont and yours truly this Friday at 16:30 in Room 16 and find out how web development can be like desktop GUI development, and how Debugger Driven Development optimizes your inner software development loop! No code was harmed in the making of this session.

So, you’ve found your strategy to find your market and keep up with it and you’ve found a development sweet spot. Now your deployments can’t keep up. Servers burn down, your mail is a spam magnet and as a systems administrator you are getting tired of late night phone calls. Devops configuration management to the rescue? Come to our session “Server Login Considered Harmful” and find out if Chef can save your Puppet’s bacon. Find out this Thursday at 11:00, again – surprise surprise? – in Room 16.

XP Days Benelux is already sold out, I just wanted to share the fun Ihad in preparing it. Still hoping to see you there :) .

Server login considered harmful

Thursday, February 3rd, 2011

Why limit continuous improvement to planning or programming? Inspired by the DevOps movement and a new breed of server configuration management tools, Stephan Eggermont (playing Dev) and yours truly (playing Ops) set out to see if automating the hell out of a server build would benefit us. We learnt a few things. One of them: each time we logged in to the server was a system administration smell. Something in our approach to automation had failed. Time to ask why a couple of times…

We constructed a web and mail server for an early stage startup. Stephan wrote the application for it together with Diego Lont, and they were looking for a smart way to deploy it. I had looked into automating systems administration tasks with scripting tools such as puppet and chef before, had tried puppet a year before and failed to earn back the time I put in.

This time our goal was to be able to build a new server quickly, because the startup did not have the funds for more expensive disaster recovery options. We also wanted to not think separately about writing documentation: if left as a a separate task, documentation is often just left.

Stephan was somewhat new to linux systems administration and wanted to learn, I have done linux administration on the side for almost ten years now, but many things I still don’t really understand (e-mail, firewalls), even though I administer a couple of servers that seem to be running ok.

We hoped that documenting ourselves in the form of scripts would help us understand, and that writing these scripts in a Domain Specific Language designed to describe servers (puppet in this case, but it could have easily been another tool) would force us to be precise in describing our understanding.

So why did we need to log in?

Our web server would not start, but puppet did not pass the output of the web server (lighttpd) on to us.

Why did our web server not start?

We made errors writing its configuration file.

Why did we make errors in writing the configuration file?

We used lighttpd, a web server I hadn’t used in a couple of years. Its configuration is not that hard, but you have to use exactly the right lines. Especially with secure sockets (a bit tricky on most servers) this turned out to be harder than we thought.

Why…

We don’t have automated tests yet for the configuration, Stephan and Diego’s software has automated tests on the inside, but the mail and web server stuff does not have automated tests. I have a virtual machine that is, with the puppet scripts, roughly a copy of the production machine, but learning puppet and figuring out how to automate tests for the environment was too big a step.

There are many more whys. Sometimes we were in a hurry, so we didn’t sit together to think through the next step, do it, and reflect on it. Sometimes we still did things directly on the server, because we could not figure out how to quickly do it in puppet. The first steps in automation required a lot more patience than I expected. The object oriented database used does not come with a ubuntu package, but needed to be installed with a couple of shell scripts that required manual intervention. We did not have the courage or understanding to rewrite the scripts as (automated) puppet recipes or an APT package.

It didn’t occur to us at first that logging in was a smell. We just started to notice after a while, that whenever we logged in to the production server, there was something we had overlooked. We broke something, or could not see whether something was running properly or not. Sometimes we took action to prevent having to log in the next time, sometimes we thought it was too much work for now, and accepted that our automation is not yet ‘perfect’.

If you made it this far, congratulations! You may want to hear more. If so, join us this Sunday at 15:00 In the configuration management devroom during FOSDEM 2011 in Brussels (no registration required). We’ll be talking about configuration management for developers. Learn from our mistakes, so you can make different ones ;)

Thanks to Stephan for coming up with the first title. And Marc Evers for shaping the second one.