Time To Move on from DevOps and Continuous Delivery, Says Google Advocate (zdnet.com) 116
A reader shares a report: Continuous improvement and continuous delivery (CI/CD) and DevOps may be on many peoples' minds these days, but there's nothing particularly new about the concept -- software shops should have put these concepts into action years ago. Instead, technology leaders should be now worrying about the futures of their businesses. That's the view of Kelsey Hightower, staff developer advocate at Google Cloud Platform, who says too many IT leaders are debating how to manage IT operations and workflows, when their businesses are being hit with unprecedented disruption. "CI/CD is a done deal -- like 10 years ago it was a done deal," he said in a recent podcast with CTO Advisor's Keith Townsend. "There is nothing to figure out in that domain. A lot of people talk about DevOps, and there may be some culture changes, in number of people who can do it or are allowed to do it. For me, that is the table stakes. CI/CD, DevOps; we have to say, listen, figure it out, or go work with another team outside this company to figure it out."
heads were removed from anuses (Score:5, Insightful)
So somewhere along the way people figured out again that quality of software is more important than the speed in which new features are pushed out the door.
I guess the cranio-rectal inversion over devops crap is finally coming to an end.
Next will be when everyone moves their stuff to an "internal" cloud. Just like when people moved off of timeshare mainframes to computers on premise.
Re: (Score:3, Funny)
Next will be when everyone moves their stuff to an "internal" cloud. Just like when people moved off of timeshare mainframes to computers on premise.
Nah - caching/boost server on premises. So you can have a thin cloud server to go with your thin clients.
Re: (Score:2)
You giggle but this is actually a theme in corporate America. Typically it's the legacy VMware team that rebrands itself as the internal cloud, but I've also seen an attempt or two to build out a new virtualized stack on top of Xen or the like. It's even kind of real for teams that virtualize at the container level.
I'm just happy to not have to pay for this stuff myself. It seems most companies are currently losing their shirt on
Re: (Score:2)
Re:heads were removed from anuses (Score:5, Insightful)
Re: (Score:1)
Re: (Score:2)
I work in automotive embedded and I can't wait to get our CI server up and running. I think a lot of people forget what the 'good ole days' were like.
We'll have people working on their own branches and then on Friday merges we have the whole thing fall apart. Meaning people don't have binaries to test until at least Saturday. Then the whole process starts over. ClearCase being a cluster doesn't help.
Re: (Score:3)
Of course with CI, you can still have this phenomon. This is about midnset and developer strategy, You can still have developers sitting on their private branches and at the last minute end of conflicting with each other. Of course a sane process says they get to sit that week out, but in all likelihodd, one of those has some change that simply "can't wait" even a week, so the whole train gets held up despite the sane thing of punting that developer work for a week,,
Re: (Score:3)
Absolutely. But the "CI" part helps to automate it. Our builds are in the ~50 minute range. Individual developers build on their own machines. There's no 'safe' build machine. At least with a CI setup they get immediate "You broke it dumbass" feedback.
Re: (Score:3)
I guess I've been blessed in that I've never worked in a team that wasn't naturally continuously building and testing their changes. I couldn't imagine being more than a few minutes of being able to see the result of my work. So for me, CI comes into novel play only when merge requests happen that start exposing subtle conflicts between privately worked branches of work.
I suppose I could imagine someone spending a long time without even building and testing, but on the other hand I can't imagine that will
Re: (Score:3)
CI isn't such a bad thing, but CD tends to mean 'to production' for a lot of folks.
Also, while CI isn't in and of itself a bad thing, it does encourage a lot of organizations to skimp on vluable QA, made overconfident by misleading phrases like '100% test coverage' and deciding that means they automated the need for QA.
Also, by the same mistaken thought, they don't need maintenance branches anymore because the first release was necessarily bug free because those unit tests passed, so no need to think about
Re: (Score:3)
Re: (Score:2)
100% test coverage is easy, with unit tests. Which are close to meaningless.
Interesting is 100% code coverage with acceptance tests/ui driven tests/integration tests.
Re: (Score:2)
Still meaningless.
You can have 100% without testing the combo of foo and bar. WHich could break everything. Code coverage numbers just give a false sense of security.
Re: (Score:2)
Depends what you conclude from them :)
100% coverage is certainly better than 50%.
Coverage is important for future refactorings, less for the quality of your actual tests. I'm not a big fan of code reviews, but tests I always review or insist that they get reviewed.
For Java there are byte code moephing tools that that exchange all test operations by its counterpart. If your tests are 'somewhat good' all should fail after morphing.
Re: (Score:2)
No it isn't. 100% means every line is run once. That 50% case may only run part of the code base, but it may cover a subsystem completely with all combo of options. I'll take the second over the first. Which is why code coverage numbers are worthless. We have no idea which of those two situations it is based on the numbers.
Re: (Score:2)
I don't understand what you mean with your 100%
How can a line of code be run only once without covering all options that lead to running it?
Re: (Score:2)
Because the 100% measures lines independently. It doesn't mean that combinations of branch statements/loop iterations are tested. Without which, you claim to be testing 100% but are really testing some unknown but much lower percentage of actual code paths. Just running each line once has 0 actual value, it doesn't mean the code is well tested. I would rather have a suite that actually tests some subset of the code exhaustively than a suite that runs each line once and claims that everything is perfectl
Re: (Score:2)
You make no sense, sorry.
If you have 100% code coverage, you have 100% coverage of all "if's" "else's" and "loops", too.
Or how do you think I magically test a line in the middle of an if block without testing the line with the "if"?
I would rather have a suite that actually tests some subset of the code exhaustively than a suite that runs each line once and claims that everything is perfectly tested.
What is the point of testing the same line of code multiple times with different tests? Unless: it is an "if"
Re: (Score:2)
You're either not trying, or you're a really bad programmer. Let's try this:
What if Feature A and B are incompatible. Turning on B and A at the same time breaks the entire app. The fact we can try to enable both at the same time is a bug.
You can have 100% code coverage without ever testing what happens if x and y are both true, by testing x=true y=false and x=false y=true. You would then test each line, and say you had 100% coverage. But you would
Re: (Score:2)
I would say, you are super bad in explaining.
No, I don't get it.
The above code you test with
x,y = false, false
x,y = true, false
x,y = false, true
x,y = false, false
What is wrong with that?
Re: (Score:2)
Re: (Score:3)
"CI isn't such a bad thing, but CD tends to mean 'to production' for a lot of folks."
That's because it's either "to production" or it is not CD at all.
Of course, "to production" may mean different things to different people. For a VAR/COTS mill it means, "that's what we are going to sell to our next customer", for an internal team, it will mean "deployed and tested to our production servers" but, still, "delivery" means "delivery"; if it's not delivered, then it can't be D, continuous or otherwise.
"Also, w
Re: (Score:3)
The curse of all of this is that good teams have always naturally done things that lead to good product, and then some folks comes along to try to 'distill' out the magic of those successes into useless aphorisms and make a consultancy industry out of it. Complicated by ditching the unprofitable pieces (for example the agile manifesto among other things stressed communication rather than processes and tools, but an Agile consultant will ditch that and focus on tools and processes because they can make mone
Re: (Score:2)
"The curse of all of this is that good teams have always naturally done things that lead to good product, and then some folks comes along"
Not "some folks", but "some folks with authority", aka "management". Of course, everybody can impact a project/service/product/whatever but, of course too, the higher the individual in the corporate ladder, the higher his impact on the results. And it's my opinion that if the average level ot IT people is lame, the higher you climb the corporate ladder the more unfit fo
Re: (Score:1)
CI means continuous integration, not improvement.
It is automated build and automated test of a piece of software as soon as the source code repository changes.
In other words: it is an QA measure,
CD means that software is either promoted in form of binaries into a staging repository or deployment on test servers.
A better way to ensure software quality we don't have right now.
If your CI/CD does not deliver perfect quality software, then either your developers suck and write bad tests, or the integration tests
Re: (Score:2)
Re: (Score:2)
What the hell is integration? It is so 1990s buzzword but I do not know what it means. It sounds like an excute to only buy from Microsoft or something as it works together if I recall PHBs using integration constantly.
QA is going away thanks to Agile development. That is why Microsoft has no QA at all whatsoever with Windows 10. With Agile/Scrum the developers and users do the QA with happy faces/sad etc.
Re: (Score:2)
QA is going away thanks to Agile development
This is kind of an oxymoron. QA, especially automated testing is the corner store of agile methods.
With Agile/Scrum the developers and users do the QA with happy faces/sad etc.
What is that supposed to mean?
Re: (Score:1)
Re: (Score:2)
Nope, turns out this person is arguing for software quality. They think CI/CD is settled in the sense that it isn't going away, stop trying to change it, move on to other things like the latest buzz words. I believe CI/CD is what has made software shit these days. Companies start by promising x number of features, and rush it out the door after x-y>0 features are partially done, then CI/CD with users as their beta testers. You no longer have a finished version and solid piece of software, and no way to stick with a particular version, which is especially true on the walled garden of iOS. Gone are the days of a solid product coming out that stands on its own for years without the need for anything but occasional security updates.
Funny I thought CIO's were about labeling IT as a cost center with a focus on saving. Or better yet being eliminated by having ther HR or finance department run IT who get bonuses by outsourcing to the cheapest country as possible and using 10 year old software and never updating as that is out of the contract with TATA.
Call my cynical and perhaps this has changed from last decade and the last recession but that is how I remember it.
Re: (Score:2, Insightful)
It was a thing, pre-internet.
Re: (Score:2)
It was? I started out in an old-fashioned IBM S/370 shop, and I remember the steady stream of PTFs and PUTs the system programmers would get...
Re: (Score:3)
Of course the change now is that the standard was to have PTF type updates that would fix problems without changing functionality.
Now developers aren't forced to do that because they are too cool for that, and roll out fixes alongside functional changes that also aren't baked yet and bring new problems, so you don't get to stop and say "hey, you *almost* got it right here, I'll just take fixes from this version, thanks"
In this era of using software remotely, you can't even choose to ignore updates and stick
Re: (Score:2)
Just like when people moved off of timeshare mainframes to computers on premise.
Good God, have you not been in this industry long? This kind of tick tock is literally the name of the game. Be ready in sixty years when everyone touts whatever they call cloud in 2080.
Re: (Score:2)
In general, the reality is that the biggest losers are the ones *obsessed* with appearing to conform to .
Recently the great corporate overlords came to make my team "go Agile" to improve our productivity. Of course we already were 'Agile', but the company brought in 'certified Agile' consultants to retrain project managers, and frankly for somewhat plausible cause since there are some really crappy teams that no one wants to admit just aren't qualified and would rather a process magically fix those teams.P
Re: (Score:2)
Re: (Score:2)
Next will be when everyone moves their stuff to an "internal" cloud. Just like when people moved off of timeshare mainframes to computers on premise.
Actually this already happened. A few weeks ago our salesman happily reported that a customer would be storing data in their 'private cloud'. I've seen that private cloud; it happens to be on-site at the customer premises. It looked a lot like a server rack to me...
Re: (Score:2)
"I've seen that private cloud; it happens to be on-site at the customer premises. It looked a lot like a server rack to me..."
Do you think a public cloud looks much different than a server rack, only on other's datacenter?
Re: (Score:2)
No, but why would you call a server rack a "private cloud"? What weird, pretentious nonsense is that?
Re: (Score:2)
"No, but why would you call a server rack a "private cloud"? What weird, pretentious nonsense is that?"
The pretentiousness, if any, is not in the "private" part, but in the "cloud" one.
I've been in the "cloud thingie" basically from the beginning and I've seen how the term has derived from something quite significant to the vague term it quite quickly became but then, if it allows for self servicing on demand of IT resources (mainly infrastructure, but everything above can also work), then I certainly call
Re: (Score:2)
So somewhere along the way people figured out again that quality of software is more important than the speed in which new features are pushed out the door.
The company I work for seems to be in its death throes with a person leaving the company every week. They have just now started to get a clue that low software quality has a relationship to losing your customer base and escalated support issues and consequently your reputation as a software vendor. The thing that I see neglected the most in software companies is subject matter domain knowledge. If you don't know what your software needs to do, you can't communicate that to the people that build it and th
Uh Huh (Score:1)
I have yet to see to a CI/CD shop actually implement this in such a way that people can safely commit away.
I'm sure life is easier when you don't actually have customers that care about state or you just shit on your customers continuously. Google wins on both counts here!
But the testing goat said... (Score:1)
I just started reading "Test-Driven Development with Python: Obey the Testing Goat: Using Django, Selenium, and JavaScript" [amazon.com] by Harry J.W. Percival. Now CI/CD is obsolete.
Re:The future is NoOps (Score:5, Insightful)
With Amazon Lambda and other microservices, you just need HR to hand out IAM accounts, and a company really doesn't need an IT staff whatsoever. Just some CI/CD mechanism to get pushes in production, and that is basically it.
Ops is dead. Who needs to rack and stack physical servers when the cloud takes care of that, and far cheaper. Who needs OS guys, app guys, net admins, and DBAs when serverless services replace all this?
Lets be real... the future is NoOps. Pay your Amazon bill, and they take care of your IT infrastructure.
The cloud is NOT cheaper. Amazon is expensive. And you never know how much you're going to pay.
Even hosting a simple static website is a nightmare. They have about different 40 products for simple domain name management alone.
Re: (Score:2)
Even hosting a simple static website is a nightmare.
Put it on S3, you're done. Use whatever registrar you want. If you need help figuring out how to point your DNS to S3, then there are forums and stuff. Ask on Stackoverflow.
Re:The future is NoOps (Score:4, Informative)
Ha!
Here's the "simple calculator" that doesn't even cover all of the services:
http://calculator.s3.amazonaws... [amazonaws.com]
Put it on S3? S3 is storage! You need it to be on EC2. Possibly behind Beanstalk. Oh, you want to actually make use of the fancy cloud features for internet-accessible shit? You'll need Route 53, too, and the Elastic Load Balancer.
https://aws.amazon.com/s3/pric... [amazon.com]
https://aws.amazon.com/ec2/pri... [amazon.com]
https://aws.amazon.com/route53... [amazon.com]
https://aws.amazon.com/elastic... [amazon.com]
Beanstalk is free, though!
Take a look at this fucking list. https://i.imgur.com/nBasljK.pn... [imgur.com]
Re: (Score:2)
For the most part, you shouldn't be using the fancy cloud features. Keep it simple. The only way to have a reasonable system is to keep it utterly as simple as possible. Anything that ties you into Amazon proprietary products should be ignored, although Amazon will try to convince you to pay for them. Anything too fancy will come back and bit
Re: (Score:2)
Look what you can get for that kind of money (granted, this was a bit more expensive back then, but amazon is still the same price): https://www.hetzner.com/dedica... [hetzner.com]
Now, it would've been cheaper, yes, if my boss fired me, his system admin, and managed
Re: (Score:2)
The cloud is NOT cheaper. Amazon is expensive. And you never know how much you're going to pay.
When did Slashdot become full of people that talk in absolutes like this, and then get moderated insightful? It barely warrants a response, but I don't want to say that without any context.
Cloud is definitely not the answer for everyone, and AWS isn't always the right answer even when cloud is. It completely depends on your situation. Stop being so narrow minded and understand that your way isn't the right way for everyone in every situation.
As for the cost of AWS in particular, they absolutely nickel and d
Re: (Score:2)
Mathematically it doesn't make sense how Amazon can be cheaper. So they host it instead of you. But now you have to pay Amazon and all their developers, middleman, taxes, and the same costs you paid when the servers were in your MDF.
The only logical reason why this is taking off is Wall Street is penny wise and dollar dumb and stupid as they only count revenue in quarters. So you have one fixed cost but no spikes which make the share price go up. Where if you hosted it you would see a dip in the quarterly s
Re: (Score:2)
Hosting anything in AWS without integrating with and properly leveraging the ancillary services they offer makes little fiscal sense.
Re: (Score:3)
AWS doesn't pass on the economy of scale to you. They keep it, and then some, as profit. They're not a charity.
If you're a not a small shop, it makes sense to host yourself or colo. You can use any other datacenter for disaster recover / fallback.
It's cheaper and you have far more control.
AWS, Azure, etc. only make economic sense in a few niche cases. One of which is being a small, but not very small, operation who is willing to bleed money during a growth phase. Another is needing highly dynamic and ge
Re: (Score:2)
AWS doesn't pass on the economy of scale to you. They keep it, and then some, as profit. They're not a charity.
I never claimed anything to the contrary, were you responding to someone else?
If you're a not a small shop, it makes sense to host yourself or colo. You can use any other datacenter for disaster recover / fallback.
It's cheaper and you have far more control.
You're making assumptions here, likely based on anecdotal evidence. I have plenty of my own, and I argue that infrastructure TCO (either cloud or on-prem) is far more complex than comparing an AWS bill to an amortized set of hardware and a monthly colo bill at Sungard.
AWS, Azure, etc. only make economic sense in a few niche cases. One of which is being a small, but not very small, operation who is willing to bleed money during a growth phase. Another is needing highly dynamic and geographically distributed operations NOW (not having the time to negotiate with partners).
Again, assumptions. It's quite likely cloud never made sense in scenarios you've encountered, and that's fantastic for you. I currently run a large AWS footprint
MAXIMUM OVERSNARK! (Score:2)
Re: (Score:1)
Re: (Score:2)
"No future in ops means nobody studies it. Who does Amazon hire in 30 years to keep it all going?"
If they are clever (and corps don't tend to be too clever), they'll train their own people. If they don't, it'll end up more or less like Asimov's Empire nuclear facilities on the Foundation's saga: some magic tricks that nobody can repair much less enhance. But hey, it they manage to rise to monopoly position, it won't matter as nobody will have the knowledge to challenge their position, either.
Re: The future is NoOps -insightful? Lololol (Score:1)
Someone has been reading too many issues of CIO magazine between rounds of golf!
Either that or this was a good troll. Either way... cloud is never cheaper for non trivial deployments and work loads. Period. If your cloud service is cheaper for real work then you're seriously incompetent and going out of business soon anyway.
Who is taking the 3am call when shit breaks? Your developers? They checked out at 3:45pm, went to the bar, did the deploy to production from there, got super drunk and passed out.
N
Re: (Score:2)
Not strictly true. If you have a globally applicable product that must nonetheless comply with local data residency and access rules then cloud services let you deploy globally without needing a complex fragmented physical estate.
For regions with sizeable footprints there will be an inflexion point at which self hosting makes commercial sense. Even there I'd constrain the solutions to the same deployments used in the cloud, for dev and ops simplicity.
Re: (Score:1)
How does one get online to the cloud without a network, I wonder?
Re: The future is NoOps (Score:2)
I can pay three to five salaries with the cost of Amazon. And even though you have Amazon, you still need those IT people to set it up and help people use it.
$200k/y for a service that cost $50k in hardware, $1k in power and 5% of a jr. FTE - reals savings.
The problem is that there is no 'Test' in DevOps (Score:2)
I've always felt that integrating and keeping up to date test automation processes as the greatest challange in the CI/CD space. As business cycles get shorter, creating and maintaining the required set of test automation processes that can give you confidence in the final production release can be an immense challange. This together with the increasing complexity of cloud based systems has made the testing challange a really hard nut to crack.
Re: (Score:1)
Unit and integration level tests are not enough by themselves as the gap between the systems these tests run on and the actually production system is too great, and with the complexity cloud deployments allow this gap is growing. Yes, you can run a set of smoke tests in production but that doesn't hide the fact that most of the testing is not performed in a realistic environment.
Re: (Score:2)
I think the complaint is developer written tests of their own code is frequently considered a replacement for an actual QA team, whether unit or integration test.
One of the *massive* gaps is if the developer is batshit crazy and designs horribly because they are not the target audience and do not understand the target audience, the tests are going to sail on through and be horrible because no 'mere mortal' could check that developers bizarre vision. Also a developer can be plain dumb and think the wrong th
Re: (Score:1)
Is this true? (Score:2)
Now your customers say, 'where's your mobile app? I want to be able to have voice assistance to talk to your particular product.'
Is that really true? I thought apps were mostly a dead end now, and everyone is just writing for the web. Do people really want voice recognition in apps?
Re: (Score:2)
Re: (Score:2)
I want and use my VR. I'm very sad if it fails to take off more than it has.
Voice recognition on the other hand.. Meh
Re: (Score:2)
Meh, writing for the web is soooo 10 minutes ago..
By Neruos (Score:1)
"With Amazon Lambda and other microservices, you just need HR to hand out IAM accounts, and a company really doesn't need an IT staff whatsoever. Just some CI/CD mechanism to get pushes in production, and that is basically it.
Ops is dead. Who needs to rack and stack physical servers when the cloud takes care of that, and far cheaper. Who needs OS guys, app guys, net admins, and DBAs when serverless services replace all this?
Lets be real... the future is NoOps. Pay your Amazon bill, and they take care of you
Re: (Score:1)
I wouldn't hire someone stupid enough to publicly say what you're saying here to work on my team. Good sense is important in any developer.
Re: (Score:2)
I think it's the efffects of the bubble. The late 90s did have whiffs of this too, though that bubble burst earlier in the cycle and communication wasn't as rapid as it is today, so it's a bit more severe. Developers in general had a wake up call after the bubble burst last time and things settled back down for a while there into more manageable offerings.
The real root cause is not the fads and rhetoric, those are a combination of band aids and denial about the reality that the market is flooded with stud
I was actually waiting for this. . . (Score:2)
. . . because, sooner or later, DevOps HAD to no longer be the New Hotness. . . Of course, the question is. . . what comes next ?
Re: (Score:2)
sooner or later, DevOps HAD to no longer be the New Hotness. . . Of course, the question is. . . what comes next ?
I think the time has come for MangeOps - A software engineering practice that aims at unifying management (Mange) and software operation (Ops)
The goals of MangeOps span the entire business pipeline. They include:
MangeOps aims to minimize the pre
Re: (Score:2)
The only thing I saw in there that I liked is playing board games at work.