I wouldn’t write a blog post if I didn’t want people to read it, think about it, and talk about it. However, statistically speaking, you’ve got plenty of opportunities to read the thoughts of a straight white man on any aspect of tech so here’s some people who: 1. Were speakers or organizers of this event. 2. Write about tech, and might even write about this event. 3. Aren’t straight white men.
(But still come back and read this! :-) )
#DevOps Days Minneapolis 2015#
In my second year at CaringBridge our DevOps single point of failure moved to a new opportunity. Our vagrant machines started to fall behind our production environment and the progress we made towards continuous delivery was stopped in its tracks. Needless to say, we weren’t doing DevOps. (ProTip: If your company’s DevOps effort has a single point of failure, you’re probably not doing it either.)
Around this time we got a new Sys Admin with interest in Chef, and he and I teamed up to figure out: 1. What DevOps is. 2. How to make it work. I can’t say our efforts were a resounding success, but meaningful progress was made (reliable Vagrant machines, Chef managed prod servers), and I certainly learned a lot. Ever since, I’ve been participating in meet ups and conferences, and still trying to answer those questions.
Here’s what I’ve got after DevOps Days Minneapolis 2015.
#What is DevOps?#
It seems impossible to talk about DevOps without waxing IT on what it is. It’s similar to Agile in that way. It’s also similar to Agile in that it is more verb than noun. You cannot purchase DevOps, or even hire DevOps, but you can use tools and hire (or train) people that are more… “DevOps-y” than others.
Here’s something that I’ve heard a lot, but didn’t really sink in until this conference (and particularly Katherine Daniels, aka @beerops talk - FYI: she has a book coming): DevOps is about empathy. Empathy for your colleagues in other teams (deveopment, ops, project management, QA, customer care, etc.) and empathy for your users. As a developer I’m often tempted to code like I’m a physicist living in a frictionless world of perfect spheres.
A DevOps frame of mind inspires empathy for the Ops Team or Sys Admins who have to deal with the consequences of my faulty assumptions - sometimes in the middle of the night with people yelling at them. DevOps thinking also reminds me that the only experience that really matters is the end user experience. If what I make doesn’t work on their machine - it doesn’t work.
But empathy isn’t a boolean I can flip on in
wyatt.config. It takes effort and practice to develop. One way to foster empathy is collaboration with other teams (“pair ops-ing” - @beerops). Talk to your Ops team, talk to your QA team. Work with your Ops team, work with your QA team. Figure out what their headaches are, and understand their pain points. Talk to your users, and if at all possible - watch them use your product. That flashy animation might be killing their page load time, or they might be wondering why you need their real name to recommend cat videos to them. Always remember - you are not your users.
“Designers are not typical users” - The Design of Everyday Things
##How do you make DevOps work?##
Now let’s assume you are one with your colleagues, one with your users, and one with your product.
You need more than a DevOps state of mind to make DevOps work, there are still technical windmills to slay.
The one that hit me the most - Feature Flags.
Continuous Delivery: Deployments (technical) happen all the time. User facing changes are toggled with a switch (release). #devopsdays— Wyatt Andersen (@wandersen02) July 9, 2015
Feature flags allow you to push “work in progress” code out to your production environment without exposing your users to an incomplete (and possibly buggy) experience. They’re a crucial part of Continuous Delivery because they allow you to actually deploy what you’re working on continuously instead of in large staccato chucks. I’d say more, but we’d all be better off reading Martin Fowler’s thoughts on the subject instead.
Another gem from Mary’s talk was her encapsulation of Microservice Architecture.
Microservice: A small "do one thing well" independently deployable service with its own database. Managed by its own team. #devopsdays— Wyatt Andersen (@wandersen02) July 9, 2015
My approach to microservices is best captured here, and I’m by no means a fanboy, but their potential in the DevOps space is hard to ignore. Microservices open up a world of flexibility in terms of “right tool for the job,” “dog fooding,” and probably dozens more tech-buzz-isims.
|##DevOps||Empathy||Culture||Diversity||Inclusion - Presented without segue…##|
Technology is bringing about some cool, meaningful things. And a lot of just cool things. But the tech industry has a very serious dark side. Namely - women’s talents and contributions are often ignored, and when notice is taken it’s often in the form of violent harassment. Racial minorities and people with diverse sexual orientations experience similar discrimination, and career obstacles. Ageism is also a big problem. The class and economic issues that intersect with tech and inequality exceed my ability to string together words at this time.
I said a little about all this at the top, and there’s a lot of good writing about it already. What I will say now is this:
I love what I do, and I take my profession seriously. But I’m not always proud of my industry. The spirt of inclusion, and culture of empathy that I witnessed at DevOps Days Minneapolis 2015 (and at several recent Twin Cities tech events) have made me proud, if not of the whole tech industry - of the part of it that I move in.
^ Thanks for making this event possible!