8 ms·
Ask HN: How do you define DevOps and is it dead?
I keep reading about AWS killing the DevOps profession and was wondering what were your thoughts on the matter ? Is DevOps dying as a profession ?
- randallsquared 10y agoDevOps is just the mixing of system administration and software development. My company has a single team that handles all the technical matters, from cert and domain registration to database and system administration to CSS tweaks on the website. We're a devops team. It isn't necessarily the case that each and every member of the team is conversant with all the technologies involved, but each member is ready to co-pilot and pick up those tasks if necessary. A devops engineer, similarly, is one that is conversant with many of these technologies themselves, and is competent to be at least a stand-in sysadmin, dba, developer, or whatever. I don't think devops is dying; a company with <10 technical employees probably needs almost every one to be devops; there just aren't enough people to silo some of them away. As a technical organization grows, more and more of the hires can be narrowly specialized, and should be, because devops hires are often going to be more expensive and less effective at any one narrow specialization. AWS is just one of the tools in the toolkit of a devops engineer. [edit for grammar]
- __coaxialcabal 10y agoHow would you describe the difference between an engineer with a specialization or specific expertise in "DevOps" and a "SRE"?
- TurboHaskal 10y agoNot dead at all and definitely not killed by AWS. My experience after a few interviews is that DevOps in 2017 seems to be a keyword for "can implement Jenkins Pipelines and has experience with AWS". Add "will sell free time for cheap" and you get yourself a SRE.
- __coaxialcabal 10y agoHow would you describe the difference between an engineer with a specialization or specific expertise in "DevOps" and a "SRE"?
- psyc 10y agoI hope it isn't dead, because I certainly don't want to do it. AWS doesn't manage itself.
- coolkil 10y agoI see dev-ops as a way a company has shaped its delivery process. This means a devops profession does not exist. In short it means that a developer has direct contact with an operator and tester or viceversa. Dev-ops focusses on short direct comunication which has nothing to do with technology or platform (like AWS Cloud, Azure or Google Cloud) However technology can be used to enhance the devops delivery process. Tools like Puppet, Chef, Docker/Kubernetes can have a positive effect. To give an answer to your question: no devops is not dead. It is a way to work.
- kreetx 10y agoThis is what I was going to say: is a way to work. Taken to the extreme, it's where the developers themselves deploy. The pipeline for this needs to exist though, so one might say that the profession of an operations engineer is changing from someone who gets the code and deploys into someone who sets up the pipeline and keeps it going.
- lothiraldan 10y agoFor me, DevOps is mostly about communication and efficiency. It's for me very similar to Agility and Lean movements as they try to reduce the time between the birth an idea and the moment it is available for the customers. DevOps is mostly about optimizing the interaction between Developers teams and Operations teams but the general principles can be applied across the company. I think we focus too much on the "How" or "What", while we should ask ourselves "Why", Why do we do DevOps and why do we need DevOps, it's a reflexion I tried to share in these slides: https://speakerdeck.com/lothiraldan/the-importance-of-why-in-devops-community https://speakerdeck.com/lothiraldan/the-importance-of-why-in...
- nailer 10y ago> AWS killing the DevOps profession Hell no. If you're in DevOps and use AWS, that means you need to know the AWS API.
- mrweasel 10y agoI never really understood why AWS, Azure and similar would mean that DevOps (or operations alone) would go away. Sure if you pure lambdas and S3, then yes, maybe, but that's really not sufficient for most business. Heroku style solutions could perhaps eliminate the need for operations, but that still seems pretty niche.
- problems 10y ago> Heroku style solutions could perhaps eliminate the need for operations, but that still seems pretty niche. That's sort of the direction that AWS has been aiming lately with some of their newer releases. For a variety of reasons, from security and privacy to cost analysis to performance I don't see pure ops or devops anywhere near vanishing though.
- jMyles 10y agoIt's a good time to step back and define (or re-evaluate the definition of) "DevOps." It's an interesting word for an interesting movement, but (I think sadly) it has come to mean just "Ops." "DevOps" is a teamwork style and process pattern, wherein the same people engineering the logic of a system also support each other in taking ownership over the execution of the logic and maintenance of the system. DevOps means that, instead of sending an impatient email to the "DB admin" to apply your migrations, that you invite her to become familiar with the reason the migration was needed in the first place. In turn, she extends her toolchain to empower you to apply the migration yourself. Soon, you are part of the same team and the line dividing you, stopping you from supporting each other, is gone. DevOps is good for people who like to always be learning; it can be difficult for people who like to ever more deeply specialize. One thing that seems clear to me: the rise of packaged and automated ops solutions is not a threat to DevOps; on the contrary, it makes it even easier for a "Dev" team to collaborate on and take ownership of the "Ops" of an organization.
- brown9-2 10y agoThis is exactly why job listings for "devops engineers" as a separate role from "software engineer" is such a confusing thing.
- geofft 10y agoYeah, I've seen a lot of companies have postings for the two roles. Usually that means "we don't do devops at all, but we expect our ops staff to know how to code." It's a fine job to take if you know that's what you're in for, and you're not planning on advocating for actual devops.
- jjirsa 10y agoTypically that implies there's a team JUST writing inter-department tooling platforms: someone who's dedicated to making sure "devops" doesn't block everyone.
- swsieber 10y agoI would agree to some degree... but I would think that the "devops" engineer is simply the one to spearhead unifying dev and ops - the devops architect per say.
- Clubber 10y agoFrom what I understand, DevOps is when a single person or team is responsible for developing the software; standing up , configuring and maintaining the instances it runs on. So the person or team is responsible for not only the software, but everything it takes to run successfully in a production (dev/qa/etc) environment. It stands to break the wall/barrier between development, DBA, and NetOps. It's actually empowered by cloud services which are easier to stand up / maintain than a local infrastructure. I hope it's not dead, it's super efficient. It does take a person / team who is willing to learn the nuances of network / database administration though. It's nothing new, but it's new to employ at larger organizations which typically silo development, database admin and NetOps.
- dstaheli 10y agoI like Donovan Brown's definition of DevOps: http://donovanbrown.com/post/what-is-devops http://donovanbrown.com/post/what-is-devops "DevOps is the union of people, process, and products to enable continuous delivery of value to our end users." "I am very deliberate in the terms used in this definition. I choose value over software. DevOps is not just automating a pipeline so we can quickly deliver software. Our goal is to deliver value. The term end users was also very carefully chosen. The value we produce must reach our end users. If the value only reaches the Dev and QA environments but is held up before reaching production where it can be realized by our end users, we are still failing." "It is very important to realize that DevOps is not a product. You cannot buy DevOps and install it. DevOps is not just automation or infrastructure as code. DevOps is people following a process enabled by products to deliver value to our end users."
- deleted 10y ago[deleted]
- inimino 10y ago> "DevOps is the union of people, process, and products to enable continuous delivery of value to our end users." That's not very specific, is it?
- ehosca 10y agoThe issue that I have with that definition that it suffers from abstractionitis... Just try replacing DevOps with just about any computing paradigm that entered the market in the last 5 years and hopefully you'll see what I mean. Care should be exercised to separate marketing out of product definitions. Focus on concrete, measurable improvements the product brings to the table rather than producing statements that are generally agreeable. I'm also slightly peeved by use of the phrase "delivery of value" -so broad, so sterile, its almost as if its chosen as a result of a search for the least objectionable phrase. I think it smells of intellectual laziness to use terms that we don't care to define and conveniently enough punt to the almighty end user.
- jankedeen 10y agoNot following on this. Something about value and unions and continuous delivery and process/products and other poop. Seems like someone wanted to whittle the overt jargon into incomprehensibility.
- gargravarr 10y ago"It broke, fix it!!" This is how DevOps is defined where I work (I'm on the recently formed team). 'It' is, of course, arbitrary (we're responsible for every old piece of cr*p that nobody else wants), and the 'fix' is always a band-aid slapped across it to keep it working until its undefined retirement date. Most of our work week is like this >_>
- hd4 10y agoTo me, it means the empowerment of a solo developer through (intelligent) use of modern methods, hardware and software tools to achieve that which required a team of about 10-20 in the past. In other words, the distillation of the last 50 years of computer science to get a job done faster and better.
- ap46 10y agoDevOps gets sidelined as a single skill, part of the whole. An analogy would be iPod/Music app in the iPhone from the glory days of the iPods.
- AznHisoka 10y agohttps://trends.google.com/trends/explore?q=devops https://trends.google.com/trends/explore?q=devops i think its safe to say its not dead
- deleted 10y ago[deleted]
- holmb 10y agoI have read in exactly one place that "devops is dying" -- admittedly I have not read everything or even researched the subject -- and that was in the HN article about AWS CodeStar. I thought to myself at that time that they couldn't be more wrong. Just because you lift the bar a little higher for what is automated in the tools you use now you just don't remove the need for further automation and especially integration between services. Any worry that devops is going away, regardless which standpoint you have, I think is unfounded. I might have to change my opinion in the next 5 years or so but for now I am quite confident the devops way is firmly not dying.
- dsr_ 10y agoThere is no DevOps profession. There are people who work in computers, and they specialize in various ways. People who are specialized in databases are called DBAs. Not every company needs a DBA, but many find it useful to have a few on staff, and some need many. People who are specialized in networking are called network engineers. Not every company needs one; some need many. People who are specialists in application development are often called software engineers. Most companies need one; some need many. This list of specializations goes on and on, and changes over time. "DevOps" means using the tools and methods of modern software engineering to conduct systems administration and configuration of systems and networks. In other words, it's how sysadmins now operate. Does your company need one or more operations specialists? Maybe. Maybe not. You're still going to have at least a minimum amount of work to do in that area, and the modern methods for that are called DevOps. Your business needs should drive your hiring. Is your business plan to eke out a margin between the costs of AWS and the revenue of Google Ads? Then you need someone skilled in DevOps to help you understand performance, latency, and how to scale up and down quickly to lose the least amount of money. Is your business plan to sell people subscriptions to a service which is not bursty and is reasonably predictable? You will want DevOps skills to manage the fleet of machines that will be the most cost-efficient way to provide that.
- geocar 10y ago> In other words, it's how sysadmins now operate. There are a lot of sysadmins that don't operate this way. I see a lot of them at banks. > "DevOps" means using the tools and methods of modern software engineering to conduct systems administration and configuration of systems and networks. Does it have to be limited to systems administration and network configuration? If we define "DevOps" as an approach that develops software in response to operational tasks, then we allow other kinds of operations, like handling check-in and check-out of books from a library. In this way, anyone who has ever optimized themselves away is in DevOps. I'm reminded of a very complicated program that compiled 32-bit powers of pi efficiently, which was replaced with a table of 19 integers by a clever junior developer, only to have it reverted by the senior developer in case the constant in question needed to be changed in the future. Maybe "DevOps" is simply operators who can program, but then maybe everyone should be able to program.
- d--b 10y agoDevOps is the realization that the running of a software platform is a complex task, and so: 1. Operational matters such as platform upgrade, platform failure, platform testing, and so on should be incorporated in the general design process. 2. Engineers should be onboard in the day to day monitoring of the platform. It shouldn't come as a big surprise because it is something that is well understood in other engineering disciplines, but somehow in IT, the development team can be fairly remote to actual operations. For instance, when you outsource the design / construction of an application, it doesn't usually come with running the actual thing, or even the necessary training for supporting the application.
- holydude 10y agoMany developers think that they can integrate systems but it's often the case they have no idea. DevOPS in my opinion is a person that integrates and maintains various technical + non-technical systems / parts of the company.
- gwbas1c 10y agoWhen I was involved in a "DevOps" role it became difficult because the part of the product that I spent the most time in was a complicated fat client that used the servers. The other engineers gravitated towards improving the servers. The reason why it became difficult was because on a random Saturday afternoon I'd get pulled into diagnosing a mysterious database warning. Even though I'm quite familiar with database development, when it's a system that I don't work with on a day-to-day basis; I just don't know what to do when the fire alarm goes off. In contrast, the engineers who worked on the server never got pulled into client-side fires. The problem quickly resolved itself when we fired our head of engineering.
- justinhj 10y agoAWS doesn't do everything for you and probably never will because people have different needs. What is dying is the more manual side of ops. Ops guys that aren't comfortable writing a bit of code are in danger of falling behind.
- memracom 10y agoAnd that is why there is such a proliferation of AWS services. They are designed for customers who share a certain set of needs. If you do not fit into the target set of a service then you should not use that service at all. Deciding which services on AWS to use begins by understanding the needs of your business, and then looking for good fit within the set of AWS services. Also, AWS is no longer the only game in town. For some companies, Oracle Cloud better fits their ways of working. For others, Google has better services. Or Rackspace. AWS is no magic bullet, just a very useful toolkit that can help you a lot, IFF you understand it.
- nunez 10y agoto me, devops is about unifying infrastructure "ops" and application developers. This isn't that difficult for tech startups since they are usually one in the same, but the idea becomes more pervasive at larger organizations that siloed these "two" responsibilities. Based on what I'm seeing, the movement is far from dead. There are MANY large orgs that stand to gain a lot from adopting this mindset. The biggest issue is that change is difficult for many people. By the way, there are companies that siloed their AWS ops teams. AWS alone isn't an answer.
- kennu 10y agoFrom my perspective, a devops person (in the context of AWS) is someone who, in addition to coding, knows how to monitor and configure all the AWS services. E.g. they know how to provision right amount of DynamoDB capacity for the application, setup CloudWatch alarms and so on. Every individual developer might not know all that stuff, especially if the company is just starting to migrate to the cloud. Also, specific devops people might need to be named as responsible for responding to alarms.
- azurelogic 10y agoAs a "DevOps Engineer" at a growing AWS-focused consultancy, I can say that DevOps is not dead, and AWS is not killing it. AWS is our toolbox. We use it to design, build, and deploy powerful, cost effective, and scalable solutions to our clients' problems. I know that sounds like a line of marketing BS, but that's our real focus. Along the way, we'll automate everything that makes sense in the process, especially deployment and scaling. So, maybe our definition of DevOps wider or more holistic than how most of the industry defines it. Either way, AWS is not automatic, and automating/orchestrating ALL of its parts still requires some human smarts.
- polotics 10y ago"DevOps" is a hype-word now, so yes in some places it is dead. The need to get flexibility and share skills remains.
- mr_tristan 10y agoDevOps to me was always just "software development for operations". Sysadmins always did some form of it, but in some cases you want someone just focused on a larger software solution and not really chasing down the latest request. Not sure how AWS is necessarily killing anything, since the wheels of automation roll forward. Instead of "deploy this app" and "migrate this schema" we have "setup my continuous delivery environment".
- geofft 10y agoFirst, "the DevOps profession" is one of two major uses of the term "DevOps," and, in my opinion, an erroneous one. But words are defined by how they're used, so we have to deal with this. You can see "DevOps" as a mindset, that developers should understand how to operationalize their code and ops staff should understand how to write and debug the code they're maintaining. That is the original idea: there used to be a lot of resistance to the idea that devs should care about deployment or that ops folks should be expected to program. You can also see "DevOps" as a role, meaning sysadmins who know how to code. That's largely becoming less of a role, I hope, due to some combination of all sysadmins being expected to code (except in non-best-practices environments like large banks or small startups with opinionated people), and "DevOps" in the previous sense becoming more successful. AWS is certainly part of it, because it makes it more possible for someone with a developer skillset to deploy a working app, but devs have been pinch-hitting as ops for decades and it hasn't killed the ops profession. That said, knowing software engineering doesn't imply a knowledge of AWS, and it certainly doesn't imply a knowledge of how to evaluate tradeoffs in AWS - should you make the code more complex to span AZs? Should you deploy cool software on EC2 boxes or use AWS's managed infrastructure? Should you store certain data in S3 or in a normal filesystem? If it's in S3, should you make it directly accessible or proxy it through your app? etc. That will continue to be a skillset, and there will always be times when "install normal software in EC2" will be the right answer and therefore necessitate the entire old-school ops skillset. And for many industries, there will also be times when "actually, don't put this in the cloud" is the right answer, too. So from that perspective, I would certainly not say that AWS is killing the ops profession, whether you call it "ops" or "DevOps". Of course your ability to properly terminate a SCSI bus is no longer of much value, but that's true whether or not AWS is around.
- CrLf 10y agoDevops was never a profession. But I think it's dead anyway. The problem devops intended to solve was the lack of proper communication and mutual understanding between developers and systems administrators. It has failed to solve this problem and, by the current definition, is getting farther and farther away from doing so. Two main reasons contribute to this conclusion: 1. For startups, trying to make due with the least number of people possible, the term has been taken to mean you need no systems administrators whatsoever. This is no different than startups have always done - have developers do everything - but now it's disguised as a good practice. 2. Developers and system administrators have different goals. These need not be opposing, but having people wearing two hats means sacrificing one goal for the other. Usually, reliability and long term maintainability suffers as developers (as a profession) are much more vulnerable to hype. Where startups are concerned, this may be irrelevant, as most go bust before this becomes a (culture) problem. But for established organizations, this can lead to disaster. Every organization needs people that care about staying ahead of the curve and people that care about keeping the service at its highest levels of reliability (=quality). Both kinds of people must participate in the process from the start, as peers, and keep each other in check. This is (should be) devops. PS: In the corporate scene devops is also dead, but because it now means "systems administrator" with no change in mentality, just to be cool.
- SqueeziePig 10y agoTo me, DevOps is quickly configuring a Google Compute Engine instance with Python/Go app using (PubSub or RabbitMQ) to communicate Firebase for iOS application messages, with a DigitalOcean.com and AWS instances. DigitalOcean will often be used for Postfix Email, which requires DNS (SPF configuration and filtering). These are usually quick configurations outside the main development, to quickly test a new concept, or maybe to troubleshoot an issue. You're using Python Pandas, TensorFlow, scikit-learn.org to model/prove verify the issue. I would say the traditional DevOps (if there was one), has expanded... you've added System Admin, DBA, Developer and a Machine Learning to your toolkit. Of course, we all have smartphones, so we leverage that too...
- Lazare 10y agoDev = write code Ops = run servers DevOps = write code and run servers > I keep reading about AWS killing the DevOps profession The articles I read are actually about AWS killing ops in favour of more devops, because apparently AWS makes ops so easy your devs can do it during their lunch breaks. The technical term for this idea is "nonsense". > Is DevOps dying as a profession ? No, but it isn't much of a profession. Large complicated systems will need both teams of devs and ops. Simple ones can work fine with overlap. Good tools can (very slightly) decrease the need for ops and increase the need for devops I suppose. A better question might be: "Is devops dying as a buzzword?" To which I can only reply "I hope so, because it confuses more than it enlightens."
- zer00eyz 10y ago> The articles I read are actually about AWS killing ops in favour of more devops, because apparently AWS makes ops so easy your devs can do it during their lunch breaks. Nonsense is an understatement... We, as technologists spent YEARS getting ourselves into some sort of sane silo's because the tools in each area were becoming more complex. Operations, Database, Backend, Front end, and arguably now mobile as different roles. In many places that meant building walls and silo's that were hard to bypass (for good reason) but it made getting problems fixed exceedingly difficult, especially where the rubber met the road (code running on servers). The desire to have open communications isn't the desire to eliminate jobs or roles, but a desire to make actually solving the problems of running an application, doing good engineering easier. This was the intent of Dev-ops collaboration, and doing it out in the open as partners! The problem is that business have taken this and run with it as a reason to curtail resources. Lets take another example that hacker news likes to talk about, Agile. I can't tell you how many agile coaches advocate for everyone on an engineering team being able to accomplish ever role. Not only is this naive but is potentially a source for pain further down the road. I had to think about why Agile coaches were advocating this, and the conclusion that I came to was that "business" likes it. Dev-Ops is now code for "full stack", now code for "we expect you to do everything"... It doesn't scale and further down the road creates far more problems than it solves.
- maxxxxx 10y agoI would love to have devops in my company. We either have to deal with IT who lacks even the most basic understanding of what developers need or the developers have to set up tools on the side which leads to badly run systems because nobody has time. It would be great to have a few people who can focus on setting up systems and keeping them running. It makes no difference if this on AWS or somewhere else. Integrating different tools requires a lot of skills.
- ingmarheinrich 10y ago"Devops get stuff to run, Ops keeps stuff running". Following this definition, we'll always need Devops. When using AWS, there's no need for the old school "Ops", however, having SRE is a good thing. AWS + Devops + SRE = Profit.
- tapoxi 10y agoI don't get why "ops" needs to be a separate group from "devops". Surely if ops is running the environment, they know best about how to tweak it?
- conradfr 10y agoMy not very technical CTO told me that "all developers will be devops in the near future", so I guess it's dead.
- deleted 10y ago[deleted]
- memracom 10y agoTo me DevOps means a shift of the traditional responsibilities of System Administrators to Software Engineers. Either Software Engineers take on all those responsibilities replacing Sysadmins or Sysadmins become programmers in order to be able to design and implement software which does what they used to do. The point is that the Designer of the Software, now has full responsibility right through deployment and continuing while the software operates in production. This means that you can no longer fob off these responsibilities on other people and say that you are "just" a full-stack developer. It means that you must understand how your code makes use of computer hardware and virtualization systems, and design something that can reliably and smoothly be deployed into production (changes) and operated ongoing (monitoring, health boosts, etc). AWS is just one of the ways in which code can be used to provision hardware and deploy code. Google has a role called SRE which is really the heart of DevOps. They HAVE TO do this due to scale, but even smaller organizations should learn from Google SRE best practices because this is the future of ALL computing. In fact, it is already at the point where software engineers who have never handled hardware (IOT, Raspberry Pi, Micro:Bit) are obsolete even if you are just graduating from college in June. Multicore CPUs with multiple cache levels, shared RAM, control over which cores are active and how fast they run. GPUs. The Von Neuman model of a computer is long past. Today there is a new definition of computer. It is a network of processing units, storage units, and communication links which can be made to work together to do useful work. Note that this definition includes a single 4-core Intel i7 chip, and all of AWS. Distributed computing is no longer something that happens between your computers, it also happens inside them.
- PretzelFisch 10y agoI thought devops was sysadmins that wrote code to maintain and monitor servers. As well as deploy product "packages" to the test/production environments. Therefore it's death is from cloud providers like AWS build tools into their cloud offering that make this need disappear. Maybe this is just from working with SAS 70 compliant companies where there needs to be a clear divide between product development and operations?