Don’t Be The Tortoise
The fable of the Tortoise and the Hare has been passed on from generation to generation of children for over 2500 years. Most of us first hear it while curled up in our parents’ laps, or perhaps as one of our first story times at school. The tale, as most commonly interpreted, tells us that slow, steady, and determined beats impulsive yet agile and quick.
Which is, of course, absolute rubbish. Just ask Usain Bolt. Or stick a tortoise and a hare in front of a bear and see what happens. Go ahead, I’ll wait.
The security profession is entering what is most likely the most challenging period we have ever faced, as both a community and industry. The challenge isn’t from Chinese hackers, Russian cybercriminals, or the NSA, but rather from the decisions being made by the organizations we protect. Our infrastructure, architectures, creation, delivery, and consumption models are changing more rapidly and to greater extremes than ever before. More than the move to desktop computing. Greater than our adoption of the Internet.
I’m about to jump on the soap box for a bit and get all motivational, but before you think I’m all preachy, keep in mind that I don’t have anything personally invested in whatever decision you make, but this is sure as heck how I’m planning my own future.
Much of this is encapsulated in the concept of DevOps; the collapse of traditional development and operational silos to enable more agile and rapid delivery models. Powered by cloud and mobile computing, using concepts like “immutable servers” and continuous delivery, it really is a different way of creating, releasing, and supporting applications. Everyone from Netflix to staid financial institutions is adopting DevOps, to different degrees, and we are creating a generation of developers and administrators that are highly unlikely to go back to “old” ways of doing things.
DevOps evolved to support highly competitive Web-based properties. In some cases it translates to dozens of software releases in a day, often pushed from development to production directly by the programmers. But the techniques are also used for more staid applications, like programmatically managing the configuration of thousands of servers using tools like Chef and Puppet, far more effectively than our more-traditional configuration management tools, which are better oriented to workstations.
DevOps brings tremendous security benefits, especially in the area of resiliency. A server acting up? Don’t bother debugging, just kill it and replace it with a new version and zero downtime. Managing developer keys on thousands of servers? There’s a script and a secure data bag for that. System compromised? Quarantine and snapshot it with a couple command lines, then redirect everything to a new, secure server with completely different credentials, in under 30 seconds. We manage our infrastructure more dynamically with code, templates, and automation.
The problem is that the security profession and providers are, generally, not attuned to working in a model of continuous change. We rely on standards, scanners, and slowing the rate of change to allow us to understand and implement appropriate security controls. We do this using tools with user interfaces that require ongoing manual tuning. And all too few of us maintain our skills as programmers and administrators, especially when many of our best and brightest are drawn to offensive research and incident response.
I’ve been spending a lot of time the past few years talking with, and teaching, security pros about cloud computing, mobility, and the rise of DevOps. I am met with far too many blank stares. And when I go into some of these organizations, I realize that security is blinded from the implementation of many security functions, which DevOps is now managing on their own.
It isn’t that security professionals (and providers) aren’t keeping up with any particular technology, it is that we are falling behind a cultural, architectural, and workflow shift that is only going to become more dominant. Why? Because it works. Companies deliver faster, things break less, and when they do they are fixed more quickly and cheaply.
I’m a pragmatist. This isn’t happening equally everywhere, and the world isn’t about to end. This isn’t a call to arms to change the industry, nor a criticism that security “isn’t getting it.” We have so much on our plates we don’t have time to keep up with every new little trend.
But consider this a piece of professional advice. If you want a long, fulfilling, and successful career in security, it’s time to learn some DevOps skills and adapt to that operational model. The hare isn’t slowing down anytime soon, and there sure seem to be a lot more bunnies than tortoises out there.