Good Reads, Aug 2014

(The book tour for The Practice of Cloud System Administration has begun! Book signings planned for NY, NJ, Philly, Austin, Denver, Seattle and The Netherlands. Parties planned for NYC on Sept 17 and at my house in NJ on Sept 20. If you are local, please attend. More info on http://the-cloud-book.com)

A summary of the interesting articles I've found this month.

Mark Burgess on why APIs are bad They aren't idempotent. If you use an API to create an object and crash mid-way through, when you recover from the crash you don't know if the object is in a good state or not. Should you delete it and re-create it? Assume it is good? Who knows? It is like the CAP Principle but worse. APIs also encourage vendor lock-in, which is bad. What should replace APIs? Promise theory. Vendors should provide declarative systems that let people specify what the desired state should be and create that state in an idempotent way. (Note: another "why APIs are bad" article was highlighted in back in May of this year.)

How Microsoft dragged its development practices into the 21st century Probably the best explanation of what "Agile" is that I've seen on the web. The author goes into the right amount of detail to help the reader understand the problems of software development, as they affect the business, and how Agile fixes these problems. This should be required reading for CFOs, CIOs, and VPs of Engineering. By the way... if you aren't sure what DevOps is, the best way to describe it is: Agile applied to system administration.

Elizabeth's Joseph summary of DebConf, with a lot of cool CI stuff Elizabeth's summary highlights many new uses of Continuous Integration that are being employed by the Debian folks. Examples run from better testing to more reliable releases. There are many excellent use-cases here that others should be jealous of. Just kidding, you don't have to be jealous... it is open source! Just set up Jenkins CI and replicate these techniques with your project!

Revisiting How We Put Together Linux Systems Currently Linux distributions are a base image plus many packages. Here's a proposal for building Linux out of overlapping disk images. Sounds crazy, but the people discussing it are in a position to actually do it. The advantages are surprising. If you thought containers were cool, here's a complementary technology idea that would (in combination with containers) fix a lot of problems, including putting an end to "dependency hell."

How the Other Half Works: an Adventure in the Low Status of Software Engineers: What most of us don't realize is that this culture of mandatory "passion" lowers our social status because it encourages us to work unreasonably hard and irrespective of conditions. The fastest way to lose social status is to show acceptance of low social status. From a time-management perspective, the point here is that when you for long hours and weekends for free, it devalues the role of a system administrator.

BlackBox: A system that makes it easy to safely store secrets in Git or Mercurial You shouldn't store secrets like passwords and SSL certs in version control repositories. It isn't secure, and even if you trust the security of your repo, you probably don't (or shouldn't) trust the people that run the server or do backups. Instead you should encrypt those secretes before you put them in the repo. Sadly that's a pain it the butt. ...not any more! I've open sourced a set of shell scripts I wrote that make it easy to do this. I created the system for use with our Puppet repository at Stack Exchange.com, but the scripts work with any Git or Mercurial repository now.

Misc Stuff

  • The new season of Homeland has started. I've started streaming House Of Cards and Defiance; both are awesome. (Trivia: I went to college with Defiance's creator Kevin Murphy).
  • Best movie of the summer: Guardians of the Galaxy. (I've seen it in Imax 3D twice already.)
  • Looking forward to seeing The Giver before it leaves the theater.

I have a new book coming out!

It is called "The Practice of Cloud System Administration" and it ships September 5, 2014. That's less than a week! If you want to be the first to get news and notes about it, click here and tell me your email address.

Posted by Tom Limoncelli in Good Reads

No TrackBacks

TrackBack URL: http://everythingsysadmin.com/cgi-bin/mt-tb.cgi/1792

2 Comments | Leave a comment

"Mark Burgess on why APIs are bad They aren't idempotent. If you use an API to create an object and crash mid-way through, when you recover from the crash you don't know if the object is in a good state or not. Should you delete it and re-create it? Assume it is good? Who knows? It is like the CAP Principle but worse. APIs also encourage vendor lock-in, which is bad. What should replace APIs? Promise theory. Vendors should provide declarative systems that let people specify what the desired state should be and create that state in an idempotent way. (Note: another "why APIs are bad" article was highlighted in back in May of this year.)"

This to me seems like peeling layers of the onion. How does one idempotently update the declaration of target state?

@Dan: You change the description of what you want.
The system checks, if its state matches you description and if not it changes the state itself.

"I want 4 VMs w/ apache, postgres, python" - "OK, I'll setup 4 of them."

"I want 4 VMs w/ apache, postgres, python" - "I already got 4 of them, nothing to do."

"I want 18 VMs w/ apache, postgres, python" - "OK, I'll setup another 14 of them."

Leave a comment

 
LISA14 I'm Teaching button