NOTE TO computerconsultantsforum.com and forums.techcareerfubar.com USERS: This is the same site. Your login will work here. Use the "forgot password" function if you need help recovering your password.

Obvious fact: You're not logged in.

Therefore, you're only seeing the tip of the iceberg of great discussion threads on this site.

Get rid of this big black message box by joining here: http://mature-it.pro/register/

Who We Are: A collection of IT, engineering and sciences professionals, in a variety of current circumstances with a variety of career backgrounds. Including System admins, Developers and programmers, Freelancers and "gig" entrepreneurs, Contract, job shopping and FTE-employed contract house IT workers, Web developers, Inventors, and artists and writers with tech backgrounds.

We're smarter than the hive mind you've experienced on large tech discussion forums and groups. So register on the board - your email is NEVER sold or provided to third parties. Then LOGIN FREQUENTLY to see new stuff daily.

Join by Registering here: http://mature-it.pro/register/

Author Topic: What is DevOps?  (Read 991 times)

I D Shukhov

  • Resigned Forum
  • Wise Sage
  • *****
  • Posts: 11621
What is DevOps?
« on: March 02, 2018, 05:48:12 pm »
It has a Wikipedia definition, but I was wondering if anyone has actually done that kind of work or is thinking about doing it.

In my last position, which is becoming a distant memory, we checked software out of a version control system named Subversion (which in today's world is probably Git) and when we checked it in everything related to the  file(s) got built with Hudson, which is now called Jenkins.

There was quite a bit of work done with automated testing also, although I didn't always have the time to keep the automated tests up to date.

I think that is an example of DevOps:  automated builds, version control and tests all bundled together in software development.

This may be enlightening:  https://virtualizationreview.com/articles/2016/07/06/3-devops-tools-you-should-start-with.aspx
« Last Edit: March 02, 2018, 06:07:21 pm by I D Shukhov »
Be Prepared.

G0ddard B0lt

  • I absolutely DESPISE improvised sulfur-charcoal-salt peter cannons made out of hollow tree branches filled with diamonds as projectiles.
  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 22672
  • Gorn Classic, user of Gornix
Re: What is DevOps?
« Reply #1 on: March 02, 2018, 07:05:38 pm »
Good topic.

You have DevOps right, I think.

When I see DevOps I think of more extreme role specialization.  10 years ago the developers themselves would select and configure the source control system. Today it's done as a separate business function.

The "problem" with that in business-speak being that the developers don't have the high-and-mighty comprehension of the entire business.

I think of "DevOps" as a separate team or business function that makes infrastructure stuff happen for developers. And presumably is wiser and less benighted than the lowly programmers. Or something like that.

I used Subversion a *lot* in the 2003-2010 time frame. Yes, Git seems to have replaced it.
Gornix is protected by the GPL. *

* Gorn Public License. Duplication by inferior sentient species prohibited.

G0ddard B0lt

  • I absolutely DESPISE improvised sulfur-charcoal-salt peter cannons made out of hollow tree branches filled with diamonds as projectiles.
  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 22672
  • Gorn Classic, user of Gornix
Re: What is DevOps?
« Reply #2 on: March 02, 2018, 07:19:41 pm »
Also, I just skimmed the Wikipedia article. There is much more to that coined term than what I thought.

Reading that article makes me think "my God, how could I possibly ever fit into a software development job again?"

The answer to that being smaller businesses and work that doesn't touch the enterprise level. Otherwise if you want to work in the big leagues you have to understand and grok this stuff. I do, but I don't want to.
Gornix is protected by the GPL. *

* Gorn Public License. Duplication by inferior sentient species prohibited.

pxsant

  • CCF Winner's Circle - Supporter
  • Wise Sage
  • *
  • Posts: 1705
Re: What is DevOps?
« Reply #3 on: March 03, 2018, 01:57:10 am »
It looks like just another spin on agile development.   I have been in agile shops and it is the most overrated methodology I have ever seen.  Rather than making development times shorter, agile makes a complete mess of the development cycle.  Many more people are involved than need to be so the cost skyrockets instead of going down.

Another aspect of agile is the daily standups.   What a complete waste of time.  Far too many meetings.   They prevent a developer from getting into a productive zone where most of the actual work gets done.

The bank I am consulting at right now has chosen the biggest project they have ever done to go agile.   And nobody has real experience in the agile methodology.   The agile output that they hand to developers will be a steaming pile of crap.    The developers will throw it in the trash and ask for actual specifications they can use.

Ultimately this project has a good chance of getting canceled because of their inability to get any actual work done.

Agile, including Devops, might work on small projects but it definitely has severe limitations.

I D Shukhov

  • Resigned Forum
  • Wise Sage
  • *****
  • Posts: 11621
Re: What is DevOps?
« Reply #4 on: March 03, 2018, 05:18:28 am »
@Gorn

I think you're right about big software engineering shops having a specialization of labor where some group is in charge of the CM, build and delivery automation.  I wonder where these people come from?  Are they ex-sysadmin types or ex-developers? 

I think developers *have* to take an interest because when I see job specs on Indeed I'm seeing having to have Git experience and such things as Puppet and Chef, which I think are used to automate deployments.   I've never worked somewhere where software was deployed all over the place.  It's probably an interesting subject.  I remember that UML has a https://en.wikipedia.org/wiki/Deployment_diagram which models how software gets deployed to where it's going to be used.   Software could get deployed to either physical or virtual computers.   Hosting companies and cloud services would be deeply concerned about this problem.

The goal of DevOps is to ferret out anything that is getting manually and repetitively done and automate it.   This is a perfect example of how automation is going to affect jobs.  Boring, tedious work will go away, along with the people who used to do it -- in this case individual programmers or sysadmins who had specialized knowledge about aspects of the SDLC crucial to the organization and it will be done by DevOps tools.  New jobs are created for those who can use the DevOps tools.

@psxant

Things never change do they?  Back in the day, long before the word "Agile" had been invented I used to go to daily "merge meetings" where you had to explain what and why you were merging into the baseline. "Breaking the build" was about the most humiliating thing a programmer could do.  Continuous integration solves that problem nicely.   It's like balancing your checking account a couple of times a week online vs. balancing it monthly.

Agile, and all it implies, tries to solve communication problems within a software shop. The hierarchical model I used to work in started with design meetings and design documents generated and then task groups would go implement their parts.  A CM group would build everything and a testing group would test it.  Then it would get deployed in the field somewhere by some other group who would report back from the field.   

Software is such a marvelous productivity and cost savings gain for organizations, compared to all that is manual, that all the things that can and do go wrong with producing it more than makes up for what it accomplishes.

I think while DevOps tries to handle improved quality of software production by automating wherever it can, Agile human interaction reengineering tries to improve the quality of communications.

Have you seen companies using message boards for asynchronous communicating instead of stand-up meetings?  Just like continuous integration, it seems like a message board would be better for continuous communicating.  You could have a forum for each group and an integration and test forum.  All these forums would be public in order to have total transparency to all throughout the organization.  The messages could link to discrepancy reports, build status, the "Log visualization and analysis" (whatever that is) mentioned in https://virtualizationreview.com/articles/2016/07/06/3-devops-tools-you-should-start-with.aspx.   I'm pretty sure open source projects do this as the work is geographically distributed.


Be Prepared.

G0ddard B0lt

  • I absolutely DESPISE improvised sulfur-charcoal-salt peter cannons made out of hollow tree branches filled with diamonds as projectiles.
  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 22672
  • Gorn Classic, user of Gornix
Re: What is DevOps?
« Reply #5 on: March 03, 2018, 06:55:22 am »
It looks like just another spin on agile development.   I have been in agile shops and it is the most overrated methodology I have ever seen.

Agile is a separate topic. I have a completely different take on what is DevOps.

If the Wikipedia article truly reflects actual reality of how DevOps is implemented:

I see DevOps as being to software development what ERP is to lines of business accounting, customer relations, and finance. DevOps is a higher level way of dealing with and managing the infrastructure of software development and creating a sort of wad of accountable activities.

The infrastructure of software development would be activities required by SW dev which aren't part of actual coding or development. Which includes methodology like Agile, testing, source control, documentation control, help desk, etc.

The analogy to ERP (we are on the same page on what ERP is, aren't we, guys?) would be like this:

Accounts payable is part of the business functions handled by ERP, along with inventory.

Source control is part of DevOps, along with documentation.

I see DevOps being part of an ant hill of software development. Many workers working on a mass cause. DevOps makes no sense for small shops like the ones I've worked with, and has no role I can see in new inventions or small, creative team projects.

If you work with companies < 100 people, you won't see DevOps, and if you do, it's someone trying to pad their resume and spend the owner's money. If you work on minimum viable products for startups you'll never, ever see DevOps, just (hopefully) decently integrated test and source control.

If you want an IT job with AT&T, P&G, or Twitter, you'd want to fully understand DevOps.

My guess, however, is that DevOps will be another thing that small shitty companies claim they are doing but which they don't even approach competently. (Like Agile.)

If too small a business talks up DevOps, they are blowing hot air and trying to be trendy. They just won't have the scale to pay someone to be a source control maven as a separate task from writing code.

DevOps is more PhB hive stuff.
Gornix is protected by the GPL. *

* Gorn Public License. Duplication by inferior sentient species prohibited.

I D Shukhov

  • Resigned Forum
  • Wise Sage
  • *****
  • Posts: 11621
Re: What is DevOps?
« Reply #6 on: March 03, 2018, 09:08:51 am »

If you work with companies < 100 people, you won't see DevOps, and if you do, it's someone trying to pad their resume and spend the owner's money. If you work on minimum viable products for startups you'll never, ever see DevOps, just (hopefully) decently integrated test and source control.
...

If too small a business talks up DevOps, they are blowing hot air and trying to be trendy. They just won't have the scale to pay someone to be a source control maven as a separate task from writing code.

It might depend more on the size and complexity of the code base rather than the number of developers.   In my last (government contract) job there was a big code base that had been repurposed for another project.  I felt that Subversion and Jenkins worked great for continuous integration and I was grateful to have the tools. There were maybe 10 active developers on the project.

I think the guy who was managing Subversion and Jenkins was part of the development group.  Some developers would do anything to get away from software maintenance.

Sun (now Oracle) has (or had) an automated deployment tool called JumpStart.  Not sure where the deployments were -- whether it was in house or in the field.  The guy who was using it was a developer (no doubt doing anything but software maintenance) and he may have been padding his resume, but work was pretty tightly managed so he would have had to have shown results that were worth his cost.

It's a different subject, but virtualization is something else that pertains to software automation. It's almost the ultimate way to automate away the costs of humans managing hardware resources.  Maybe this is why we find a discussion of DevOps on the virtualization site I've mentioned.
Be Prepared.

G0ddard B0lt

  • I absolutely DESPISE improvised sulfur-charcoal-salt peter cannons made out of hollow tree branches filled with diamonds as projectiles.
  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 22672
  • Gorn Classic, user of Gornix
General question, just wondering...
« Reply #7 on: March 03, 2018, 09:42:58 am »
It's totally fine to discuss this subject. I'm just wondering -

Not to nit pick but let me put the question this way:

Why are we talking about DevOps? I can see one main reason to discuss it in our context on this board: we can disqualify it from career consideration.

I see it as any highly specialized silo of talents and skills. Mainly crash learned skills, IT is just a meal ticket these days. It's like Agile and I agree with Pxsant to that extent - it's a potential huge money and time waster unless deployed in the correct kind of environment.

I am a "real developer" - like you - and I can't see any possible entry point to DevOps with "just" micro scale programming talents.

These silos of modern skills are sounding more and more like unapproachable priesthoods with big "no admittance" signs leading to them.
« Last Edit: March 03, 2018, 10:55:07 am by The Gorn »
Gornix is protected by the GPL. *

* Gorn Public License. Duplication by inferior sentient species prohibited.

G0ddard B0lt

  • I absolutely DESPISE improvised sulfur-charcoal-salt peter cannons made out of hollow tree branches filled with diamonds as projectiles.
  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 22672
  • Gorn Classic, user of Gornix
Re: What is DevOps?
« Reply #8 on: March 03, 2018, 11:13:03 am »
It might depend more on the size and complexity of the code base rather than the number of developers.   

IMO (and actual experience with a variety of clients) it all .... every bit of it... comes down to money.

You cite 10 developers and for me that's actually a fairly high number in my experience. Most groups I've been a part of had no more than 5 people working on any one thing as developers.

Size and complexity of the code base could be a factor, but a lot of businesses own legacy code that is well beyond their current budget to handle its technical debt.

I believe you have to hit a certain budget level and also awareness level in an organization in order for the org to justify DevOps. Which very strictly speaking is overhead. Like documentation.

I think the guy who was managing Subversion and Jenkins was part of the development group.  Some developers would do anything to get away from software maintenance.

Now that IS a really good new point. Yes, I see what you mean.

It's a different subject, but virtualization is something else that pertains to software automation. It's almost the ultimate way to automate away the costs of humans managing hardware resources.  Maybe this is why we find a discussion of DevOps on the virtualization site I've mentioned.

Now, Virtualization is something *you* can experiment and tinker with right now and learn about as much as someone currently working.

Download and install a copy of VirtualBox, the most prevalent virtual machine package. It can run well on an Intel i-class with 8 GB ram and up.

With virtualization, a key point is that an entire computer's image - the OS plus all of its current state and all installed programs and data - resides on one perhaps very large "virtual hard disk" file. An entire machine's worth of setup and current state can be saved in one massive file, stored, backed up, versioned....
Gornix is protected by the GPL. *

* Gorn Public License. Duplication by inferior sentient species prohibited.

G0ddard B0lt

  • I absolutely DESPISE improvised sulfur-charcoal-salt peter cannons made out of hollow tree branches filled with diamonds as projectiles.
  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 22672
  • Gorn Classic, user of Gornix
Maybe we will start seeing outsourced DevOps?
« Reply #9 on: March 03, 2018, 11:21:22 am »
Just a random thought.

If the entire constellation of services can be standardized, I would expect this to be a thing.

Not cheap, I'm certain of it.
Gornix is protected by the GPL. *

* Gorn Public License. Duplication by inferior sentient species prohibited.

I D Shukhov

  • Resigned Forum
  • Wise Sage
  • *****
  • Posts: 11621
Re: What is DevOps?
« Reply #10 on: March 04, 2018, 03:53:03 am »

With virtualization, a key point is that an entire computer's image - the OS plus all of its current state and all installed programs and data - resides on one perhaps very large "virtual hard disk" file. An entire machine's worth of setup and current state can be saved in one massive file, stored, backed up, versioned....

Right.  That's why I say this is the ultimate in deployment automation.  You just replace the old machine file with a new one.
Be Prepared.

I D Shukhov

  • Resigned Forum
  • Wise Sage
  • *****
  • Posts: 11621
Re: General question, just wondering...
« Reply #11 on: March 04, 2018, 05:21:10 am »
It's totally fine to discuss this subject. I'm just wondering -

Not to nit pick but let me put the question this way:

Why are we talking about DevOps? I can see one main reason to discuss it in our context on this board: we can disqualify it from career consideration.

I see it as any highly specialized silo of talents and skills. Mainly crash learned skills, IT is just a meal ticket these days. It's like Agile and I agree with Pxsant to that extent - it's a potential huge money and time waster unless deployed in the correct kind of environment.

I am a "real developer" - like you - and I can't see any possible entry point to DevOps with "just" micro scale programming talents.

These silos of modern skills are sounding more and more like unapproachable priesthoods with big "no admittance" signs leading to them.

I'm following up on pxsant's first post in the http://archive.computerconsultantsforum.com/all-consulting-biz-and-career-discussion/specific-tactics-for-landing-technical-jobs-as-a-mature/ thread where the first thing he wrote was:

Quote
Hate to disagree but I definitely do.    If you want to work into your 50's, 60' or 70's you can.   It requires a couple of things.

*  Forget programming.   Get into a skill set the 20 somethings generally ignore like project management or business analysis.

The articles https://en.wikipedia.org/wiki/DevOps    and   https://virtualizationreview.com/articles/2016/07/06/3-devops-tools-you-should-start-with.aspx  list specific business cases, skill sets and specific products in the DevOps space.   DevOps is something you can create a VirtualBox lab for.  You can create several machines to deploy software to, install continuous integration tools and all the other stuff mentioned in the "devops-tools-you-should-start-with" and create a workflow.

As a general topic of discussion, DevOps is some currently in-demand technology among many others (e.g. InfoSec) which a person could potentially learn about.  Is psxant right?  Can an older worker turn their attention to something they've never before been employed to do and get a job doing it?

But I suppose it's pointless to do an armchair analysis -- really pointless.  A person just has to pick something and do it.

Honestly, if some group of older workers -- like here -- decided to create a DevOps (or anything) study group and set up a VirtualBox learning lab I'd probably join it.
Be Prepared.

G0ddard B0lt

  • I absolutely DESPISE improvised sulfur-charcoal-salt peter cannons made out of hollow tree branches filled with diamonds as projectiles.
  • Trusted Member
  • Wise Sage
  • ******
  • Posts: 22672
  • Gorn Classic, user of Gornix
Re: General question, just wondering...
« Reply #12 on: March 04, 2018, 05:33:52 am »
Ok. That's a good explanation.

As a general topic of discussion, DevOps is some currently in-demand technology among many others (e.g. InfoSec) which a person could potentially learn about.  Is psxant right?  Can an older worker turn their attention to something they've never before been employed to do and get a job doing it?

That's one place I disagree. From what I'm reading, DevOps appears to be a management technique. As well as a stack of particular tools.

The way the support activities such as source control, testing, documentation, deployment and builds are managed is DevOps.

Yeah, the ones who work in DevOps will consider it a skill set, but as far as what I've read it's more like a methodology.

And if it's a management technique, you really can't get any credibility with self-learning (which is hard enough as it is with self learning for a strictly technical skill.) Employers will want to really know that you've actually done it on a paid career basis.

Perhaps your take is different?
Gornix is protected by the GPL. *

* Gorn Public License. Duplication by inferior sentient species prohibited.

I D Shukhov

  • Resigned Forum
  • Wise Sage
  • *****
  • Posts: 11621
Re: General question, just wondering...
« Reply #13 on: March 04, 2018, 06:29:51 am »
Ok. That's a good explanation.

As a general topic of discussion, DevOps is some currently in-demand technology among many others (e.g. InfoSec) which a person could potentially learn about.  Is psxant right?  Can an older worker turn their attention to something they've never before been employed to do and get a job doing it?

That's one place I disagree. From what I'm reading, DevOps appears to be a management technique. As well as a stack of particular tools.

The way the support activities such as source control, testing, documentation, deployment and builds are managed is DevOps.

Yeah, the ones who work in DevOps will consider it a skill set, but as far as what I've read it's more like a methodology.

And if it's a management technique, you really can't get any credibility with self-learning (which is hard enough as it is with self learning for a strictly technical skill.) Employers will want to really know that you've actually done it on a paid career basis.

Perhaps your take is different?
I think the business rationale is to automate manual operations in an IT shop and to decrease risks. 

* Continuous integration reduces build breakage risk. 
* Automated testing reduces the risk of fixing some bug or enhancing something only to screw up something else which you didn't know about.

I personally found out about and used GNU GLOBAL where I worked to automate code comprehension, which was enormously helpful for me as a software maintainer.  You can feed GLOBAL a million-line program with thousands of modules and it will hyperlink all the function calls and variables so you see what's calling what.  There are probably many more code comprehension tools which I'm not aware of.

Code comprehension is a much underappreciated need by management who dismiss the importance of software maintenance in general although studies have repeatedly shown it consumes most of the costs in the SDLC.

An important part of software engineering is to greatly decrease the costs spent on fixing and enhancing code.  It's a goal of Agile development along with discovering the right problems to solve in the first place and not prematurely optimizing anything.  You really want to decrease complexity, but ironically often the tools increase complexity.   How many incomprehensible SQL stored procedures have we seen (or.. ahem.. created!)   And Java enterprise frameworks, from what I understand, are driven by lengthy, arcane and tedious XML specifications.

Not sure where the line is drawn between management technique and improvement of software engineering.  I think both camps care about the same thing which is to make life easier and not do stuff that is hard and tedious to change and certainly to root out and automate all manual operations. That was the promise of object oriented programming.









Be Prepared.

ilconsiglliere

  • CCF Winner's Circle - Supporter
  • Wise Sage
  • *
  • Posts: 3267
Re: What is DevOps?
« Reply #14 on: March 07, 2018, 08:02:47 am »
It looks like just another spin on agile development.   I have been in agile shops and it is the most overrated methodology I have ever seen.  Rather than making development times shorter, agile makes a complete mess of the development cycle.  Many more people are involved than need to be so the cost skyrockets instead of going down.

Another aspect of agile is the daily standups.   What a complete waste of time.  Far too many meetings.   They prevent a developer from getting into a productive zone where most of the actual work gets done.

The bank I am consulting at right now has chosen the biggest project they have ever done to go agile.   And nobody has real experience in the agile methodology.   The agile output that they hand to developers will be a steaming pile of crap.    The developers will throw it in the trash and ask for actual specifications they can use.

Ultimately this project has a good chance of getting canceled because of their inability to get any actual work done.

Agile, including Devops, might work on small projects but it definitely has severe limitations.

Everything you wrote is dead on. Agile blows. We do it where I am now but I changed it to only quasi-agile. The daily standups were hated by everyone so I stopped doing it. We only have like 2 meetings per week and I let the developers decide what they want in each sprint. I work in a very highly regulated environment so I had to overlay waterfall on top of agile due to the regulatory requirements. It was tough in the beginning but we run pretty smooth now. Full blow agile though? NO THANKS. Agile is basically about micro management of the developers and everyone else.

When I did financial services Devops was a combination of development and production support. I have not seen Devops in other industries outside of financial services. Its a nightmare from what I saw. Basically the developers were expected to code and be production support monkeys simultaneously. Most didnt last long because the stress was totally out of control. Picture trying to code and at the same time they are up your butt about some production problem. You cant focus and you have people breathing down your neck all the time. This is why I stopped coding.

I have noticed that each industry has seized on their own sets of lingo and development nonsense. For example when I did financial services they were totally jacked on ITIL. I had never heard of ITIL prior to this. It definitely wasnt used in telecom or DoD. Not in the work I did anyway. And like most of these methodologies ITIL BLOWS. I have seen Six Sigma in more than a few companies but it usually doesnt filter down to far because again its one of those things that only makes sense in certain situations.