Live data from Hacker News

DevOps didn’t exist when I started as a developer

circleci.com

141–150 of 176 posts

Re: DevOps didn’t exist when I started as a developer

#142
post #43

Earlier quoted context omitted.

How is Devops "blue collar work"? Provisioning servers, databases, load balancers, etc and other resources use to involve someone driving down to the colo and installing hardware. Often now, it's a yaml file you run through Cloud Formation. Devops is just as much development and software engineering when you are working in a cloud environment -- it's an API call.

That's exactly the reason. Software engineering is about writing code, devops is about writing yaml files and keying into functionality that was implemented by software engineers.

> Software engineering is about writing code, devops is about writing yaml files and keying into functionality that was implemented by software engineers.

Creating these strict barriers between teams, especially with the condescension you elicit is exactly how problems arise.

Suppose software engineers write an O(N^2) algorithm because they didn't think the data would grow large. It does. DevOps then launches many more dozens of computers to handle the algorithm. If no one speaks to eachother, everyone thinks things are going smoothly when in reality it's a complete disaster. The DevOps team has much more visibility into the usage, performance, and cost of apps than many developers. Talk to your breathen wisely.

Re: DevOps didn’t exist when I started as a developer

#143

This article was frustrating to me. When it started out in the mid-90s (which is when I started my career also), I thought our experiences would be more aligned. However, I've never worked with an operations team. In all the places I've worked I've been expected to do everything from setting up servers (originally physical servers, later cloud servers), hardening them, installing software, optimizing the software, in…

My background is more like yours. For me it’s likely a difference in size and type of companies worked for.

> I was hoping that the article would explain what devops really means today and how I can jump on the devops wagon to hopefully make my job of doing all of the above easier.

1. Use AWS Fargate for all of your backend services. Keep the architecture simple enough that complicated service discovery issues etc don’t come up. If you need coordination between services, do it through Redis or similar.

2. Use RDS unless you really need to save money or use unavailable extensions.

3. Use terraform for initially provisioning the above

4. Set up CI/CD such that merges to master automatically update your services. (I like CircleCI’s aws-ecr and aws-ecs orbs for this.)

Pretty simple recipe, but it means no setting up servers, no hardening servers, no installing or optimizing software (other than by adding it to the Dockerfile), no installing or optimizing the database.

This recommendation reflects what modern devops means to me; opinions differ. To me it means:

- Infrastructure as code (terraform rather than clicking buttons in the AWS console then later forgetting which buttons you clicked)

- Immutable infrastructure (aka cattle not pets). Never SSHing into a server again.

- Automated testing and deployment cleanly integrated with existing dev workflow

Obviously there’s a scale at which you have to do something more complex, but I’d say that’s the scale at which you previously would have had an operations team.

Getting rid of the “writing server side code” and “writing front end code” parts is beyond the scope of devops, but you can skip a lot of the “writing server side code” part by using PostgREST. In exchange you may have to write an even-more-untold number of SQL queries, depending on your current practices.

Edit: Someone helpfully pointed out that I forgot to mention anything about logging or monitoring, which is a pretty glaring omission. On that front I strongly recommend Honeycomb. To set it up with Fargate you may need to run it in a sidecar container, but it’s fairly straightforward.

Re: DevOps didn’t exist when I started as a developer

#144

DevOps absolutely existed when the author started as a developer. It was just called systems administration back then. There's been a focus on developer-specific systems administration over the past decade, and a particular developer-focused role has been carved out and labeled "DevOps", but make no mistake: it is systems administration. Just a niche within it. When I mention "systems administration" to younger cowor…

I know that "DevOps" is one of those terms that can mean whatever the user wants it to mean (like "agile" and "REST" and so on), but at least with DevOps, I've mostly only seen 2 types of common definitions: 1) "DevOps teams" are just rebranded operations teams 2) "DevOps teams" are teams that are responsible for both development and operations for their app I think the first one is the one you're frustrated with, an…

I always understood DevOps as a methodology, not a job title. Apparently, a lot of people think it's wrong to look at it the way I do.

Re: DevOps didn’t exist when I started as a developer

#145

This article was frustrating to me. When it started out in the mid-90s (which is when I started my career also), I thought our experiences would be more aligned. However, I've never worked with an operations team. In all the places I've worked I've been expected to do everything from setting up servers (originally physical servers, later cloud servers), hardening them, installing software, optimizing the software, in…

The article is lost on me too. ~15 years professional experience as a software developer and I never had to deal with an "Operations" team. My understanding is that it's the people that would be doing Amazon's job if you were trying to not use AWS or some other cloud service? "Devops" means not fighting with those people??? haha

[deleted]

Re: DevOps didn’t exist when I started as a developer

#146

This article was frustrating to me. When it started out in the mid-90s (which is when I started my career also), I thought our experiences would be more aligned. However, I've never worked with an operations team. In all the places I've worked I've been expected to do everything from setting up servers (originally physical servers, later cloud servers), hardening them, installing software, optimizing the software, in…

> make my job of doing all of the above easier. That’s the dream… the reality in my experience is that you have to describe, in detail, the exact steps that you would perform if you were doing it yourself so that somebody else can perform them, verbatim. But you have to describe those steps, exactly, without any access to the target platform where they’ll be performed.

Does it get any better?

I feel like I'm on thin ice whenever I deploy. Granted, I now try to make sure the SAs have to do as little as possible (because now I "understand" the infrastructure, I can build a postinstall that handles all the environment configuration I am allowed under an FID), it still feels nerve wracking to know that a single fuck up means I have to spend another 4-5 hours trying to get tickets to deploy.

Fuck this.

Re: DevOps didn’t exist when I started as a developer

#147
cant believe so many people still get it wrong.

devops means Developer/Operations.

means, the sysadmin/sysops/ops guy now has to know things about development to center his daily-doing around code (ideally the code dictates what is going on [Infrastructure as Code]).

a very simple example to this: back then the ops guy or sysadmin did everything by hand. today, he uses code to get things done. bash vs. a HTTP JSON API. manually by hand vs. ansible [markup language yaml], etc.

so many people just dont know or understand what devops means. but it is so easy.

it is the fusion of development and operations.

thus, while you need two people back then, now you only need one person to do the same job.

a devops is a sysadmin who ideally knows how to code.

a devops is a developer who evolved into a sysadmin or is doing both because he learned it.

devops is development/operations.

it has nothing to do with agile, waterfall or a "mindset".

Re: DevOps didn’t exist when I started as a developer

#148

Earlier quoted context omitted.

Dude, the yaml files I'm writing require good knowledge of the system they are configuring. i deploy all our cloud instances using Ansible (yml files) and I wouldn't have a hope of doing that if I didn't understand the OS I'm configuring with it (Linux). I might see your point if you're talking about the yml that is used to configure 'value added' products from cloud vendors, but I avoid those like the expensive hand…

So what do you use to configure your actual resources - like creating your network infrastructure, load balancers, VMs, dns entries, etc.

I use ansible to provision Centos 7 instances, and then I use another playbook to install and configure stuff on them like haproxy, bind 9, etc...

This leaves me in complete control and keeps prices low because I only ever use vanilla instances.

I'm not on Amazon right now, but when I was I used to use ansible to configure networking on it and security groups etc, but I would always try to keep the vendor specific stuff to a minimum.

Re: DevOps didn’t exist when I started as a developer

#149

Earlier quoted context omitted.

I once worked at a place full of Agile cultists, including a bunch of "certified" "coaches." They spent about 1/4th of the time in planning meetings, retros, grooming sessions, sending emails about updating percentage complete on jira tickets, etc. They made some of the dumbest technical decisions I have ever seen, were perpetually rewriting things, changing core APIs, breaking other parts of the system. The stuff ba…

Seems to me that place would have been dysfunctional with or without their dysfunctional form of ”agile”.

You are correct. The Agile-esque nature of the place was just added icing on the cake, so to speak.

Re: DevOps didn’t exist when I started as a developer

#150
post #57
post #43

Earlier quoted context omitted.

That's exactly the reason. Software engineering is about writing code, devops is about writing yaml files and keying into functionality that was implemented by software engineers.

> Software engineering is about writing code, devops is about writing yaml files and keying into functionality that was implemented by software engineers. This attitude is the ultimate reason for dysfunctional development teams and the source of the barrier between operations and development. It’s also toxic.

It is also true.
Post reply on HN