Steve Singh will become Docker’s new CEO
blog.docker.com
blog.docker.com
Steve was easily the most-respected leader in the travel industry- even people that disliked Concur admired Steve. He was articulate, created a clear vision for Concur that they maintained even as they grew like wildfire, and he inspired trust and goodwill with Concur partners.
I get the "oh no, SAP executive" instinctual reaction, but Steve is clearly an entrepreneur at heart and considers himself an entrepreneur (it took them 20 years of grinding and ups and downs to build Concur what it is today).
There was also a comment about him leading the company to exit in 2-3 years. I seriously doubt it. Concur's stock symbol is CNQR which isn't a coincidence. They didn't build Concur to sell it, they built it to conquer, which they had basically done when SAP bought them. Plus after 20 years I imagine $8B sounded pretty good, but I don't think their approach was ever to try to "flip" the company and I doubt he would join Docker if that was the intention in any way.
The small number of enterprises that are doing containers are going to Kubernetes for technical credibility or Redhat OpenShift for enterprise credibility.
Instead of trying to be a platform company for the enterprise, Docker should have just licensed and supported the Docker engine to the mass market (their one moat) and absolutely cleaned up.
I give them a lot of credit for noticing that nobody else was capitalizing on the existing container tech. But it did exist already. They didn't invent something new. They just put a nice cli, daemon, and image repository around it. I think they know the "license the engine" bit is a non-starter, as the higher level container orchestration platforms are already abstracting away from it.[1]
[1]http://blog.kubernetes.io/2016/12/container-runtime-interfac...
Meanwhile, the booths were 50% "we can install Kubernetes for you" and 50% "we can do monitoring/logshipping for your Kubernetes", which is interesting given that the Kubernetes guys are working on solving the first issue and Prometheus/Grafana/Fluentd solve the second issue already.
Fluentd is a terrible log shipper: sub-second timestamping is not yet supported in the stable build, support is patchy in the plugin ecosystem in 0.14. There's also some humdingers buried in the source (Rational numbers for time arithmetic?) Abstractions leak all over the place. The plugin ecosystem is weak and the API shims in the minor version API break are poor and in my experience break semver.
Prometheus has the right idea, but I wouldn't want to be running and scaling my telemetry system if I'd also taken on the burden of running my own container scheduler. Whilst I've no doubt Prometheus can be made to scale, I'd rather somebody else made the federation decisions for me.
Oh well :\
One problem with the Austin convention center is that it's VERY spread out, so it's easy to miss an entire chunk of sessions because they're almost impossibly far if you don't know what you're looking for.
As this thread insinuates, Docker is a VC-driven fad that has been seized upon by posers as the next buzzword to plaster across their resume. I wish more engineering managers were willing to stand up to this nonsense.
But that's actually the industry containers are good for. Enterprise. Predictability trumps costs. The flaws of docker may over time get fixed. It's the small companies and startups that are making a fool of themselves by pretending they extract any kind of value out of docker.
Imagine a large 100+ man software project that spans two years and involves four different organisations collaborating. There are at least 100+ non-technical 'knowledge workers' interacting with this process. The people have the intent of 'not being responsible for anything', but establishing their position/role so their cost/budget is validated. You know, the typical large-scale Oracle/Cap-Gemini/IBM clusterfuck of incompetence.
But that's the secret! They aren't incompetent at all (as organisations). They sell something no-one else sells. They sell predictability.
Because for all what it's worth: they don't make huge architectural fuck ups. They make their deadline. And they are able to deliver something, even with this many stakeholders pissing all over the project from any direction.
For them, docker is brilliant. It standardizes something. It doesn't do it very well, but that doesn't matter. They aren't in a low-margin world. "Docker isn't really secure, you really should run every docker image in a separate VM". Sure. These sort of people are paying 500-1000 per instance anyway. No one cares. Coordinating devops with this many stakeholders, now _thats_ expensive.
The quality of the actual technology (much like on the web itself) is initially irrelevant. The value is in the fact there's a contract. A standard. Docker is a bad implementation of reasonable idea. The question isn't if it's a good technical choice. No, it's not. But it's organisational and economically more compatible with the rest of world.
And you know what? At least those enterprise idiots will run JVM instances on their docker images, so if they need more than three servers it's not because they are incompetent (like every startup wasting their time on cloud orchestration stuff). At least when they pay the price in complexity for building something scalable it's because they actually need something scalable.
We're a small company and so far we've never found a role for Docker. We just deploy stuff to VMs and bare metal servers with Chef. Docker is occasionally useful for testing and builds but that's about it.
But... the thought of coordinating the way we do things with 100+ developers working under layers of middle management is terrifying. Stuff would be breaking left and right. It would be a disaster.
For that we'd want a true zero-interdependency micro service type way of doing things where everyone's part is a different product and is deployed as a completely separate monolith.
For that Docker with all its warts and inefficiencies is an acceptable, standard solution. As you say it's not ideal or elegant but it works and people know it.
If you want to raise $180M without a business model to become a fabled unicorn, you had better know what you're doing.
Docker just got a lot less interesting with an ex-Concur exec in charge, but it'll probably exit within 2-3 years and make the investors happy.
That maybe be the only reason to keep him on the board there.
Then they can "replace" the docker name with something that works, earn revenues out of it and benefit from the synergy with their other products.
The issue is, Docker is not worth billions of dollars and these buyers are already en route to kill it with their own replacement.
If someone buy them will be mostly for the name.
Not to insinuate that Singh doesn't understand the product. I'm sure he does, to an appreciable extent. But this isn't just a technical product, it's a technical product that pretty much only other technical people are going to be interested in. You say that holding on to a technical CEO will lead to contempt for the nontechnical employees of the company, I say that even the nontechnical employees of the company (project managers, account execs, salespeople) will need to have technical backgrounds anyway
I see some of the posts trending towards vitriolic here, but it's worth remembering that CEO or not, he's one of us, and deserves to be treated as well as any other member of the community.
Personally, I would like to extend my thanks to him for creating dotCloud (which I still miss, and preferred to Heroku for a variety of reasons), extending that into Docker, and for having been a hell of a nice guy all along the way.
Steve is an incredible human being, and a founder who took his company from zero to market dominance - Billion+ revenue and still growing fast. He persisted through 20 years of ups and downs to get there, and created a culture where people look out for each other and stay for the long run (average tenure is almost 15 years).
For a founder like me he's the ultimate role model, it's a privilege to be able to work with him and scale Docker together.
I think it's important we see all sides of it and if Docker happens to be controversial, well, that's their problem to solve, not ours. That's why they get the big bucks and we get to sit here and say what we want about it, at least for the present moment.
I would note that you have just as much right to say what you think here as anyone else, and saying otherwise is "speaking" for us as a group. I appreciate your comment and your presence here in this group.
I'm not saying pull punches, I'm just saying maybe remember that we aren't talking about a faceless politician here, and that to many, Solomon is someone they've interacted with, and likely in a positive way.
Referring to the guidelines, I'm imploring us to "be civil" and "avoid gratuitous negativity".
> I appreciate [etc]
Thanks. :-)
Fair enough. I'd also say remember what Mark Twain said about politicians: “Politicians and diapers must be changed often, and for the same reason.”
I didn't know these things. Thanks for the correction.
HN rules dictate one be civil, and if someone isn't being that you can flag their content. This is worse than a "why the downvotes" post, it's "pls be nice guyz i love Docker it great company".
Honestly, I think this is a really strange top post. It feels to me like this is an attempt at manipulating the discourse by providing social proof for Docker and by discrediting the posters that are unhappy about the direction Docker has been heading.
Anyway I think Docker is a great revolutionary product living up to the vision that was initially presented. However it badly needs enterprise adoption to remain viable, all other container systems suck in usability aspects. Hopefully this drives more revenue while keeping the core product still easy to use.
The Docker engine is the one thing which nobody else can easily replicate.
They would have smashed it in the mass market at something like $100/yr/node.
They can, and have: https://coreos.com/rkt
That's why Docker had to keep expanding.
BSD and solaris have had good containerisation engines for a while.
Linux, not so much.
Why do this?
The same could be said of almost anything though: "[Linux|Raspberry Pi|Angular|Python] is being used to cure diseases, keep planes in the air, to keep soldiers safe from landmines, to power the world’s largest financial networks and institutions
But I want to give them a fair opportunity to justify this statement. Can someone give me examples of diseases being cured via docker, or planes being kept in the air (etc)
I assume they mean "minimize time stuck on the tarmac" vs "literally flight critical", but I doubt even that.
The former would imply that something like dispatch functions are in production running on docker. I suppose that's possible, but it's not an area that lends itself to tech that's not very solidly proven for the space.
There is a legitimate fundamental issue with reproducing people's setups and Docker solves this. Ergo docker is valuable technology for data science.
Literally typing `docker run...` to reproduce results (vs. VM setup, installation etc.) seems important enough to justify their phrasing.
Fact: there are handfuls of data science startups that essentially rebrand docker and have been funded in the hundreds of millions of dollars specifically to solve this problem.
Oh, come on. This is why I hate Docker. Right here. It's like a heat seeking missile that looks for the friction points between engineering and operations, then explodes in a fireball of "do we really need operations? They're just old and obstinate and in the way of progress," without even really stopping to ask what progress is from the perspective of operations.
Some of us like to think of legitimate technical reasons to push back on Docker in our own circumstances and deployments (some of us even read code to help make that determination), but I suppose your dichotomy would be fun to navigate for everyone involved. I've definitely been in environments where one side characterizes operational pushback as change reticence, which immediately personalizes the discussion. That's a tough environment in which to argue, especially when you're arguing with people who will not be on call for the crap they are trying to deliver to you.
The casual ageism in your comment is, sadly, expected. I'm growing accustomed to HN considering it acceptable to go after "old" and "operations" with equal vigor, which speaks more broadly to worrying trends in our industry. I'm 31 and have devoted my career to operations, and I already have an exit plan. That should say something about the industry, and I think this comment is a fine microcosm of that.
The meaning people use the word to get at is "from another time when problems were solved differently, and staid in their opinions toward new solutions vs. those from the previous era."
I've heard myself called an "old man" online for liking SQL stored procedures. I was 23 at the time. :)
Where I get frustrated with ops is when they forget that they're in the service business. They're there to serve application developers in the same way that the application developers are there to serve customers. An application developer pushing back at a customer ask with the line, "without really stopping to ask what progress is from the perspective of developers" would be rightly lampooned. And yet somehow there's people that think the ops mindset is reasonable. In my view, "no" is not a valid viewpoint. Application developers are telling you they want the kind of functionality that Docker offers. That makes it your job to figure out how that happens, not if it happens.
In my view, you've got that completely backwards. Both departments serve customers in a roundabout way. Dev is responsible for turning user stories (generated either by other devs, focus groups, and so forth - which may, but doesn't necessarily involve an actual paying customer) into code, ops is responsible for keeping that code running.
If dev screws up, user gets bugs, or the app goes down. Same for ops - it's just the class of bugs are different.
Application developers are telling you they want the kind of functionality that Docker offers. That makes it your job to figure out how that happens, not if it happens.
As long as me and my ops team are the primary people with skin in the game (read: getting 3AM wakeup calls), me and my team will maintain a say in what tech stack we're responsible for the care and feeding of. The dark days of dev throwing code over the wall to ops is long gone - I am gobsmacked that you'd suggest that this is for some reason improper.
What dev often forgets, and the cause of much strife, is this justification. If you want a team of n people to learn this new thing and its new ways of operating, then you need to do an honest, dispassionate cost/value analysis. And show your work, dammit. When this never happens, it conveys an "Oh great, Dev is on one of their 'Ooh, shiny!' kicks again" mentality to the rest of the team, especially those that aren't politically connected enough in the org to know any different. I know it's because you're busy and have insane deadlines to meet. Meanwhile, the phones ring at 3am, and the message is lost.
The result is a strained and adversarial relationship, often to the customer's detriment.
Here's where we're in violent agreement. I believe the best way to ensure that the pager doesn't go off at 2am is to give that duty to developers. Far and away the most likely reason for a production issue is new code that went live. No matter how good communication is within an organization, ops will never have the same context for issues like this that dev will. So dev being the tip of the spear with regard to incident response will result in faster resolution. The job of ops is to be an enabler of this responsibility. They should be building tooling and infrastructure that makes it easy for dev to do the right thing but doesn't force decisions on dev. Ops is an abstraction layer that gives developers higher-level primitives for infrastructure that allows them to solve the customer problems more easily.
But there's no substitute for the dual benefit that you get from a) oh...I wonder if this problem is related to that change I reviewed yesterday and b) hmm...I've got pager duty this weekend, so perhaps I shouldn't just LGTM this PR. And for that reason, developers and developers alone are responsible for a working application. Ops is only there for support.
Nope, nope, nope, nope. I quoted this entire paragraph at length because it's all just completely wrong.
Read Site Reliability Engineering that Google just published for an alternative perspective. SRE at Google is specifically and vocally organized to have authority to push back on engineering. Without exception. "No" is absolutely a valid viewpoint, particularly when you're asking a team to go on call for your code. It's not you sleeping in the guest bedroom and fucking up a marriage, now is it? No, it's us. Let's reframe this: you are responsible for software. I am responsible for production, which happens to run your software along with, likely, a bunch of other things that you don't know about. You said in another comment that operations exists solely to abstract infrastructure for developer consumption, which is such a heavy marginalization of what we do that I'm amazed you even identify yourself as an operator of any kind.
I'm not saying this to be an impediment to you. Both our paychecks flow from the same mission. I just need the authority to push back when your decisions threaten production (especially when you don't understand why). It's contrived, but on one end of the spectrum, if you said let's rewrite the stack in ColdFusion, it's not my job to figure out how to enable you. It's my job to figure out how to keep the lights on, and defending that properly means investing absolutely zero in your ColdFusion rewrite. Escalate to my management if you choose; if it comes down to the ColdFusion rewrite or my continued leadership of operations, I'll go somewhere else. So the more you ask operators to be "yes people" for engineers, the more you end up with operations outsourced to Tata and Infosys -- who will say yes to everything you want. Have fun with that.
Seriously, operations will be the equivalent of COBOL consulting by 2030. Just wait. I'll hit my mid-40s, pull a Mikey Dickerson, and build a consultancy to swoop in and clean up the mess that you're creating by marginalizing operations as strongly as you are and laugh all the way to the bank.
Particularly in SRE, I'm a software engineer who happens to enjoy the plumbing that keeps your code running. I do not exist to serve at the pleasure of application developers, nor do I accept any imagery of my being inferior because I don't spend my days writing red/black trees to shave a few milliseconds off the news feed. I can, and have, do/done SRE without a single application developer customer, and I like to think of SRE as a little bit better than application engineering: you push to a repo and wait. I push Enter and 10,000 things happen instantly. Who's having more fun?
Tossing lame code over the fence is how to sow bad seeds with operations. That you've then had negative experiences with operations, enough to generalize us as a species (are you hitting sysadmins? ops? sysops? devops? hwops? netops? SRE?), is only a reinforcement for that to me. I would say between a combination of educated guessing based on your opinion, prior experience, and a few other inputs that it's pretty likely that your gripes with operations stem from flawed expectations on your part.
You won't survive years in the field if you don't respect the basics.
'We really need to land, but the container responsible for landing navigation has crashed and I can't restart it because Docker complains that the endpoint is already registered on the overlay network'
'Just delete /var/lib/docker and re-pull.'
All plane software must be certified DO-178. For starters, that means 100% code coverage.
The docker marketing team does seem to be accomplishing their intended purpose, but their preeminence in the company's decision-making does rub the cynical dev crowd the wrong way!
The following government entities are known to use, or have used (Docker) containers:
* USAF
* US Navy
* CFPB
* CDC
You can look up their RFPs online and see why they want to use containers. IMHO, these are pretty direct ways of keeping soldiers safe, and curing disease.
Planes are running on embedded microcontrollers still written in C or Ada. (They can't even get the approval to write C++).
Docker is not 1% ready for critical use. The day these things will use Docker, planes will fall and we'll have the next financial crisis.
As someone who worked both in finance and aerospace, handling systems that traded billions of dollars and planes that were carrying hundreds of passengers. This is my testimony on the year we tried to use Docker in production: http://thehftguy.com/2016/11/01/docker-in-production-an-hist...
2) RedHat is well positioned in the big enterprise market with support/vendor contracts, containerization is just one more lateral offering in the portfolio.
3) RedHat is a well known and trusted brand, Docker is not.
It is inspirational to see that nowadays you can build a huge company when you make a product developers want.