News for hackers. Stuff that matters.
Re:The sad state of sysadmin in the age of containers (2015) by ex_amazon_sde on Wednesday May 16, 2018 @12:52PM (#17083976)
Ex Amazon here. Most grumpy system engineers did not disappear: we got hired by Google/Amazon/etc to build large-scale infrastructure... and sometimes sell it back to you as a service.

Believe me or not, most of the underlying infra does not run on the popular technology of the year. Far, far from it. That's why it works.

Modern devops, with its million tools that break backward compatibility every month sometimes becomes the running joke at lunch.

Re:The sad state of sysadmin in the age of containers (2015) by seorphates on Wednesday May 16, 2018 @02:12PM (#17084903)
Grumpykins here. I think the term "Modern devops" sort of nails it but not quite how you used it. Most departmental/enterprise sys admins/engineers of lore that had even the slightest necessity for life outside the box scaled anything resembling automation to its breaking points. Combined with knowing and serving the reasons for their existence - developers, users etc., and devops is nothing new - it is now simply the necessary manifestation of progress at scale (albeit positively devoured by managers speaking business, not entirely unlike "agile").

"Use what works" definitely presents a lot more choices these days and likely will forever more.

"Use what works well" is something different where "well" implies helpful, dependable, predictable, manageable and so on that will continue to scale with your needs. Only breaking things down the "old-school" way will lead towards success, stability, security and life outside the box.

Good devops is still, primarily, good engineers engineering good things, for themselves and others.

Granted the article is from 2015 but my impression is author is not just cranky, but scared.

Re:The sad state of sysadmin in the age of containers (2015) by nunez on Wednesday May 16, 2018 @11:31PM (#17088496)
Agreed. DevOps has been a thing for a long time. The funny thing is that the core of the DevOps philosophy —- to unite development and ops through code —- is still a rarity. SO MANY big companies have entire departments for DevOps that are basically either developers doing release management sysadmins writing pseudo code for infrastructure while making it somehow less accessible to development teams.
Re:The sad state of sysadmin in the age of containers (2015) by hennsen on Thursday May 17, 2018 @03:04AM (#17089378)
DevOps is uniting dev and ops through code? I believe it’s at first and most important to unite them through good(early, often, honest, etc.) communication and collaboration instead of “you broke x” and “you have to fix y” as well as “this is the other (dev or ops depending who says it) departments fault/task is the most important thing in DevOps. The code is just a tool to make this collaboration easier / automate it where the other things already happened and all understood they work on the same goal and not as enemies.
Re:The sad state of sysadmin in the age of containers (2015) by gm-conspiracy on Wednesday May 16, 2018 @03:04PM (#17085428)
A good sysadmin would not look like they are doing much work (everything is humming along and can self-heal minus physical problems), but a good devops person is constantly busy.
Re:The sad state of sysadmin in the age of containers (2015) by seorphates on Wednesday May 16, 2018 @04:10PM (#17086013)
I sort of agree but a good sysadmin was never idle on the inside. I'm seeing good devops people getting worked well beyond what I'd consider reasonable expectations i.e. "Oh, look, you can do everything! Here's everything!".

They're being perverted into a role having a full load of pure operations with shit for processes (and, often, systems) and an expectation that you have time to automate and shore up all the shit and technical debt accumulated since.

Can most good or even extraordinary developers simultaneously be elbow deep on a dozen unrelated products and actually get reasonable traction? I can barely keep one glass castle together, myself.

Re:The sad state of sysadmin in the age of containers (2015) by piva00 on Thursday May 17, 2018 @05:03AM (#17089834)
This is exactly my sentiment and why I moved away from SRE and back to SWE. I felt busy all the time doing development of tools and infrastructure while at the same time aggregating the role of operations.

Never having the time to properly finish a project that I was proud of delivering, turning those into services so we could leverage self-servicing was a dream that most of the time never happened, we were left with half-done systems requiring tons of manual intervention (lots of toil) while having to move fast to the next thing...

Re:The sad state of sysadmin in the age of containers (2015) by AndrewUnmuted on Thursday May 17, 2018 @01:40AM (#17089015)
I think a lot of data engineers and transcoding folks would have similar reports. But you’re right; the problem with DevOps is the reach of their usefulness. If your whole company is built on code, your DevOps team will always be overworked and under appreciated.
Re:The sad state of sysadmin in the age of containers (2015) by segmondy on Wednesday May 16, 2018 @03:46PM (#17085812)
Great sysadmins get fired unless they learn to pretend to look busy. They automate everything till they have nothing to do.
Re:The sad state of sysadmin in the age of containers (2015) by Intermernet on Wednesday May 16, 2018 @11:53PM (#17088586)
Logging is your friend here. You can spend days scrolling through logs, doing an occasional grep and making disapproving noises occasionally. Bonus points for developing some graphs for the next meeting.
Re:The sad state of sysadmin in the age of containers (2015) by shakna on Thursday May 17, 2018 @04:17AM (#17089664)
My introduction to statistics was learned as a sysadmin, trying to show that I was doing 'stuff'.
Re:The sad state of sysadmin in the age of containers (2015) by hennsen on Thursday May 17, 2018 @03:07AM (#17089394)
Can you elaborate that?

Whats a “devops person” for you and what keeps them busy? And why cant they have systems that hum along self-healingly automated?

Re:The sad state of sysadmin in the age of containers (2015) by gm-conspiracy on Thursday May 17, 2018 @08:22AM (#17090685)
Most of the tools of the modern "devops person" are undergoing constant development themselves.

So, not only is there the responsibility of creating this self-healing automated infrastructure, but keeping tools and resume up-to-date, as well.

Re:The sad state of sysadmin in the age of containers (2015) by spiderjerusalem on Wednesday May 16, 2018 @01:37PM (#17084487)
What fascinates me about this is, and sorry for being morbid, but what happens when y'all die? Does knowledge of the lower levels of the stack go away with your generation, or will there be enough of us young ones picking the important stuff up?
Re:The sad state of sysadmin in the age of containers (2015) by Twirrim on Wednesday May 16, 2018 @02:01PM (#17084777)
There's rarely anything old school sysadmins have learned that hasn't come from experience.

Been there, done that, fought that shit the first time. And the second. And the third. (it's amazing how often I find myself solving what are essentially the same problems over and over.) It's one reason why you'll find we'll push back on the "ohh shiny". There are many wonderful and fascinating things coming out. Tech is an amazing field to be working in. But it's also ridiculously frustrating because no one pays any attention to _why_ things are done the way they are, or _why_ approaches haven't worked in the past (I'm all for re-introducing past failed approaches, as long as there's evidence those reasons have been investigated)

You'll find a common trend amongst us in that most of us sort of ended up in the role accidentally. Schools and college teach you to become developers. Few people tend to head to college with the view of specialising in the ops side of things.

Even speaking as a comparatively old-school sysadmin, my strengths come from being flexible and adaptable. What I do today is nothing like what I was doing 5 years ago, and what I did then is nothing like what I was doing 5 years before that, and so on down the line. The field is constantly in flux.

I just have the best part of two decades of experience to both anticipate the problems, and be able to get to diagnosis quicker when things do go wrong.

Even as the older sysadmins die off I'm fairly confident there will be newer ones to replace them, because people are going to continue to learn from the problems they run in to.

Re:The sad state of sysadmin in the age of containers (2015) by ams6110 on Wednesday May 16, 2018 @03:10PM (#17085487)
Ansible is one "ohh shiny" thing that has greatly increased my productivity as a sysadmin. Before that I would automate what I could with ssh and pdsh and scripts, but it was never as well polished as Ansible.

I'm even using ansible for ad-hoc stuff (tweaking a config, restarting a service) because it's easier to do that from a management server than log in to some remote host, get oriented as to the OS distribution and version, and run commends in the shell there.

Re:The sad state of sysadmin in the age of containers (2015) by noir_lord on Wednesday May 16, 2018 @03:34PM (#17085696)
I like ansible with vagrant as well - it makes for a nice clean way of deploying to development environments while also been nicely 'self' documenting and not limiting (you can drop back to shell), it's a lovely tool for the most part.

Edit: The thing I really like about Ansible is how unsexy it is, it's just a nice sane way of doing largely what you could do yourself with ssh and bash but in a language that doesn't make you want to cry.

I've been around linux since the 90's and Ansible feels comfortable, predictable and stable - what you would want in a piece of software that can be mission critical in the most fundamental sense.

Re:The sad state of sysadmin in the age of containers (2015) by dozzie on Wednesday May 16, 2018 @05:51PM (#17086794)
It would be even nicer if people weren't advocating it as a configuration management system, only as what it is: a deployment system.
Re:The sad state of sysadmin in the age of containers (2015) by piva00 on Thursday May 17, 2018 @05:13AM (#17089859)
I think I achieved my perfect balance of tooling for current systems with Ansible and Docker.

Ansible automates even provisioning in AWS. I never really liked CloudFormation's way of creating stacks, so I began to use Ansible to document the application's stack, have used it to deploy systems running in EC2 with RDS, ElastiCache, SQS, SNS, DynamoDB, etc.

After provisioning/configuring I'd end up with an instance in EC2 with Docker installed and from there our CI/CD would just trigger the deployment playbook that simply would do a `docker pull` of the version tagged for release and start the container.

Ansible helped to also install our Splunk forwarders as running it from Docker was a hassle still not so long ago, so we would have the best of both worlds: configurability of the host machine completely with Ansible and packaging and predictability of deployment through Docker.

I advocate this stack as simple enough to learn and use with widely used tools without their fancy (and often broken) features. Even though they can be still a bit immature, they are production-ready enough.

Re:The sad state of sysadmin in the age of containers (2015) by ci5er on Wednesday May 16, 2018 @10:24PM (#17088222)
Who advocates it as a configuration management system? I've not seen that...
Re:The sad state of sysadmin in the age of containers (2015) by resonator on Thursday May 17, 2018 @02:16AM (#17089179)
Re:The sad state of sysadmin in the age of containers (2015) by nunez on Wednesday May 16, 2018 @11:34PM (#17088513)
Everyone compares it to chef and puppet
Re:The sad state of sysadmin in the age of containers (2015) by ci5er on Wednesday May 16, 2018 @11:42PM (#17088544)
Ansible? I could see using it to build a container that then got "orchestrated", I guess, but ... hmmm. I've never really looked at them as doing the same thing. (Nor have I looked at either Chef/Puppet for CM. Maybe I'm just stupid... My ex- certainly thinks that I am...)
Re:The sad state of sysadmin in the age of containers (2015) by switch007 on Thursday May 17, 2018 @04:16AM (#17089657)
It calls itself one, I imagine many people also consider it one. What is a true configuration management system?
Re:The sad state of sysadmin in the age of containers (2015) by Jedd on Thursday May 17, 2018 @04:39AM (#17089756)
I used puppet -- unhappily -- for a while before discovering SaltStack.

Salt, like Ansible, is a response to the Puppet/Chef hegemony -- ruby and DSL's and tacked-together bits that are a nightmare to install and upgrade in themselves).

I'd suggest Salt did some things much cleaner than Ansible, and while it can be an orchestrator, and deployment system, it also excels as a configuration management system ... but I think typically people are talking about configuration management systems that are tightly coupled with more formal change management systems (of which I've found pretty much none that work well).

Re:The sad state of sysadmin in the age of containers (2015) by scurvy on Wednesday May 16, 2018 @02:03PM (#17084810)
It's a legit concern. There was a NANOG panel about this exact thing. I believe the quote was, "Take a look around. We're all old and greying. We have a severe pipeline problem." And then much to AWS' dude's dismay, the topic shifted towards blaming cloud services because no one takes the time to learn how any of this works any more.

Want to guarantee your child's future employment? Don't just teach them to code (the machines will do that). Teach them how to build networks and truly understand network protocols.

Re:The sad state of sysadmin in the age of containers (2015) by setquk on Wednesday May 16, 2018 @02:14PM (#17084938)
I’m going to teach my children how to navigate the world of insane Harry-Potter-esque rules which all IaaS/PaaS platforms enforce upon you. They will become software language lawyers and be masters of the electric Disney dollar.

You know like “ahh don’t call the messaging endpoint more than 800 mega-milli-times per mega-nano-second or it will cost you three bazillion CPU credits, but only on three and a half cores which will starve all your instances, issue an invoice and proceed to melt your credit card.”

Re:The sad state of sysadmin in the age of containers (2015) by w8rbt on Wednesday May 16, 2018 @09:36PM (#17087983)
DDOS is now a billing issue.
Re:The sad state of sysadmin in the age of containers (2015) by kazen44 on Wednesday May 16, 2018 @02:23PM (#17085035)
> Teach them how to build networks and truly understand network protocols.

I don't know how the situation is in the US, but in my country network engineering is actually quite a popular field of study. (we have college level education in network engineering).

The one thing that stands out though is that it's mostly done by youngsters who have either sysadmin experience, or worked in IT before that. Almost everyone who comes from high school goes into Software Engineering.

I think this is mainly because networking is quite an invisible field so to speak. Many people don't even know your job exists, and many young people only see the shiny hip side of it. (being Software Engineering).

Being good at network engineering is hard, especially once you get past entry level work and actually start being responsible for designing large-scale networks. Mainly because building a network is a major financial investment where garuanteeing performance is hard without either a ton of experience, or a shitton of lab time.

this kind of work pays very, very well though.

Re:The sad state of sysadmin in the age of containers (2015) by bordercases on Wednesday May 16, 2018 @04:19PM (#17086095)
What country?
Re:The sad state of sysadmin in the age of containers (2015) by zamber on Thursday May 17, 2018 @09:54AM (#17091230)
Netherlands
Re:The sad state of sysadmin in the age of containers (2015) by rootlocus on Wednesday May 16, 2018 @02:56PM (#17085355)
> Don't just teach them to code (the machines will do that). Teach them how to build networks and truly understand network protocols.

Building networks and understanding protocols is something machines can do TODAY. The entire internet was built to survive a nuclear war. It can reshape itself, and it most definitely understand network protocols. By definition, protocols are the language of machines over the network. And it's been like this for a few decades.

The only reason knowing low level network protocols in a world where machines can code anything (which makes them better analytical thinkers than humans) is to beg the machines for mercy in their ancient tongue.

Re:The sad state of sysadmin in the age of containers (2015) by gaius on Wednesday May 16, 2018 @03:37PM (#17085720)
It can reshape itself, and it most definitely understand network protocols

It really, really can't! That quote about the Internet interpreting censorship as damage and routing around it? Or the one about information "wanting" to be free? Taken wildly out of context.

Re:The sad state of sysadmin in the age of containers (2015) by rootlocus on Wednesday May 16, 2018 @03:46PM (#17085813)
Then what about routing protocols such as RIP, OSPF, etc? I'm sorry, but I don't know what quotes you're referring to.
Re:The sad state of sysadmin in the age of containers (2015) by jauer on Wednesday May 16, 2018 @05:02PM (#17086466)
Routing protocols convey state information between routers, but really that is just table stakes.

So, what do network engineers do? Classically, Set up and troubleshoot those systems. Currently, transforming from manual work to building systems to deploy, monitor, and remediate routers and such. In other words, the same stuff sysadmins->(SRE|PE) folks do and undergoing a similar transition.

SRE methods are quite applicable to neteng: https://landing.google.com/sre/book/chapters/eliminating-toi...

Re:The sad state of sysadmin in the age of containers (2015) by gaius on Wednesday May 16, 2018 @03:52PM (#17085865)
Then what about routing protocols such as RIP, OSPF, etc?

Don't forget BGP. I don't think they do what you think they do, at least, not to the extent you think they do them. There is a hell of a lot of manual work in running any sizeable network even within a single organisation.

Re:The sad state of sysadmin in the age of containers (2015) by rootlocus on Wednesday May 16, 2018 @03:54PM (#17085880)
And what exactly do they do that I don't understand?

> There is a hell of a lot of manual work in running any sizeable network even within a single organisation.

I'm not trying to say they do everything, and no manual work is required. I'm trying to say machines are already doing part of it. OP believes that give a world where machines can code, they can't design or maintain networks, which I find truly ridiculous, since machines are pretty far from doing any kind of "coding" today, but they do networking and network protocols pretty well.

Re:The sad state of sysadmin in the age of containers (2015) by gaius on Wednesday May 16, 2018 @04:07PM (#17085992)
since machines are pretty far from doing any kind of "coding" today

The first attempt at a system to turn plain English that even managers could write into executable code was 1959 - COBOL. So you're right in a sense, even 59 years later - but also wrong if you think networks are any more advanced than this. The Internet really cannot "reshape itself" and probably never will be able to.

Re:The sad state of sysadmin in the age of containers (2015) by spc476 on Wednesday May 16, 2018 @09:42PM (#17088023)
RIP and OSPF are interior routing protocols---that is, they're used for routing within an organization (or autonomous system in Internet lingo) and deal with technical routing issues (fastest link, most bandwidth, etc). BGP is for routing between organizations and deals with political issues than technical issues (we need to send all traffic here due to contracts, unless it goes down, then shift traffic over there; and refuse routing information from such-n-such organization because they don't have their act together).
Re:The sad state of sysadmin in the age of containers (2015) by dbt00 on Wednesday May 16, 2018 @07:02PM (#17087163)
Routing protocols are how computers communicate network admin instructions to each other really really fast.

They're still just tools wielded by humans, even at a distance. Even today.

Re:The sad state of sysadmin in the age of containers (2015) by busterarm on Thursday May 17, 2018 @02:31AM (#17089249)
Moreover, who is going to write the next protocols we need?

This isn't a field that is done inventing. Not even remotely close.

Re:The sad state of sysadmin in the age of containers (2015) by rootlocus on Thursday May 17, 2018 @02:42AM (#17089302)
OP was talking about a future where developers become obsolete because machines take over the development sector. Do you think writing protocols will be something humans will do better than machines?
Re:The sad state of sysadmin in the age of containers (2015) by busterarm on Thursday May 17, 2018 @12:27PM (#17092780)
Yes. Machines might come up with something that's 'good enough' though.
Re:The sad state of sysadmin in the age of containers (2015) by zippitydoodah68 on Wednesday May 16, 2018 @02:43PM (#17085216)
Been working since 86 in this industry.

You lose and gain and you should always be mindful of what is coming. Humility is good. I love you young guys, your ideas keep coming and they are mostly good.

Re:The sad state of sysadmin in the age of containers (2015) by twic on Wednesday May 16, 2018 @03:29PM (#17085651)
Same problem as making sure your system doesn't lose data when a server dies. Make sure you have enough copies of the knowledge by propagating it between people. Try to have some kind of offline recording (books?) for recovery from a disaster where you lose everyone. Have an idea of how to recover at a business level if you do lose the data forever.

The trouble is making sure these plans actually work. This is why Netflix randomly execute some of their employees every month.

Re:The sad state of sysadmin in the age of containers (2015) by jlgaddis on Thursday May 17, 2018 @09:04AM (#17090941)
> This is why Netflix randomly execute some of their employees every month.

I certainly hope this practice doesn't start catching on with other employers.

Re:The sad state of sysadmin in the age of containers (2015) by telchar on Wednesday May 16, 2018 @09:14PM (#17087849)
"This is why Netflix randomly execute some of their employees every month"

Would that be their King Kong application?

Re:The sad state of sysadmin in the age of containers (2015) by dsr_ on Wednesday May 16, 2018 @03:04PM (#17085425)
That's part of the reason why my last two hires have been at the beginning of their career. For both of them, it was their first major sysadmin responsibility after having jobs involving tech support and occasional Linux experience.

The key is to pick smart people who are good at learning and find complex systems interesting. Then, of course, you need to have interesting projects for them to work on.

Re:The sad state of sysadmin in the age of containers (2015) by alekratz on Wednesday May 16, 2018 @04:59PM (#17086441)
It's a very real concern. We have a thing called a "bus plan" for all of our tech employees (6 of us - small non-tech company). It basically attempts to cover everything that we would need to know if one of us gets hit by a bus.
Re:The sad state of sysadmin in the age of containers (2015) by seorphates on Wednesday May 16, 2018 @02:13PM (#17084931)
They'll never die.

Some monkeys will just keep swinging branch to branch. Some monkeys check out the tree.

Re:The sad state of sysadmin in the age of containers (2015) by karlkatzke on Wednesday May 16, 2018 @02:24PM (#17085047)
What makes you think there aren’t young people doing systems administration? Our last two hires in my most recent job were 23 and 27 respectively. Sure, they’re getting trained in the new hot cloud stuff... as the grumpy seniors figure it out first and set patterns... but they are still doing daily work with some rather ancient stuff.
Re:The sad state of sysadmin in the age of containers (2015) by spiderjerusalem on Wednesday May 16, 2018 @03:12PM (#17085506)
I'm not saying there are no young people doing sysadmin. What I'm trying to say is that if the new 'infrastructure' that all sysadmins learn is not an open UNIXy system where you can grok all the internals if you want to, but closed systems owned by 2-3 major cloud players, then we kinda maybe have a problem in 20 years?

Of course, one can argue that that will just cause a new wave of openness and the cycle continues.

Re:The sad state of sysadmin in the age of containers (2015) by tapoxi on Wednesday May 16, 2018 @04:10PM (#17086017)
As a "young" (30) sysadmin/devops dude I think that open, Unixy system is Kubernetes. I can take an application, dockerize it, write a helm chart and run it anywhere.

The risk is in treating anything as a black box, whether its a managed service or a container you pull from Dockerhub. It's something you'll get burned by eventually and need to learn from experience.

Re:The sad state of sysadmin in the age of containers (2015) by geggam on Wednesday May 16, 2018 @07:34PM (#17087314)
You setup and manage K8s and all the kernel tunings for the host systems so the NAT layers are optimized ?
Re:The sad state of sysadmin in the age of containers (2015) by karlkatzke on Wednesday May 16, 2018 @03:52PM (#17085868)
Yeah, and my point was that we start the young people that we hire on the open stuff. Then we move them up and on to the other open stuff, which runs on top of the cloud vendors.

(As almost everyone else points out, the closed cloud vendor stuff is nowhere near flexible enough for most moderately complicated use cases unless you’re running at serious scale.)

This is a false crisis.

Re:The sad state of sysadmin in the age of containers (2015) by swarnie_ on Wednesday May 16, 2018 @03:20PM (#17085569)
My company seem to split responsibilities based on age. 40/50 year olds deal with oracle Linux, AIX and Solaris. Under 30's hires are more focused on cloud and mobile. We're all expected to have a footing in Windows and Oracle DB.
Re:The sad state of sysadmin in the age of containers (2015) by user5994461 on Wednesday May 16, 2018 @01:44PM (#17084573)
Everyone will be running on AWS, Google Cloud and Azure, who know how to operate infra that doesn't crash all the time.
Re:The sad state of sysadmin in the age of containers (2015) by bassman9000 on Wednesday May 16, 2018 @02:01PM (#17084778)
That's why it works.

Touché. Remember, there's value in battletested and proven, e.g. https://www.quora.com/Why-do-satellites-use-old-processors

Re:The sad state of sysadmin in the age of containers (2015) by brightball on Wednesday May 16, 2018 @01:42PM (#17084545)
Would be interested to get your opinion on Puppet/Ansible/Chef/CFEngine/SaltStack
Re:The sad state of sysadmin in the age of containers (2015) by user5994461 on Wednesday May 16, 2018 @01:52PM (#17084677)
CFEngine is basic text manipulation, it's not comparable to the rest.

Puppet and Chef was the first generation. I wouldn't recommend. All the companies and people I know using Chef migrated away from it after many disasters. Nowadays, it's only mentioned in interviews to find out if candidates have real world fire fighting experiences.

Ansible is good. Used that for managing hundreds of machines at multiple jobs (some who migrated from Chef). It's been bought by RedHat, it's well maintained and I think it will have the brightest long term future.

Not sure about SaltStack. Never had the opportunity to try. I'd be a bit worried though on the long term prospect because I don't think they have much backing or user base.

Re:The sad state of sysadmin in the age of containers (2015) by kazen44 on Wednesday May 16, 2018 @01:58PM (#17084745)
> Not sure about SaltStack. Never had the opportunity to try. I'd be a bit worried though on the long term prospect because I don't think they have much backing or user base.

saltstack is a well thoughout solution in my opinion. It makes more logical sense and is less of a mumbled mess then either chef or puppet and has miles better performance then ansible.

I know quite a few shops who use it. Its definitly smaller then ansible.

Re:The sad state of sysadmin in the age of containers (2015) by mattbillenstein on Wednesday May 16, 2018 @02:33PM (#17085134)
+1 for salt -- I wish it had better docs or examples of how to build out a larger system; it's hard to start with imho even if you know ansible well. The existing docs read like man pages without the helpful examples even.

At the last gig, I wrapped salt deploys with a small Slack bot, so users would fire deploys from Slack; you could see what was going out and who was pushing. It was a very very nice, simple, fast solution that should scale to hundreds of machines easily.

Re:The sad state of sysadmin in the age of containers (2015) by robohoe on Wednesday May 16, 2018 @03:08PM (#17085460)
SaltStack is around. Lots of big orgs take the time to understand. Ansible is more popular because you can use it with just one playbook. Saltstack requires you to think about your environment and design your configuration management properly.
Re:The sad state of sysadmin in the age of containers (2015) by dijit on Wednesday May 16, 2018 @05:00PM (#17086451)
I use salt. Multiple thousands of machines. I feel like I've barely scratched the surface of what it can do with it. I wrote some custom utilities for it. Added some functionality to handle physical deployments of an OS with redfish (the new iLO/iDRAC api).

Salt is not without warts but its definitely worth checking out.

Re:The sad state of sysadmin in the age of containers (2015) by kokey on Wednesday May 16, 2018 @02:49PM (#17085288)
CFengine, at least version 3, was probably the furthest away from string manipulation (and I was given the impression that text file content manipulation was considered a bad idea with it). What killed it was promise theory, which is actually a great theory and works quite well but made writing the bundles painfully hard and also hard to maintain. Also during the early days of v3 it was probably lacking a ton of essential functions so even if you were trying to do things the right way you would bump into feature limitations. I think this put a lot of people off adopting it widely and why Chef and Puppet did so well.

Puppet and Chef is actually quite good and I still prefer it to Ansible for a number of reasons. I've certainly run it fine in environments of many thousands of servers, though I can understand that it can implode for some people at scale if they design their deployments in a certain way or structure their manifests/cookbooks a certain way. That said I've certainly seen Ansible fold on much smaller infrastructure, but that is also down to a number of factors that can be avoided or mitigated. Idempotency with Puppet is really strong which is something you want if not every single system in your environment is ephemeral, with Chef it's almost as good with that but not always with the first run, with Ansible you have to specifically consider and aim for it when writing code for it in your playbooks.

The fact that you get used to having Chef or Puppet run e.g. every half an hour is a good thing, where Ansible runs are more ad-hoc. This leads me to another thing that bothers me and that is where people think it's a situation of having to use e.g. Puppet or Ansible as if they're conflicting choices for the same tasks. They have a lot of things in common, but Puppet is more for managing and ensuring changes in an idempotent, non-conflicting way while Ansible is more for doing something a bit like that but more for ad-hoc or orchestration tasks. I think it's good to use both but also be sure what you use it for, since one can do a bit of what the other thing is good at but doesn't do it so well.

For example, I would consider using Ansible to do deployments and releases, rotate SSH keys, execute failovers, or even to install the Puppet agent for the first time. I would use Puppet to deploy and update monitoring agents and configuration, user access, ensure directory permissions, configure system things like rsyslog, logrotate, Postfix, ntp, etc.

Re:The sad state of sysadmin in the age of containers (2015) by dozzie on Wednesday May 16, 2018 @06:14PM (#17086915)
> This leads me to another thing that bothers me and that is where people think it's a situation of having to use e.g. Puppet or Ansible as if they're conflicting choices for the same tasks.

That's mainly because Ansible folks advertise it as a configuration management tool, while in fact it's a deployment tool. The former needs asynchronous operations, especially because a node that is supposed to be reconfigured can be temporarily down. The latter needs to be executed synchronously, with reports being read as they come by an operator.

There are several other operation modes that are useful for a sysadmin, like running a predefined procedure with parameters supplied from the client, or running a one-off command everywhere (even on the servers that are currently down, as soon as they are up), but we don't have many tools to cover those cases.

Re:The sad state of sysadmin in the age of containers (2015) by atsaloli on Wednesday May 16, 2018 @06:58PM (#17087143)
I make my living as a CFEngine consultant. CFEngine runs every 5 minutes (it's lightweight enough to do that). The evolution was: CFEngine 1 ran once a day; CFEngine 2 ran once an hour; CFEngine 3 runs every 5 minutes. Self-healing infrastructure.
Re:The sad state of sysadmin in the age of containers (2015) by emmelaich on Wednesday May 16, 2018 @11:28PM (#17088482)
The concept of self-healing is a bit weird for me. Surely you want to investigate the cause before it heals?

Funny that we have tools like tripwire which have the opposite idea of the world.

My dream would be to have both functionalities in a single tool.

Bidirectionality! If you solve a problem on one machine you could pull that fix then push the same fix out to other machines as a preventative measure.

Some mix of git/osquery/augeas could do this.

Re:The sad state of sysadmin in the age of containers (2015) by Karrot_Kream on Wednesday May 16, 2018 @01:55PM (#17084715)
> Ansible is great. Used that for management hundreds of machines at multiple jobs. It's been bought by RedHat, it's well maintained and I think it will have the brightest long term future.

A lot of folks I know have been bitten by Ansible's performance (Ansible has a central master that runs recipes on each node, rather than having nodes "pull" from a central master).

Re:The sad state of sysadmin in the age of containers (2015) by brightball on Wednesday May 16, 2018 @02:03PM (#17084804)
Ansible has a pull mode that can be turned on. There are some trade-offs with it from the normal operating model, but it's there when you get large enough to need it.

https://docs.ansible.com/ansible/2.4/ansible-pull.html

Re:The sad state of sysadmin in the age of containers (2015) by Florin_Andrei on Wednesday May 16, 2018 @02:02PM (#17084792)
Ansible has a very, very low barrier to entry. You go from 0 to 100 in a very short time. It makes a lot of sense to use it when you just begin building your infrastructure.

Later on you can run Ansible Tower, deploy Ansible agents everywhere, and basically use Ansible under the same client/server model like all the other tools.

Salt is eerily similar to Ansible, it's just geared towards client/server. Being experienced with Ansible, it was weird at first to use Salt because everything looked familiar, yet slightly different.

Re:The sad state of sysadmin in the age of containers (2015) by ofrzeta on Thursday May 17, 2018 @07:10AM (#17090303)
You can also get Tower's functionality with the free version called AWX, although not as polished. https://github.com/ansible/awx
Re:The sad state of sysadmin in the age of containers (2015) by user5994461 on Wednesday May 16, 2018 @02:13PM (#17084934)
I believe you are talking about Ansible tower, the paid tool from RedHat that gives a centralized server.

Ansible is not centralized. It configures servers with SSH and can operate from any user or host who has ssh access.

Re:The sad state of sysadmin in the age of containers (2015) by wmf on Wednesday May 16, 2018 @02:19PM (#17084990)
Yeah, any user or host singular. Execution of a playbook is driven by one machine which can be a bottleneck.
Re:The sad state of sysadmin in the age of containers (2015) by voltagex_ on Wednesday May 16, 2018 @02:18PM (#17084983)
Yeah but when you run a playbook it's running from a single machine which is calling out via SSH
Re:The sad state of sysadmin in the age of containers (2015) by emmelaich on Wednesday May 16, 2018 @11:24PM (#17088466)
Not necessarily from a single machine. It's pretty easy to divide your network and control the divisions from git clones f your Ansible files.

Ultimately you could have a git clone for every machine and only ever run it against localhost.

Re:The sad state of sysadmin in the age of containers (2015) by user5994461 on Wednesday May 16, 2018 @02:24PM (#17085039)
Yes. The host will run 100% CPU to handle the hundreds of SSH connections.

I've been re configuring 300 to 800 hosts many times a day, never had a problem. I think it would take a few thousands hosts for the performance to be noticeably slow and I am really not sure that other tools or systems could take it much better.

Re:The sad state of sysadmin in the age of containers (2015) by virgilp on Wednesday May 16, 2018 @03:33PM (#17085683)
I know our SREs once screwed the config for sshd, and considered themselves very lucky that they had puppet on the machines and could push a fixed configuration (if they had used exclusively ansible, that'd be the end of it - no way to connect or to deploy new configuration)

[edit] To clarify - ansible is great, and we use it. Just saying that, as everything, it still has (sometimes subtle) downsides in various scenarios. If it works well for you - great, but maybe others really were bitten by it.

Re:The sad state of sysadmin in the age of containers (2015) by e12e on Thursday May 17, 2018 @03:11PM (#17094510)
There's nothing stopping you from having a sshd instance dedicated for use just by ansible, on a different port/different network, on every node. Now if that's simpler or more complex I don't know.

But "have two ways in" is a basic principle of sys admin (typically via traditional network and some out of band console access).

Re:The sad state of sysadmin in the age of containers (2015) by twic on Thursday May 17, 2018 @03:53AM (#17089577)
When i worked with physical machines, they had embedded management systems, which were on a physically separate network to the machines' main interfaces, ran a little embedded SSH server, and would (amongst other things) give you a console on the machine.

Simpler machines should still have serial consoles, and you can get those on the network via a terminal concentrator or a serial-to-ethernet adaptor.

I would love it if Ansible could control machines over an interface like that, rather than via SSH. Then you wouldn't even need to run SSH on machines which don't need it, which is most of them.

Re:The sad state of sysadmin in the age of containers (2015) by user5994461 on Wednesday May 16, 2018 @04:12PM (#17086025)
Well, teach your sysadmin to use the system configuration tester when they edit a system configuration file.

Nothing to do with ansible really, except that ansible allows to prevent that easily.

Re:The sad state of sysadmin in the age of containers (2015) by dozzie on Wednesday May 16, 2018 @06:00PM (#17086836)
> Well, teach your sysadmin to use the system configuration tester when they edit a system configuration file.

Wrong. Teach your sysadmin not to overload a single service with different functions (debugging channel, user-facing shell service, running remote commands, file upload, and config distribution channel), especially not the one that should not be used in batch mode, without human supervision.

When you write an application, you don't put a HTTP server in database connection handling code, but when it comes to server management, suddenly the very same approach is deemed brilliant, because you don't run an agent (which is false, because you do, it's just not a dedicated agent).

Re:The sad state of sysadmin in the age of containers (2015) by voltagex_ on Thursday May 17, 2018 @05:20AM (#17089881)
Are you advocating running multiple sshd instances in this case?
Re:The sad state of sysadmin in the age of containers (2015) by dozzie on Thursday May 17, 2018 @01:35PM (#17093441)
Good heavens, no! You'd only have two different instances of the same service that is difficult to work correctly with.

For serving as a debugging channel and user-facing shell access, SSH is fine (though I've never seen it managed properly in the presence of nodes being installed and reinstalled all the time). But for everything else (unattended):

* you don't want commands execution, port forwarding, or VPN in your file server

* you don't want remote shell in your daemon that runs parametrized procedures -- but you do want it not to break on quoting the arguments and call results (try passing shell wildcards through SSH)

* you don't want port forwarding and remote shell in config distribution channel; in fact, you want config distribution channel itself to be reconfigured as little as possible, so it should be a totally separate thing that has no other purpose whatsoever

* you don't want to maintain a human-user-like account ($HOME, shell, etc.) for any of the above, since they likely will never see a proper account on the server side; you want each of the services to have a dedicated UID in /etc/passwd, own configuration in /etc/$service, own data directory, and that's it

Each of the tasks above has a daemon that is much better at them than SSH. The only redeeming quality of SSH is that it's there already, but it becomes irrelevant when the server's expected life time gets longer than a few days.

Re:The sad state of sysadmin in the age of containers (2015) by virgilp on Thursday May 17, 2018 @06:53AM (#17090232)
Yes, because everybody knows that testing eliminates all bugs.

(it's not that testing is useless - far from it; but I thought the HN crowd knows better than to respond to issues with "that's because you didn't do enough testing!")

Re:The sad state of sysadmin in the age of containers (2015) by random_throw on Wednesday May 16, 2018 @09:01PM (#17087769)
I'd venture to say you're wrong about Salt. It's being used at some large enterprises. I use it (in one of the large tech companies) on thousands of servers, with plans to up that an order of magnitude or more. Of all of the solutions mentioned, it has been the most powerful, while also being the most scalable.

Other than that, my experiences line up with yours almost exactly.

Re:The sad state of sysadmin in the age of containers (2015) by tapoxi on Wednesday May 16, 2018 @04:13PM (#17086040)
I love SaltStack, its more of a python framework for managing systems over ZeroMQ than it is pure configuration management. Compared to Ansible it's more complex but faster, reactive, and significantly more flexible. I'd highly recommend it over Ansible for larger environments. For smaller ones, it depends on if the steeper learning curve is worth it.
Re:The sad state of sysadmin in the age of containers (2015) by geggam on Wednesday May 16, 2018 @09:20PM (#17087889)
Ansible starts getting painful around 1500 nodes.
Re:The sad state of sysadmin in the age of containers (2015) by dba7dba on Wednesday May 16, 2018 @03:23PM (#17085596)
+1 for Ansible from me.

Of all the tools, I first heard of Puppet first and so I'm assuming it was first on scene? From my limited experience, it seems Puppet is most widely used tool because of that reason. Not necessarily the best of the bunch, but first on the scene. Considering the effort required to roll it out, I am assuming whatever is deployed first will stay as the tool of choice.

I've tried out Puppet, SaltStack, and Ansible, in that order.

What I didn't like about Puppet is that once you deploy a change, the actual change can happen on the "client servers" at any point within next 20 minutes. I may be off on the exact duration but I remember that changes were deployed at any point within that range of time. To me that sounds like not a great idea. What if you want to switch over your web servers at a specific moment? And Puppet requires a dedicated command/control server.

Next I tried SaltStack. I liked it enough. Now that I think about it and hear someone else mention it, yah SaltStack is similar to Ansible. What drove me away from SaltStack was that you essentially need a dedicated command/control server from where all SaltStack commands are sent out to SaltStack "client servers". I did not want to dedicate resource (and money) for a server that is rarely used. And the personal web/lab servers I manage can grow small/large from 2 servers to 10 servers.

Next I tried Ansible. I think Ansible is the perfect choice for me. I only needed to 'devop' just a handful servers and also learn a tool that many businesses seemed to want on resume. So I picked Ansible and it's been great. Some operations are not as flexible as doing it with a shell script (and I assume same issue exists for other tools). But I've had good luck combining Ansible with little bits of shell script to get the result I need.

The best part of Ansible is that any Mac or Linux machine can be used as the "command server", provided that you have the SSH key pair on your Mac or Linux machine.

Lastly, some may not like the ad-hoc way of doing things on Ansible, but I prefer it that way.

Re:The sad state of sysadmin in the age of containers (2015) by gaius on Wednesday May 16, 2018 @03:45PM (#17085803)
I first heard of Puppet first and so I'm assuming it was first on scene?

CFEngine was first, it's based on a kind of maths called "promise theory" and it solved the problem of you had many different kinds of Unix owned by many different groups and had to have a consistent way of saying "all machines belonging to group X need to have user Y and package Z" and it would abstract away the slightly differing syntax between Solaris, SunOS, IRIX, OSF/1, Ultrix, yadda yadda. This is a problem that doesn't really exist anymore.

Chef I think came next, it was written by people who knew Ruby but didn't know maths so they used CFEngine terminology like "converging" but Chef doesn't really do that, it just runs Ruby scripts. If CFEngine was a scalpel, Chef is a mallet. Chef and Puppet are related somehow, same group of devs had a falling out and went their own ways, something like that. They are much of a muchness.

Ansible is cool because it recognises the reality of why CFEngine isn't relevant nowadays: most organisations are running just one particular Linux distro so you can do away with the abstraction and get all the benefits without the complexity.

Re:The sad state of sysadmin in the age of containers (2015) by dozzie on Wednesday May 16, 2018 @06:21PM (#17086952)
> it's based on a kind of maths called "promise theory"

Promise theory is not math, despite its name. It doesn't predict anything, it doesn't explain any phenomena. It's an architectural approach. Brilliant, led to a really great software (CFEngine), but it's not "maths".

Re:The sad state of sysadmin in the age of containers (2015) by atsaloli on Wednesday May 16, 2018 @07:02PM (#17087162)
Basic concepts of promise theory (10 minute video by Mark Burgess who came up with it): https://www.youtube.com/watch?v=2TPsB5WuZgk

2014 introductory article: https://www.linuxjournal.com/content/promise-theory—what-it

Basic book on the subject: https://www.amazon.com/Thinking-Promises-Designing-Systems-C...

It's not "maths" like arithmentic but it's "maths" like graph theory:

Promise Theory, in the context of information science, is a model of voluntary cooperation between individual, autonomous actors or agents who publish their intentions to one another in the form of promises. It is a form of labelled graph theory, describing discrete networks of agents joined by the unilateral promises they make.

https://en.wikipedia.org/wiki/Promise_theory

Re:The sad state of sysadmin in the age of containers (2015) by dozzie on Thursday May 17, 2018 @02:50PM (#17094268)
> It's not "maths" like arithmentic but it's "maths" like graph theory

It's less like graph theory and more like inversion of control: an architecture, not a set of theorems and their proofs. Even Burgess' own book you mentioned is nothing like a mathematical handbook.

I'm a great fan of Mark Burgess and his promise theory, but calling it a mathematical theory or a mathematical domain is simply incorrect.

Re:The sad state of sysadmin in the age of containers (2015) by atsaloli on Friday May 18, 2018 @09:48PM (#17106185)
I hear you.

The book I mentioned (Thinking in Promises) is the introductory-level public book.

https://www.amazon.com/Promise-Theory-Principles-Application... is the heavy-duty scientific stuff.

"In Search of Certainty" (https://www.amazon.com/Search-Certainty-Science-Information-...) is somewhere in-between.

I would say promise theory is its own kind of logic and notation. Thanks for the correction @dozzie.

Re:The sad state of sysadmin in the age of containers (2015) by atsaloli on Wednesday May 16, 2018 @07:03PM (#17087165)
Actually the sequence was CFEngine, Puppet, Chef.

See http://verticalsysadmin.com/blog/relative-origins-of-cfengin...

Re:The sad state of sysadmin in the age of containers (2015) by dozzie on Wednesday May 16, 2018 @06:19PM (#17086943)
> [...] the actual change can happen on the "client servers" at any point within next 20 minutes. [...] What if you want to switch over your web servers at a specific moment?

You don't. Configuration management is a wrong operation mode for a synchronous change. Still, you could order all your Puppet agents to run their scheduled operation now instead of leaving it waiting for its time.

Re:The sad state of sysadmin in the age of containers (2015) by nunez on Wednesday May 16, 2018 @11:46PM (#17088558)
Ansible all of the way. Chef and Puppet have too much overhead in comparison. Ansible is agentless. You can either use a centralized server for deployments or you can have every instance configure itself. Also, Ansible is YAML based, which is a strength and a weakness.

Chef is a runner up. Love their community and Chef is pretty straightforward once you learn the lingo.

Puppet doesn’t really work for modern Git development workflows (Hiera and r10k are duct tape) and testing Puppet is kludgey. Also, most of the docs you’ll find for it stopped getting updated in 2015 or so.

Re:The sad state of sysadmin in the age of containers (2015) by busterarm on Thursday May 17, 2018 @02:45AM (#17089318)
I've used chef, ansible and saltstack in small startup and large scale enterprise environments.

Ansible is just about the easiest and most flexible thing going, but once you hit "very large scale" you're going to get bit by its performance and start worrying about when you actually update things. Ansible Tower starts to look good then, but it's not the well-walked path and brings you all sorts of other issues about how you distribute secrets to bootstrap things.

Chef is kind of nice when you don't have a lot of environments that you need to manage and about as flexible as you need it to be in those situations.

SaltStack shines when you really have a lot of heavy lifting to do and the Event System, Beacons and Reactors will honestly blow your mind with the complex things you can achieve in a way that's simple to reason about and maintain.

That said, there's really like 3-4 majorly different ways you can (or would want to) use Salt and understanding it and its documentation is a large cognitive investment. You will likely run into major pain at some point down the road if you choose to use it. I would only use it again if I had a really good reason to -- pretty much if there's no other alternative. I would not at all bother using it to try and do typical sysadmin automation tasks.

Strange side-note: The best managed Salt environments I've worked in or looked at were all masterless, whether at small or massive scale. It's my probably-wrong opinion that traditional master/minion SaltStack is always going to cause you enormous problems eventually when you need to either scale out or pivot on something.

Re:The sad state of sysadmin in the age of containers (2015) by mathnode on Wednesday May 16, 2018 @04:03PM (#17085950)
I am genuinely curious, how much ops is hand written in just plain old bash or simple scripts?
Re:The sad state of sysadmin in the age of containers (2015) by dsr_ on Wednesday May 16, 2018 @09:41PM (#17088014)
Bash is everywhere but in small quantities. If it's more than a page of bash, it's probably time to rewrite in something with stricter rules and fewer surprises, or better libraries, or both. Perl or Python is quite common at that level.
Re:The sad state of sysadmin in the age of containers (2015) by ofrzeta on Thursday May 17, 2018 @07:06AM (#17090280)
The Bash scripts are now contained in Docker files. Much better :)
Re:The sad state of sysadmin in the age of containers (2015) by icebraining on Wednesday May 16, 2018 @12:56PM (#17084016)
Is puppet one of those tools?
Re:The sad state of sysadmin in the age of containers (2015) by kazen44 on Wednesday May 16, 2018 @12:58PM (#17084035)
Depends,

heck. I have seem some guys do magic with CFengine and freeBSD.

(freebsd is a nice OS from an ops perspective anyhow, and has a lot more common sense and sane defaults in a lot of places).

Re:The sad state of sysadmin in the age of containers (2015) by fb03 on Wednesday May 16, 2018 @01:32PM (#17084426)
You are my hero.
Re:The sad state of sysadmin in the age of containers (2015) by auslander on Thursday May 17, 2018 @03:39AM (#17089512)
> Modern devops ... million tools ... running joke

So fucking true, bro

Re:The sad state of sysadmin in the age of containers (2015) by zapita on Wednesday May 16, 2018 @04:07PM (#17085990)
> Modern devops, with its million tools that break backward compatibility every month sometimes becomes the running joke at lunch.

Ironically, modern devops and its million broken tools are a primary source of revenue for cloud providers, helping pay for your lunch in the first place.

Re:The sad state of sysadmin in the age of containers (2015) by auslander on Thursday May 17, 2018 @05:23AM (#17089901)
You might be on the point, efficient designs are bad for cloud providers. On the other hand, shitty designs that get hacked are bad PR for them.

Thing is, none of it matters. Bottom line matters.

They care to attract company decision makers. Decision makers are engineers in small to medium businesses, and managers in big ones. Sadly, its the big ones that matter for bottom line. So target is mid management, flashy power point presentations and 'conferences' that allow for justified travel and stay.

Good mid management, with tech background, exists, but is a minority.

Not all is lost, truth is out there (c) Mulder :))

Re:The sad state of sysadmin in the age of containers (2015) by dredmorbius on Wednesday May 16, 2018 @05:01PM (#17086455)
Risk arbitrage.

Present capability vs. future catastrophic risk.

Technology is debt.

Re:The sad state of sysadmin in the age of containers (2015) by zapita on Wednesday May 16, 2018 @05:51PM (#17086793)
I honestly can't tell whether you're making a sincere but unintelligible argument, or just trolling.

Do you disagree with what I said?

Re:The sad state of sysadmin in the age of containers (2015) by dredmorbius on Wednesday May 16, 2018 @08:44PM (#17087669)
Yes, re: last.

Tech-as-debt is a notion I'm playing with.

https://mastodon.social/@natecull/99318348047974414

https://plus.google.com/104092656004159577193/posts/jS1K9Mto...

Obvious antecedent: technical debt, Ward Cunningham.