Slashdot Mirror


DevOps: Threat or Menace? (Video)

The title above is a joke. Mostly. We've heard so much about DevOps -- good, bad, and indifferent -- from so many people who contradict each other, that we turned to Alan Zeichick, one of the world's most experienced IT analysts, to tell us what DevOps is and isn't, how it can help get work done (and done right), how it can hinder progress, and how to make sure DevOps is a help, not a hindrance, if you or your employers decide to implement DevOps yourselves at some point.

65 comments

  1. What about the cloud? by bsdasym · · Score: 3, Informative

    That's what "DevOps" is to me. A meaningless buzzword. I did once see a "DevOps guy" lauded as some kind of hero for changing a haproxy configuration and reloading it.

    1. Re:What about the cloud? by Anonymous Coward · · Score: 0

      I think I know that guy.

    2. Re: What about the cloud? by WarJolt · · Score: 0

      I just assumed it was a way of differentiating the old IT guy who wrote hundreds of unmaintainable scripts to support his or her complicated web of ad hoc infrastructure from the new guy who understands sane development practices.

      The old guy stopped learning IT in the 1990s. The new guy understands when you want to run your app in a docker container.

    3. Re: What about the cloud? by pla · · Score: 2

      The old guy stopped learning IT in the 1990s. The new guy understands when you want to run your app in a docker container.

      And on the same subject, hey, how about that moron Harold II, for not deploying his F-14 Tomcats at the Battle of Hastings? What a maroon, eh? Right up there with Pheidippides for not just pulling out his cell phone to call Athens.

      You understand, of course, that the "old guy" wrote that mess of unmaintainable scripts out of necessity? And he quite likely hasn't just let his skills atrophy, but instead, now makes even more money helping companies move away from those old messes and into something more manageable (since newbies just look at them and cry)?

    4. Re: What about the cloud? by ememisya · · Score: 1

      What is the point of giving a new name to an enterprise software shop?

    5. Re:What about the cloud? by Spy+Handler · · Score: 1

      DevOps is like SpecOps for IT guys, you know the elite operators that played lots of Call of Duty.

    6. Re:What about the cloud? by Anonymous Coward · · Score: 1

      "DevOps" is not one guy. It's bringing the right people together at the right times. During development you'll need to bring in one Op from every speciality, until they no longer need be involved. There are stages to this also: requirements phase, development deliveries, environment installations, support during testing & QA, troubleshooting, production deployments, troubleshooting, upgrades, etc. Coordinating IT people is too alien for most PMs, so one designated sysadmin from IT best suited to such work should be designated to do it, and to learn everything about the new system as well as preparing for everything in advance.

      This is very much accomplishable. Most of the posts here are totally ignorant, and it shows in the daily results at work too. People who have worked some time in both camps, both as Dev and as Op, see this most clearly. Too many managers usually have neither, and remain clueless.

      TDD and especially continuous delivery are spin-offs of cloud work, that is, it's the only sane way to make "the cloud" scale, wether it's a private cloud or not. It's just that with in-house infrastructure, you usually have the people right there to fix things, so nothing is ever fixed permanently or with high quality. This concept is also called "DevOps", but like "the cloud", it's entirely misleading. You'll still need someone negotiating contracts, set SLAs, coordinate, manage operational requirements, set up architecture/designs, plus a whole bunch of other stuff that always crop up too late.

      TL;DR: This guy is spot on, and most posters here are full of horseshit. However, he's wrong that it's not accomplishable, it just need to be managed well by well-experienced people.

    7. Re: What about the cloud? by Penguinisto · · Score: 1

      I just assumed it was a way of differentiating the old IT guy who wrote hundreds of unmaintainable scripts to support his or her complicated web of ad hoc infrastructure from the new guy who understands sane development practices.

      Yes, and no.

      The 'new guy' is finding a way to take all of that scripting, making it consistent and maintainable, then using it in a way to automate the shit out of as much as possible.

      Many of the results are apparent even now - CI/CD that can (in competently-run cases) remove the need for outage/go-live windows just because somebody wants to patch something or add a feature. Need 30 new servers to bolster the web farm? No problem - less than 30 minutes later, there they are - running and identically configured. Some jackass accidentally turns a server into a snowflake? Fixed five minutes later, automatically. Dev team is coming up with something new? Let the DevOps guy handle integrating it to the infrastructure and in enforcing IT standards so that you don't have to. While he's there, he can act as a liaison between the dev teams and the infrastructure guys. Something breaks at 3am due to shit code... guess who is going to know that, and get it fixed, way faster than the typical server monkey?

      It's not a silver bullet, but damn it works well when it's built well.

      Here's the trick - the sysadmins are not obsolete (but there won't be a need for nearly as many of them). The devs are not obsolete (but now they can do more with what they have). Also note that you don't need a massive cfengine/puppet farm in every company... it only makes sense under certain circumstances (usually companies who host massive web-based software), and makes none in others.

      The old guy stopped learning IT in the 1990s. The new guy understands when you want to run your app in a docker container.

      1) Docker is a glorified x86 version of Solaris Zones with a few tricks added on.
      2) Docker is not always necessary, useful, or even wanted. Sometimes it gets in the way.
      3) There are a few cases where Docker is nice to have, and even useful... but outside of a dev's laptop, they are few and far between, as it should be.

      (...now Foreman + vSphere? That can get useful in a hurry.)

      Otherwise, first sentence? Not always. I was a sysadmin in the 1990s... Now I script, automate, play babysitter, troubleshoot, pimp-slap the occasional junior admin or dev when necessary, and generally do everything I can to automate the shit out of everything that can sanely be automated. That last part scares both dev and sysadmin alike (and not a few network admins), but it's merely evolution. Anything less is just a buzzword. ;)

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    8. Re:What about the cloud? by Anonymous Coward · · Score: 0

      We all know that guy! Those types of idiots are all around us.

    9. Re: What about the cloud? by Anonymous Coward · · Score: 0

      The new guy understands when you want to run your app in a docker container.

      If the new guy were competent, he would know that Linux containers are nothing but hype, and that in order to make the infrastructure reliable, consistent, and correct, as well get the best performance at lowest possible cost and effort is to

      1. package the software and configuration into OS packages
      2. use zones in SmartOS.

      Then again, the IT world is full of incompetent idiots who think they are hotshots, and because they are incompetent and do not know any better, they hack on substandard "solutions" like Linux and Docker, just dumping files into Docker containers. "Documentation? Which documentation? OS packaging? That's too hard"

      Yeah, okay. Yet another idiot, as if we do not already have enough of those, so we need more...

    10. Re: What about the cloud? by Anonymous Coward · · Score: 0

      1) Docker is a glorified x86 version of Solaris Zones with a few tricks added on.

      Which tricks? With a zone, I get a fully functional, virtual UNIX server. And the best part is, I get it gratis in the form of SmartOS, http://smartos.org/

  2. Meaningless Bullshit by segedunum · · Score: 4, Insightful

    Devops is one of those meaningless bullshit terms that seeks to create something complicated out of something simple. Basically, if you want shit to work, which is the goal here I'm guessing, you put your developers and sys admins working the same room and get them to run something that will work in production. Simple.

    Devops has also been used to give them impression that system administration can be abstracted away as some kind of quasi-cloud-development thingy. That is not the case nor will it ever be so.

    1. Re:Meaningless Bullshit by Anonymous Coward · · Score: 0

      I cannot argue with your assessment.

    2. Re:Meaningless Bullshit by Anonymous Coward · · Score: 0

      True. There are programmers, testers and sysadmins. And the story ends here.

    3. Re:Meaningless Bullshit by Anonymous Coward · · Score: 0

      Thing about devops is that previous a sysadmin would regularly have to tell the developers no when the latter try to bring some new fangled technology into the production environment. With the devops mentality, the sysadmin is made subservient to the developers whims. End result is a whole lot more "polished turds" being rammed into production. The excuse being that containers can be used to keep things going, simply by allowing a new instance to be spun up whenever an existing one shits itself.

    4. Re:Meaningless Bullshit by n1ywb · · Score: 1

      Maybe I'm in the minority here but in most of the shops I've worked in over the decades where the IT dept did a lot of programming most of the folks did both dev and ops although nobody called it devops back then. A pure-sysadmin in a large organization is basically a computer janitor. Without some dev skills you're not going to be able to automate anything hence you're going to be reduced to doing the chump work that somebody with dev skills has already automated. Literally "I will replace you with a small shell script" sort of stuff. So I don't know if devops is meaningless bullshit but I certainly don't think it's anything new or buzzworthy.

      As a software dev I have no problem whatsoever doing ops as long as I'm never on call.

      --
      -73, de n1ywb
      www.n1ywb.com
    5. Re:Meaningless Bullshit by KGIII · · Score: 2

      Well, this is a fine place to interject my opinion - for what it's worth... I'm not an authority (obviously) but I did manage to get things done and was successful at it.

      First, this is absolutely horrific - not the subject but the process of watching this video. I've never watched a /. video before - I've read transcripts. This required so much effort to allow so many things in uMatrix that it was absurd. Between Disconnect and uMatrix I wasn't sure that I'd ever see the video. There were nearly 1000 requests. Just with the new page loaded (this one with the comments) and not watching the video, Disconnect shows 1062 requests and uMatrix is now much lower at 84 requests. That's bullshit and unnecessary.

      Second, this is not new. It may be that my shop was heavily oriented to processing large data sets and working with the results and doing loads of manipulations but our dev team worked very much in hand with the ops team - one could say that there were representatives of either and some cross-talk always taking place. My hiring reflected my opinions and so I almost always ensured that there were enough people available so that someone was always able to be freed up to work with the rest of the crew. They were in "teams" with specialized rolls but those lines were often fuzzy.

      Finally, I'm going to have to use a lose definition of "cloud" here as it's not very well defined. To me, much of this cloud shit is nothing more than a return to dumb terminals (in some ways) and not much different than hosting your own data - from the perspective of those who work with the data. We had a locked server room and a locked comms room and whatnot. Locked doors didn't mean a whole lot as they didn't really need to be locked and people interacted with one another frequently. Doors would probably be locked if a client was in the building, for example.

      So, it seems to me that if they're having issues with this then the problem is likely the process they're using or ill defined goals. He's right, the IT staff, structural IT if you will, don't need to know until after the dev team has a working model that's fairly close to feature complete. We did internal provisioning, I'm sure this is a little slower, but I imagine the process is much the same.

      To my eyes this looks like Yet Another Management Problem (YAMP). It seems like piss poor managing, improper goal setting, and generally wasting time for no real efficiencies. Funny enough, if you hire good people, pay them well, and shut the hell up and listen to them so that you can give them the tools they need - they usually do a really good job at getting stuff done when you give them the freedom and space to do so. If they know what it is they're meant to be doing and you give them the tools to do it and then get out of their way then they get the job done. If they don't get the job done there's all sorts of problems but it's usually the fault of not giving them the ability to do the job you wanted - be it communication, realistic time periods, or the appropriate tools.

      Also, the tools aren't what the vendor suggested. They're the ones they users requested. Strangely enough, keeping people satisfied and engaged enables them to do good work and actually have an investment in doing good work. Imagine that?

      At first I tried the sort of micromanaging and the whole helping thing. This was because I'd started as just one person with a single other employee. So this was my baby. Fortunately, I was smart enough to hire people more capable than I. They were honest enough to tell me to stop helping. Given that I'm not usually an idiot, I listened. They were better at it than I was - that wasn't my area of expertise and I really had too much work to do elsewhere which is why I'd hired them in the first place.

      So, to all you managers out there, take it from me... Shut the hell up and listen. Give them the tools they need and the space to do what you asked. Articulate and ensure that they know not just the process but the goals. Guide - d

      --
      "So long and thanks for all the fish."
    6. Re:Meaningless Bullshit by tnk1 · · Score: 1

      There have always been two sorts of sysadmins.

      There are the guys who love the hardware, and the guys who love the scripting. Most admins did both, of course, but you could usually tell which side they tended to come down on.

      Now that the hardware has been abstracted away in the cloud, the need for hardware admins in businesses who use cloud apps is much less, but the need for automation is now through the roof.

      You still need the guys who like playing with the OS and the hardware to work in data centers and support the cloud shops, of course. However, I think there is more of a growth market for the automation admins (ie. DevOps).

      That's why there is the perception that DevOps is just sysadmin work. It is, at least at the root of it. A DevOps admin is more focused on using APIs to create infrastructures than an admin who just ties together things with scripts. It is more of a specialization, but it is a growth area.

    7. Re:Meaningless Bullshit by __aaclcg7560 · · Score: 1

      A pure-sysadmin in a large organization is basically a computer janitor who cleans up after the technological elephants..

      FTFY

    8. Re:Meaningless Bullshit by bsdasym · · Score: 1

      This is sort of what I figured. So basically it's just a buzzword for something the good sysadmins have already been doing for decades, when not hamstrung by some monolithic corporate culture or constrained by an insane ISO9k1 implementation.

    9. Re:Meaningless Bullshit by angel'o'sphere · · Score: 1

      You write complete nonsense, the jobs a typical our day DevOps does did not exist ten years ago, definitely not twenty years ago.

      So using this new term to describe those jobs is completely legit.

      If you simply don't know what the difference between an operator, a developer and a DevOp is: read a book and stop insulting your colleagues who work in that area.

      For starters: a dev op is not a systems administrator, however knowing a bit about system administration, noteable: more than the common developer, distinguishes him from mere programmers/architects/developers.

      What is your job description? Complaining and nitpicking about stuff you are to lazy to dig into?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    10. Re:Meaningless Bullshit by Anonymous Coward · · Score: 0

      Oh fuck off.

      Perhaps if you had developers who were capable of doing more than bashing their faces against their keyboard you wouldn't need devops to make a mountain out of getting your apps out the door and staying up.

      Funny how good quality organizations managed to do that before $buzzword_of_the_day and still do, and bad quality organizations don't.
       

    11. Re:Meaningless Bullshit by lgw · · Score: 2

      Devops isn't "ops people who code", it's "fire all the ops people, and make your software devs do that ops stuff too". It works about as well as you'd imagine - lots of automation, but the lack of real ops experience (and desire to do that for a living) really shows. And yes, you'd be on call - it's not devops if someone else has to wake up if you break it. That's the whole point, really - one team that has to live with the results of their choices. It's less than ideal, but better than any approach that lets dev blow off the concerns of ops.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  3. DevOps my understanding by Mybrid · · Score: 3, Informative

    Hi! Happy Tuesday

    My understanding is that DevOps was coined by a manager at Etsy who recruited developers for managing IOPs and other costs in the Amazon cloud via software designed to do just that. DevOps meant someone who was saavy enough to write system level code.

    Somewhere along the way this notion got morphed into being the system administrator and the developer.

    DevOps:
    1. Developers optimizing Amazon and other cloud environment costs by using application code specialized to manage system administration aspects of the cloud; including managing switches, spinning up VMs, etc.
    2. Developers with system administration responsibilities.

    The reality is that Etsy moved off of Amazon to an in-house data center and left us with a messy legacy of a term, DevOps. :-)

    1. Re:DevOps my understanding by tweek · · Score: 1

      This is going to sound insanely douchey (and I apologize in advance) but everything you have said is 100% wrong. At no point has Etsy ever run in AWS.

      The only thing I can think of that might have had you confused is that John Allspaw (now CTO at Etsy) and Paul Hammond, presented at an early Velocity conference about work at Flickr:

      https://www.youtube.com/watch?...

      That talk was pretty seminal in the DevOps community but in no way has any bearing on anything you said.

      --
      "Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
  4. Dear Dice by Anonymous Coward · · Score: 1

    No, I will not take part in your survey of whether DevOps is a thing.

  5. IT people don't work in teams by xxxJonBoyxxx · · Score: 1

    >> IT people don't work in teams

    So..that's the heart of DevOps according to this guy? More meetings?

  6. DevOps Definition by Anonymous Coward · · Score: 0

    DevOps - What the operations team are called when they actually know something, not just the usual button pushers.

  7. DevOps, bad buzzword but good idea by ErichTheRed · · Score: 1

    In my experience, the term DevOps is thrown around by two types of companies:
    - Startups who use it to tout their agility and fast deployment
    - Large company CIOs who want to get rid of their sysadmins or abstract all the complexity away into the cloud

    What I do like about it is the fact that, when done right, it forces developers to know a little about the environments their creations will need to run reliably in. As a systems guy, my experience has been that developers don't really understand how stuff they works scales beyond their own computer or dev environment. Conversely, my development experience is limited to automation and scripting, and I know I could do much more with some formal programming training.

    The problem is that DevOps is used the same way Agile is -- a magic bullet that will fix the problem of expensive sysadmins, expensive QA, production outages and delays in deployment all at once. DevOps works for startups because you're usually dealing with a single product, a small team who all know most of its features, and a group of people who are 100% focused on making it work correctly in production. For bigger companies it can work, but you need that level of focus that you might not have in a large organization juggling hundreds of different deployments.

    What I don't like is DevOps being used as an excuse to remove any systems discipline. The cloud is great and you can spin up a million servers if you want, but just handing developers the keys and saying "go nuts" isn't the answer. Nor is locking down the environment so much that processes kill any hope of moving quickly. Like everything, the balance is in the middle, and sysadmins who know a little about the products they're taking care of, plus developers who know a little about the metal their code is running on make for much smoother deployments.

    1. Re:DevOps, bad buzzword but good idea by angel'o'sphere · · Score: 1

      The problem is that DevOps is used the same way Agile is (1) -- a magic bullet that will fix the problem of expensive sysadmins (2), expensive QA (3), production outages (4) and delays in deployment all at once(5).
      1) does not exist, everybody knows that. And if 'agile' does not work for you, most people involved in it in that organization are incompetent
      2) except: dev ops are not sys admins, hence they don't help in that area
      3) QA is expenisve, and DevOps are supposed to help to automate stuff the developers 'have no time for', so yes, that is their role
      4) DevOps don't work in production, they work indevelopment, hence the name!
      5) Yes, that is his job, automating deployment, on Test, QA and production.

      The last 15 years basically every project I worked on had one or two full time or part time DevOps. People who did the dirty work of setting up a VM with a certain configuration so the other developers could clone it, people who migrated from cruise control to Jenkins etc.
      People who migrated the subversion repository to git.
      All those things are not _development_ they add no features to the product. They are not system administration either. Also those "DevOps" never had access to any production machine!

      Like everything, the balance is in the middle, and sysadmins who know a little about the products they're taking care of, plus developers who know a little about the metal their code is running on make for much smoother deployments.
      Ofc! Never saw a SA who did not know about the product, and I never saw a programmer who did not know anything about the hardware ... this are no brainers, thanx for the enlightment!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  8. DevOps = ?? by rkhalloran · · Score: 2

    DevOps is a model where developers can spin up a VM via some cloud mechanism, throw in their code and launch without having to get an SA involved. This is great for lower environments, and lets you use CI tools like Jenkins to do a build/test/refine loop, but once you get near production, presumably you don't want the code churning so much. Then you want the SAs in the loop to manage environments for stability and to tune for performance. What the suits want is an "easy-button" solution that does all the provisioning/tuning/deployments so they can drop all those knowledgeable, expensive SAs and just let the developers handle it all. This is probably suboptimal as you don't necessarily get the benefits of performance tuning and looking at the overall structure.

    1. Re:DevOps = ?? by markjl · · Score: 1

      I think you are close, but I have to disagree with a point you make. You want SAs in the loop to **develop** the environments and tuning: we want infrastructure as code where sysadmins document their wisdom and make it reproducible everywhere (in dev, staging, test, etc.): not by hand in only in production. Otherwise, we end up with deltas between development and production, which is a gap that can cause trouble and problems to creep up only in production.

      This is where we start to close the loop on infrastructure and software engineering by instrumenting our code with metrics, performing forensic analysis with logs, and tracking health/uptime/performance with monitors. Otherwise, yes - handing off production to the system administrators to do their dark magick is the old way and it is NOT the DevOps way.

      DevOps allows us to approach the problem where tuning and troubleshooting on your laptop or in production should be, as much as possible, a shared exercise with shared tools.

      --
      My opinions are my own, but you may share them!
    2. Re:DevOps = ?? by Anonymous Coward · · Score: 1

      I think you are close, but I have to disagree with a point you make. You want SAs in the loop to **develop** the environments and tuning: we want infrastructure as code where sysadmins document their wisdom and make it reproducible everywhere (in dev, staging, test, etc.): not by hand in only in production. Otherwise, we end up with deltas between development and production, which is a gap that can cause trouble and problems to creep up only in production.

      This is where we start to close the loop on infrastructure and software engineering by instrumenting our code with metrics, performing forensic analysis with logs, and tracking health/uptime/performance with monitors. Otherwise, yes - handing off production to the system administrators to do their dark magick is the old way and it is NOT the DevOps way.

      DevOps allows us to approach the problem where tuning and troubleshooting on your laptop or in production should be, as much as possible, a shared exercise with shared tools.

      I'll go one further.

      I'm a sysadmin and a devop, but at the end of the day, they build the app and I'm expected to keep it up. Devs will do crazy shit to get it to work (at all), but don't want to have to be responsible to keep it up after day 1, and that crap can't be trusted in production. So I do this:
      I let them build it any crazy way they want, and I require them to document the process they used to set it up. If I can't reproduce it based on the docs they provide, it goes back to them. Once they have a reproducible implementation, THEN I can take it and fix their crazy chmod 777 -R * crap to isolate the stuff that actually needs that permissions, get a list of rubygems that are out of date and have security issues, etc.
      If you fail to do either of these, your platform either crashes, or gets owned.

  9. Bullspit by s.petry · · Score: 5, Insightful

    DevOps is a specialization which used to be part of standard system administration. Developing custom tools to do custom tasks, in this case related to "Ops" (another specialty that used to be standard sysadmin territory). The term is a great dummy term, but really does not distinguish someone's ability to manage servers and infrastructure.

    You seem to be the 'new guy' who preaches that everything should be run in a generic docker container, complaining about the 'old guy' who wants none. Meanwhile, most of the people worth their salt understand that sometimes generic works and sometimes it doesn't. If there was some magic perfect layout everyone would be using it. Instead, we have a huge array of both hardware and software being used in the market. Knowing a dictionary of buzz words does not make you good, and usually indicates just the opposite.

    --

    -The wise argue that there are few absolutes, the fool argues that there are no probabilities.

    1. Re:Bullspit by Anonymous Coward · · Score: 0

      Except that instead of doing the job efficiently, we have loads of dev ops running around, taking months to do simple stuff, and who can't code their way out of a paper bag.
      They're a tax.

    2. Re:Bullspit by s.petry · · Score: 1

      We all know "that puppet coder" right? Come on now, you know who I'm talking about!

      --

      -The wise argue that there are few absolutes, the fool argues that there are no probabilities.

    3. Re:Bullspit by lgw · · Score: 1

      DevOps is a specialization which used to be part of standard system administration. Developing custom tools to do custom tasks, in this case related to "Ops" (another specialty that used to be standard sysadmin territory). The term is a great dummy term, but really does not distinguish someone's ability to manage servers and infrastructure.

      Not in my job it's not. We're all full-time software engineers, and none of us have any sort of ops, sys-admin, or any other sort of "IT" background. Just as we don't have any QA people, and none of us has a QA background. We write, test, operate, and maintain the product the company sells.

      It doesn't work as well as dispensing with QA did. If you're writing good tests, the only value QA adds is early customer feedback, but if you're running a web service that you can change when you want to, you can respond quickly to actual customer feedback, and that's better. However, even with lots of automation, ops is still a specialty. It just takes more of our time to do it than it would to have a specialist do it full-time. It's also no fun - ops isn't our chosen career, and it's not what we like doing.

      Devops tries to fix the usual distance and disconnect between dev and ops, and that's a great goal. But devops is a poor, suboptimal, and un-fun way of achieving that goal. Having a distinct ops staff integrated with the dev team (same first-level mangers, sitting next to one another, attending the same stand-ups, etc, no distinct ops and dev structure), would be a lot better. But then, horrors, engineers wouldn't be fully interchangeable cogs!

      --
      Socialism: a lie told by totalitarians and believed by fools.
    4. Re:Bullspit by rwa2 · · Score: 1

      Heh, I think this tweet is apropos:
      https://twitter.com/NeckbeardH...

      2003: "I replaced you with a set of very small shell scripts."
      2013: "I replaced your scripts with a six-figure enterprise DevOps platform."

      I worked through some large companies trying to do this transition. They were literally trying to transition from a BOSS (bunch 'o shell scripts) repository to OpsCode Chef. The idea was that there were previously lots of Developer groups, throwing shit at a separate Operations group, and having us System Engineers in the middle trying to coordinate it all while also keeping the Systems Architects and other disparate managers happy. At some point they had formed a DevOps group to try to merge all of that, which was good, but last I heard they had disbanded the DevOps team and were moving on to the next buzzword already. Anyway, most of us left and I have no idea what they're doing now, but I imagine a lot of the Chef cruft ended up being an inspiration for http://www.explainxkcd.com/wik...

      Anyway, it's been an interesting buzzwordy ride, and some of the technologies, particularly docker stuff, seems genuinely useful for delivering bits, enough so that I've started using it for personal projects at home. But I agree that most of it is just reinventing poorly what we had in the old days with pipelines for testing and packaging and version control and cluster management.

    5. Re:Bullspit by Anonymous Coward · · Score: 0

      You never really eliminate QA. Either you pay people to handle QA, or you make people pay you to handle QA.

    6. Re:Bullspit by jrumney · · Score: 1

      Or, as in the case of the GP, you pay through loss of business for making your customers do QA.

    7. Re: Bullspit by Anonymous Coward · · Score: 0

      There are ways to do it right and ways to do it wrong. I like how my organization does it actually. The DevOps are officially hired by and have their managers in the Build Management group. That group sets their work standards and they are ultimately responsible to their line manager in that organization. But they sit with the teams and work with the teams for all intents and purposes are part of those temas and they're our bridge towards the wider IT organization. They provide tremendous value in that I remember how it was when we didn't have them. There just are certain tasks that many if not most devs can't or don't want to do (I.e. if you make them do it they do it poorly). And the larger IT organization doesn't have the resources or knowledge to really help us out. It's "us vs them".

      Yes it's just a buzzword for the one or two guys that every team should have that knows a bit more of the IT operations side than most devs. But if that helps hire these guys or whatever, so be it. I've been"that guy" on many a project. I was versed enough in real IT stuff to be able to talk with the admins in their language and world of thinking. I made our software behave properly according to operational concerns where nobody else would. I love the fact that we have these kinds of people on every team now while it was hit and miss before.

    8. Re:Bullspit by lgw · · Score: 1

      Or you take professional responsibility for adequate testing. No one need "matrix monkeys" any more, and when it comes to writing automated tests, software developers can develop that software just fine. What you miss is the "this works, but it's stupid" bugs. Those are a big deal in old-school, shrinkwrap software with multi-year release cycles, but if we do something stupid we hear about it the next week and deploy the fix the following week. If we have a blatant functional bug that escapes testing, the rollback usually happens before the customers see it, thanks to sanity tests built into deployment.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    9. Re:Bullspit by Anonymous Coward · · Score: 0

      But Puppet is all the rage!!! Surely then, since so many other idiots are using it, it must be good, or?

  10. misplaced bastard child of perpetual revenue by nimbius · · Score: 2

    devops was spawned from startup culture. imho it was never intended to be something that lasted longer than a few hundred users or internal need. The needs of ops and developers, while similar in some ways, vary dramatically in others. devops is a compromise designed to foster quick, often unscaleable delivery of a service. Once larger companies caught on that you could make devs to op work, and vice versa, the trend became unstoppable. its still an insufferable title.

    As an op, i dont write the kind of code that would get into a formal repo with a standup and peer review. im writing a script to automate something that either pisses me off or takes up too much of my time. I write breakfix code too, but its not designed to upgrade or mod easily and i dont share a ton of comments or documentation because im busy handling the infrastructure. piping my one-liners and quick functions through the holy trinity of git/gerrit/jenkins for review by real developers is a demoralizing pain in the ass. it also slows down fixes and deployments by subjecting talented coders to a confusing ratsnest of code that isnt meant to become a fundamental part of how a user interacts with the brand.

    and making devs subservient to ops isnt something you should do either. scrum and kanban and swimlanes are boring 15-30 minute reminders that marketing drives the bus. We need to be part of the rollout process to make sure things, if they break, are handled appropriately. its nice to have validation the codes been tested as well, but all these things are an email or a quick chat and dont need to involve a manager.

    --
    Good people go to bed earlier.
    1. Re:misplaced bastard child of perpetual revenue by markjl · · Score: 1

      It sounds like you have many ingredients of DevOps in your experience, but none of the benefits because they seem to be a drag on your efficiency. You may be in the middle of a journey that you've yet to realize how to raise the state of the art in your own work, your team, and your software development organization.

      My definition of DevOps is: DevOps is the process of removing all friction between the developer and customer value.

      You need to treat friction as technical debt: file a bug and work on it!

      --
      My opinions are my own, but you may share them!
    2. Re:misplaced bastard child of perpetual revenue by ninjagin · · Score: 1

      My kingdom for mod points! Had I any, this comment would be my insightful!

      --
      .. pa-ra-bo-la, pa-ra-bo-la, 2 pi R, 2 pi R, where's your latus rectum, where's your latus rectum, 2 pi R
    3. Re:misplaced bastard child of perpetual revenue by Penguinisto · · Score: 1

      My definition of DevOps is: DevOps is the process of removing all friction between the developer and customer value.

      You need to treat friction as technical debt: file a bug and work on it!

      Quoted for visibility.

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
  11. This guy's focus on job titles is the issue by Anonymous Coward · · Score: 0

    This guy's focus on job titles is the issue

    Wow, it would be tough to work with this guy. His assumptions about developers is a sign of his lack of adapting to the newer smaller teams or the type of customers he only deals with. He has a strong belief in job title and domain knowledge isolation.

    His views on the job title's perspective on what is important is pretty bad. If you have departments and priorities on security, login, and scale are not matching up you have issues with the company's culture and isolation. What it sounds like is he is describing a horrible work environment and the use of devops was put into place to allow others push buttons... yep, that to me sounds like the wrong way to go about it.

    I wonder if he would be able to keep up with smaller companies with less isolation between these arbitrary job titles. Has anyone informed him the concepts of scale, security, and single sign-on are results of software engineers who have knowledge in this domain?

    He must deal with outsourced teams and a very disconnected software to infrastructure workflow. Eliminate the isolation and you may have a better operations flow.

    He talks about product teams shipping products that are not aware of security associates it to job titles and assumptions of responsibilities and knowledge domains.

    What it means is if you are trying to do DevOps to resolve the issues he is pointing out. You are still going to have the same issues.

    1. Re:This guy's focus on job titles is the issue by Bengie · · Score: 1

      He views it how it is. Most people not only don't know outside their domain, but are horrible at the one they specialize in. Heck, half of our customers that have their firewalls blocking our ability to transfer files via SFTP, ask us how to configure their firewalls to open ports because they don't know how to do it. I'm talking about network admins. Freaking networking admins asking us how to do their job. Sometimes they just give us admin access to their firewalls and tell us to figure it out.

      Another company we worked with had this nasty habit of sending us their private key every time they change their keys. It seemed like they changed their key pairs every few months because they didn't know how to keep their old one when they upgraded their servers. So they just generated a new key and had it signed. Then they'd EMAIL us their public and private key. A freaking Verisign signed private key that they use on their website.

      Another company was freaking out that we didn't encrypt our data at rest, then requested that we communicated sensitive data via FTP and legacy zip format to encrypt the payload. Not only did it have known password issues that allowed even the strongest passwords to be easily broken but they required that we used a 6 digit all lower case password and refused to listen to us about it being incredibly weak. Luckily I brought this to the attention of the VP, and we were in the process of phase out all FTP support of any kind, and he jumped in an required SFTP. Not that their SFTP site that they provided with an 8 year out of date server version that used OpenSSL was going to add much protection, and their 5 char FTPS(Not SFTP, and uses SSL) password that was a shared account and had read/write access to a slew of files.

  12. Definition of DevOps by Anonymous Coward · · Score: 0

    DevOps means "give those developers who can't write code stuff to do that that the programmers don't want to do, like maintain development systems and VMs and build machines".

    I guess DevOps is shorter.

  13. Garbage IN Garbage OPS by ealbers · · Score: 1

    Really? Lets add Special to the word Special DevOPS, there NOW I feel really important!

    I FEEL the NEEED for a CERTIFICATE! YES! A 'Special DevOPS' Certification
    Woo Hoo! Now I can really write code! Just look at my piece of paper, it says I can!!

    Idiots.
    And I'm an idiot for responding.

    1. Re:Garbage IN Garbage OPS by Anonymous Coward · · Score: 0

      DevOps is an outage(s) waiting to happen.

  14. umm by superwiz · · Score: 1

    So he is full of it. DevOps is not about ops engaging with devs. It's about making all devs part of ops. It's a model which existed in commercial banks and other places which could afford to overpay (a lot) to have people do work a few notches below the pay grade they are paid. But it's high stress and snail-pace progress. It reduces specialization which, by definition, makes experience less valuable. It puts all of the testing burden on the developers and removes testing specialists. In the most extreme cases, it flattens the most experienced developers and newly minted college interns into doing the same job. The result is that the quality of the product is always determined by what the least skilled members of the team can handle. Oh, and because everyone is resentful and knows that they are overqualified, it creates a frat-house-like environment. Everyone end up overworked and under accomplished. But because it's used in the cloud management now (an industry growing quickly so it has as much money to burn as the banks), it creates the illusion of being successful. It's not.

    The cloud started before there was dev ops. And it would continue and succeed without dev ops. It exists because all development is network development (to at least some degree) because CPUs can't be made much more powerful, they can only be networked on the chip (aka multi-core CPUs, GPU). And if there is no distinction between pooling multi-computer resources and pooling multi-core resources, then scaling is accomplished by pooling a lot of them in near-real-time batch processing (aka pipeline). Which means the state of technology makes the cloud computing model make more sense than stand-alone units computing model. The state of technology is what drives the business incentive here. And the business incentive is what creates the illusion that the fulfillment model of the business incentive is the right one. Even if it's not organization model. Poorly chosen organization model in the environment of over-funding will not fail until the market place becomes more efficient and consolidates. And at that time, all the DevOps shops will be unable to support their costs and won't understand why everyone is switching to well-engineered (through full SDLC) products. They'll be saying it's not in vogue anymore. While the reality is that DevOps is just an inefficient organizational model to develop cloud services.

    --
    Any guest worker system is indistinguishable from indentured servitude.
  15. Devops == release architect by Anonymous Coward · · Score: 0

    Whether all you ops (and it seems mostly ops posting) understand it or not, devops is a type of dev consultant. It can replace ops in the cloud, but for the most part it is about making devs lives easier. It is basically being a release engineer, but one that architects staging and production deployments. Ops have a knack for locking down things and being scared to change, devs are not meticulous and have a tendency to deploy production code that accesses their home VPN to check the time. Somewhere in between the company needs to make new revenue. Some ops do devops, lots of devs do devops. In fact some large companies have dropped SDE/SDET and just have SDEs that do dev/testing/devops. I believe that is the future. Devops is a glue for legacy teams. It is BS in most startups. Few startups have a real need to scale and everything else is early optimization. Devops helps with microservices concepts, but it can easily be just a fancy NoSQL DBA + cloud ops job if you aren't working on improving processes. You need devs being accountable, but also making devs trust their dev environment is correct and that repros happen and are visible in every environment.

    You mostly run around being some sort of six sigma consultant, preaching CI/CD and tweaking CM systems that make consistent environments. You also do scaling tests, cloud/in house provisioning, and implement instrumentation/health checks with dev. Ultimately, you enable and teach devs to become more devops themselves if they want to be more senior.

  16. DevOps is so loosely defined ... by Anonymous Coward · · Score: 0

    DevOps Manager, here. We help a several hundred developers on three continents and manage several thousand systems, covering a few dozen products. Anyhooo ...

    These guys are having a good time talking about something that, like art, is pretty wide-ranging and loosely defined. It was fun to watch and listen to, but it didn't do much more than dwell on stereotypes in software development and IT.

    Personally, I think DevOps is less focused on the hosting technologies and more focused around rapid build and deployment, along the continuous delivery model. (Think continuous integration, with a deployment step tacked onto the end (first to test, and then maybe to production).)

    There is a lot of systems stuff that comes with it, and there is both systems and software configuration management involved, but it covers the tooling that is sprinkled all the way through... from the various repositories (for artifacts & code), to the build mechanisms (custom-tooled, jenkins/hudson), to the environments for functional and maybe integration testing, on to release and maybe deployment to production.

    No two companies really have the same workflows, and agile (scrum, SAFe, Kanban, etc.) may or may not be part of the mix, and some shops like to have a lot of participation from developers, and some want more clear-cut boundaries.

    At the root, though, I think the common threads are taking code from the time it's checked in, and getting it built and tested and deployed or released as rapidly as possible, accounting for all the systems administration and vendor relationship overhead along the way.

    I should point out that neither I or my team wants to be the traffic cop or the "adult in the room" -- we hate that stuff, actually. My team just wants to do our jobs so well as to be easily forgotten, to keep things moving along and stable, to be ready for emergencies or disasters so that no time or coding effort gets lost, and to be ready to lay a clean path ahead for developers and testers to do their work in whatever direction gets decided by the architects or product people.

    We work in the belly of the battleship, between the coal and the ammunition. If we are doing our jobs correctly (and well!) we don't need to know what direction the boat is heading in, what threats are next to target, or who is at the wheel.

    I'm sure there are a couple dozen people around here who are dying to tell me how useless my team and I are, and how I'm not a real engineer or technician, because that's probably what feels good.

    1. Re:DevOps is so loosely defined ... by Anonymous Coward · · Score: 0

      One thing I noticed is when layoffs come around, the "DevOps Managers" are always the first ones let go.

    2. Re:DevOps is so loosely defined ... by tompaulco · · Score: 1

      Not in my old company. In my company, QA was the ones let go and then they made a new DevOps team to replace them. I guess this is part of the great thing about DevOps. It means something different at every single company. I guess I'll go ahead and put DevOps on my resume, since I undoubtedly have done the jobs of at least 50 or so of the different definitions.

      --
      If you are not allowed to question your government then the government has answered your question.
  17. DevOps is a culturally rendered term by markjl · · Score: 1

    There is so much misunderstanding because there is not a universal, static definition of DevOps that everyone can point to and say "that is DevOps" or "you are doing it wrong!" This is because DevOps is ultimately defined by the capacity of the people who practice it and I think we can see (already in these postings) that many people do not have the capacity to define it.

    The history of DevOps begins with the people who coined it: Patrick Debois and Andrew Clay Shafer's first discussion about Agile Engineering at a conference in 2008, which led to a Google group and then to the first community meeting as DevOpsDays Belgium in 2009. W#e can trace to the beginnings and primary source folks, so please stop demonizing and making DevOps anything more mysterious than a knowledge gap.

    For an overview with my definition of DevOps, please see my blog post with talk and slides that I presented at Silicon Valley Code Camp earlier this month:
    http://mlavi.github.io/post/de...

    --
    My opinions are my own, but you may share them!
  18. If not "devops" then what? by definehypocrisy · · Score: 1

    I have no strong opinions about the word "devops", however I think there is a role needed that doesn't get met by developers, QA, or IT. The problem is that some things don't fall squarely in anyone's lap, so everyone can play the "not my problem" game and nothing gets fixed. As a developer i've had to fix so many problems that aren't "my job" and are next to impossible to get time for. They add up to the point where it's darn near a full-time job. I'd love to hear anyone's recommendations on what job title that would be, or just how to handle this stuff better.

    Some examples:

    - Our software builds were completely manual. Everytime we wanted to ship a new version, someone would go and manually build the software, package it up by hand, and give it to QA. This led to all sorts of problems, and encouraged everyone to play the 'ping-pong game' between development and QA. I had to setup a Jenkins server and rework all of our builds. This was not that easy, because when you automate something, you lift the rug up and expose all the problems that have been swept under the rug for years.

    - IT had created VM images for QA to use, with all the software dependencies pre-installed. That was screwed up because it didn't reflect how the customer installs on new machine. Plus they never updated their VM images because it's a PITA, and devs would never tell anyone when they added a new dependency. I had to turn all our stuff into RPM's that required the correct packages instead and teach everyone to update the spec file when they added new dependencies.

    - Same story as above, but in regards to development machines. I had to create provision scripts and teach everyone to update those.

  19. Too bad to finish by Anonymous Coward · · Score: 0

    Once he dismissed younger developers as kids who needed babysitting it became mildly offensive. I'm a middle-aged developer myself and I will never dismiss anyone who has a passion. I also think his description of DevOps was incorrect. Where I work, its Operations people who can develop and automate. It merges the disciplines and is not merely some developers working with operations people. We no longer hire people who don't have both skillsets. Its basically raising the bar and saying "automation first", so operations people better learn to code.

  20. What the? by Anonymous Coward · · Score: 1

    For the smartest people I know on the Internet, I find the disparity between the comments here and reality discouraging.

    I travel the country installing automation software, training people, and doing this whole "devops" thing (gad, I hate that word). I post here for info, not cred and I post here to tell what I see from the trenches. I also post anonymously because the bit $company I do this for wouldn't like to have my (highly visible in devops cicles) name plastered around, as it affects them too. (This is the first time in my career I've had to watch my mouth in public...It's killing me) :)

    Quite awhile ago... about 10 years, I was working the Sysadmin/Eng world and enjoying it. This site was a Top-10 Webmonsters site... top 10 traffic receivers on the Internet for you guys not in the playground. In short, a bit site that provides an insanely popular service for the privilege of throwing a gazillion ads at the thundering herd. Hey, it's a living.

    I was happily minding my store of all sorts of perl, shell, and wonderful glue of all sorts (we had even written a little orchestration platform that worked pretty well) but life was good. Then they hired "that guy" over in DEV. I think it was day 2 he wanted root. Well, we didn't "do that here" and weren't going to budge just for him. Logs were aggregated and made accessible via internal browsable sites, deploys were push-button and quick (all before Hudson/Jenkins) and the DEVs could iterate to their heart's content. They had no logins anywhere, but they had tools to do everything they wanted "root" for. This guy refused to see it.

    He started yammering on about DEVOPS that long ago, but in his mind, his own little world, it just meant "give me root". As such, he had a one-track mind and whined and complained loudly to anyone who would listen. As chance would have it, our CTO was the "bee's knees" as they say and saw the writing on the wall. We were going to have to build something to shut this a-hole up. So here was the deal: "We'll give you your own environment that mirrors production. You have to care for and feed it yourself. You will have revision control to store code, push-button access to build deployment and a merge-structure that will allow you to transition target nodes from one environment to the other without friction... Your own little DEVOPS wonderland to do with as you wish. But there's a catch: You're unsupported. If you open a ticket to "fix" something, the "fix" will be restoring the snapshot of the working environment from provision time over whatever mess he had made. Since any sensible developer will commit early and often, that shouldn't be an issue. Restore, check out latest tag, re-run the process, and voila! You're moving again in minutes! (we even put the destroy & rebuild buttons on a web page via perl CGI so he could easily do it himself without the embarrassment of asking us. (not without a counter and an RRD graph to track his rebuilds, mind you). Plus, being PCI governed, he had to use Powerbroker to connect, which dutifully carted off his entire command line history to a different server for storage.

    That's the backdrop. He definition of DEVOPS given to him on a silver platter.

    Fast forward two days. TWO. DAYS. 34 rebulds and reimages later. TWO FRICKING DAYS!!! See where I'm going here? The early translation for DEVOPS was "give me root and leave me alone". Well, apparently that level of power causes you to completely restore your system from snapshots 34 times in two days. (but I digress... And THIS guy was a highly-paid, superman brought in for top dollar to train everyone else!!!)

    So, here I sat with 15 years experience at the time and I had a hunch. I did some research into what he thought he knew, and I thought this thing was going to be big. REALLY big. IT automation, data-center based company infra being farmed out to you at a fraction of your hardware costs, streamlining the pipeline between code and d

    1. Re:What the? by Anonymous Coward · · Score: 0

      "THe definition of DEVOPS given to him on a silver platter"
      If i was a dev i could live with that; what more could one ask for, control of a host.
      Just monitor their subnet for bad behavior:)

      Were I the sysadm, i could see (in my case) using the last lvm snapshot, or cloned vm, wrapped in a cgi that can do some basic housekeeping and reboot their space.
      Pointing out the issue as one between system and
      user space to define one env; now please define
      the role in the space separating dev and (sys) ops. Is it at the application level only? if i may ask:
      are you saying devops configure the servers?
      Say, rewrite rules in some httpd.conf for some virtualhost(s); but not, say, the load-balancing?

      Are they tasked with satisfying the "service interrelationships"?
      From listserv/dcc/spf/sasl) or an xmpp or whatever servers are required; but not, say, FW/DNS/DBA/ i.e. system [and] architecture (application) related ops?

      I could see how this might work well, as i've been
      both dev and ops. As a sysadmin, dealing with
      the devs (bec i can relate to them) is (usually)
        a fun-ish distraction from a list of tasks@hand;
      say, de-odorizing the sql cluster, or mirroring some dns servers, managing some wayward mailserver issue du jour...
      blah, blah...
      But it's a distraction i can usually not afford
      if i want to be thorough.

      Is that how it works, devops are the middlemen,
      an interface? Do we have to talk to them, or
      can we automate that too?

      Any dev worth their salt knows what going into,
      and staying in, production entails. They (should)
      know the relationships between their application
      and the server(s) and be familiar with what the
      server requires of the host.
      Any sysadmin of same Na-goodness (should) know
      the requirements of the application(s), and having
        shared their inputs, accomodate accordingly; and
      wait for the trouble-tix to arrive.

      I've yet to see either that dev or op feel much love from their PHB's in IT;
      prob due to the fact that they're much too salty.
      It's either the potato chips or tirelessly defending security, reliability, privacy and the (often ignored) fundamentals of basic computing and communication that make it easy to sweat.

      Let the devops do it.

  21. Partisans unite... by Anonymous Coward · · Score: 0

    DevOps: where lack of experience in process design, change management, configuration management, and capability maturity model is glorified. Where hap-hazard hack-it-'till-it-works is the order of the day, the only how, without thinking about far reaching consequences, because the only thing one knows is how to hack it up on the quick.

    Yes, DevOps, where guerilla style, Viet-Cong, ho-ruk, partisan, chaotic mode of working is the order of the day, the one and only order of the day. Where Chaos theory and entropy rule supreme. Where planning is not 60% of the work, where process design causes eyes to glaze. Where concepts like "configuration management with operating system packages" are faux pas or far worse, outright politically incorrect.

    1. Re:Partisans unite... by Anonymous Coward · · Score: 0

      Well... aren't we an idiot who has no idea what he or she is talking about... The CORE of DEVOPS is consistency, repeatability, versioning, automation, rollback... It's mostly implemented at the Operations level. From what I've seen, only the most competent of engineers succeed at it.

  22. DevOps is a movement by Anonymous Coward · · Score: 0

    DevOps is a movement not a team.
    If you create yet another silo, you just lost.