[HN Gopher] Apache Mesos to be moved to Attic
       ___________________________________________________________________
        
       Apache Mesos to be moved to Attic
        
       Author : coolandsmartrr
       Score  : 189 points
       Date   : 2021-04-06 15:32 UTC (7 hours ago)
        
 (HTM) web link (lists.apache.org)
 (TXT) w3m dump (lists.apache.org)
        
       | fiberoptick wrote:
       | End of an era...
       | 
       | Are there any viable alternatives to Kubernetes and Nomad?
        
         | desktopninja wrote:
         | Personally think AWS ECS is a 3rd place contender. Would add
         | sprinkles to it if only they'd allow yaml files vs json configs
         | in the aws-cli. ecs-cli and copilot are alright. Generally
         | prefer to stay as close as possible to aws-cli
        
           | kbar13 wrote:
           | AWS CDK makes ECS a lot more palatable
        
         | fastball wrote:
         | Docker-swarm?
        
           | mplewis wrote:
           | Docker Swarm is being cannibalized by k8s.
        
           | yjftsjthsd-h wrote:
           | Having worked at a company running Docker swarm at...
           | medium(?) scale... I have witnessed a truly shocking variety
           | of bugs in its network stack. I always wondered if it was
           | something specific to the company setup, but the result is
           | that we just couldn't stay on a platform that would randomly
           | fail to give containers a working network connection to each
           | other.
        
         | dragonsh wrote:
         | For over 90% of workloads kubernetes is an overkill. Only when
         | company is reaching google scale kubernetes make sense.
         | 
         | A good alternative to kubernetes is LXD [1] or just stick with
         | docker compose. Kubernetes except for managed services from
         | cloud providers is more difficult than an average application
         | to manage and a huge cost in itself to run and maintain.
         | 
         | [1] https://www.linuxcontainers.org/
        
           | lima wrote:
           | > _For over 90% of workloads kubernetes is an overkill. Only
           | when company is reaching google scale kubernetes make sense._
           | 
           | I hear people repeating this truism all day, but from
           | practical experience, it doesn't seem to be the case -
           | Kubernetes is paying dividends even in small single-node
           | setups.
        
             | lovedswain wrote:
             | K8s single noder and GKE user here, can confirm I wouldn't
             | remotely even consider going back. Deploying an app takes
             | 5-10 minutes at most first time around, new pushes <1
             | minute, and when there is ops bullshit involved, it is
             | never wasted work, and never needs to be repeated twice.
             | 
             | I hated Kubernetes ops complexity at first, but there
             | really isn't that much to it, and if it's too much, a
             | service like GKE takes 70%+ of it away from you
        
           | madhadron wrote:
           | > Only when company is reaching google scale kubernetes make
           | sense.
           | 
           | Long before Google scale. Kubernetes won't handle clusters
           | anywhere near that large.
        
           | marcinzm wrote:
           | >except for managed services from cloud providers
           | 
           | I'd imagine most small to medium companies would be running
           | things on a cloud service using managed kubernetes. It seems
           | mostly larger companies that are sticking with non-cloud
           | hardware and services.
           | 
           | The advantage of kubernetes in that case is that there is a
           | large ecosystem of helm charts, guides, documentation, etc.
           | Deploying something new from scratch is fairly easy since
           | someone else has done all the leg work and packaged it all
           | up.
        
             | rantwasp wrote:
             | just because something is packaged does not mean it's
             | usable. YMMV but this is how security horror stories start.
             | Someone ran a container they had no idea where it came
             | from, happily used a helm chart. Most of the times it's not
             | even malicious - it's outdated software because "it just
             | works"
        
               | marcinzm wrote:
               | In my experience all the common helm charts and docker
               | images are regularly updated. If you don't update your
               | installation of them then you also wouldn't update a
               | docker compose or LXD.
        
           | mplewis wrote:
           | For a different perspective, learning Kubernetes and using it
           | widely gives you a universal set of tools for managing all
           | sorts of applications at all scales.
           | https://news.ycombinator.com/item?id=26502900
        
             | ForHackernews wrote:
             | Sure, this is kind of true, but only in the most depressing
             | way possible. Kubernetes is overengineered and terrible but
             | it's also just about the only game in town if you want a
             | vendor-agnostic container orchestration system.
             | 
             | This is the same situation as Javascript circa 2008:
             | "Learning this absolute dogshit language and using it
             | widely will give you the ability to write universal
             | applications that will run in browsers everywhere and make
             | you very employable."
             | 
             | You're not wrong about k8s today, and wouldn't have been
             | wrong about JS in the past, but boy is it a sad indictment
             | of our industry that these things are true.
        
               | marcinzm wrote:
               | Kubernetes is engineered to solve the five hundred
               | different problems that different people have in a way
               | that works for them. If you don't do that then everyone
               | will complain about their feature or some edge case being
               | missing and not use the system (see comments on mesos in
               | this thread). That's not over engineering, that's the
               | required amount of engineering for this sort of system.
        
               | ForHackernews wrote:
               | Yeah, k8s people keep telling me this.
               | 
               | But also, k8s "secrets" are not, in fact, secret, you
               | can't actually accept traffic from the web without some
               | extra magic cloud load balancer (cf https://v0-3-0--
               | metallb.netlify.app/ maybe eventually) or properly run
               | anything stateful like a database (maybe soon).
               | 
               | Forget covering "everyone's" use cases: From where I'm
               | sitting, k8s is an _insanely_ complicated system that
               | does a miserable job of covering the 95% use cases that
               | Heroku solved in 2008.
               | 
               | It's great that k8s (maybe) solves hard problems that
               | nobody except Google has, but it doesn't solve the easy
               | problems that most people have.
        
               | orf wrote:
               | > It's great that k8s (maybe) solves hard problems that
               | nobody except Google has, but it doesn't solve the easy
               | problems that most people have.
               | 
               | But it does though. Your dissent is that you don't
               | understand what secrets are and think load balancers are
               | "magic"?
               | 
               | Come on. Also see this[1]
               | 
               | 1. https://www.nginx.com/products/nginx-ingress-
               | controller/
        
               | ForHackernews wrote:
               | Yes, yes, there's a million zillion Kubernetes ingress
               | things, none of which are really good enough that anyone
               | uses them without a cloud-provider LB in front of it.
               | Also they only deal with HTTP/S traffic. Got other types
               | of traffic you want to run? Too bad, tunnel it over
               | HTTPS.
               | 
               | If you want a picture of the future of computing, imagine
               | everything-over-HTTPS-on-k8s-on-AWS stomping on a human
               | face forever.
        
               | orf wrote:
               | > Got other types of traffic you want to run? Too bad,
               | tunnel it over HTTPS.
               | 
               | Then you'd expose a service, not an ingress. You can do
               | this in a variety of ways depending on your environment.
               | 
               | I'm going to go out on a limb here and say you've never
               | really used k8s and haven't really grokked even the
               | documentation.
               | 
               | It's complicated, some parts more than others, but if
               | you're still at the "wow guys secrets are not really
               | secret!1!" level I'm not sure how much you can really
               | bring to the table in a discussion about k8s.
        
               | ForHackernews wrote:
               | > Then you'd expose a service, not an ingress.
               | 
               | That only works to access the service from other pods
               | inside k8s, it doesn't help you make that service
               | accessible to the outside world. Tell me how you'd run
               | Dovecot on k8s?
               | 
               | > if you're still at the "wow guys secrets are not really
               | secret!1!" level
               | 
               | I'm just pointing out one (of many) extremely obvious
               | warts on k8s. You act like this is some misconception on
               | my part, but it's not that silly to assume that a secret
               | would be.
               | 
               | But to answer your smarm, yes, I've used Kubernetes in
               | anger: my last company was all-in on k8s because it's so
               | trendy, and it was (IMHO) an absolute nightmare. All
               | kinds of Stockholm-syndrome engineers claiming that
               | writing thousands of lines of YAML is a great experience,
               | unable to use current features because even mighty Amazon
               | can't safely upgrade a k8s cluster....
        
               | orf wrote:
               | > That only works to access the service from other pods
               | inside k8s, it doesn't help you make that service
               | accessible to the outside world. Tell me how you'd run
               | Dovecot on k8s?
               | 
               | Quite the opposite. I'd re-read the docs[1]. Specifically
               | this page[2]. If you're on AWS you'd probably wire this
               | up with a NLB and a bit of terraform if you're allergic
               | to YAML. Seems like a 5 minute job assuming you have
               | Dovecot correctly containerized.
               | 
               | > I'm just pointing out one (of many) extremely obvious
               | warts on k8s. You act like this is some misconception on
               | my part
               | 
               | It's hard not to point out misconceptions like the one
               | above.
               | 
               | 1. https://kubernetes.io/docs/concepts/services-
               | networking/
               | 
               | 2. https://kubernetes.io/docs/concepts/services-
               | networking/serv...
        
               | ForHackernews wrote:
               | From the docs you linked:
               | 
               | > ClusterIP: Exposes the Service on a cluster-internal
               | IP. Choosing this value makes the Service only reachable
               | from within the cluster. This is the default ServiceType.
               | 
               | Internal only.
               | 
               | > NodePort: Exposes the Service on each Node's IP at a
               | static port (the NodePort). A ClusterIP Service, to which
               | the NodePort Service routes, is automatically created.
               | You'll be able to contact the NodePort Service, from
               | outside the cluster, by requesting <NodeIP>:<NodePort>.
               | 
               | Nobody uses NodePort to expose external services
               | directly, and I think you know that.
               | 
               | > LoadBalancer: Exposes the Service externally using a
               | cloud provider's load balancer. NodePort and ClusterIP
               | Services, to which the external load balancer routes, are
               | automatically created.
               | 
               | As I mentioned above in this thread, requires cloud
               | provider Load Balancer.
               | 
               | > ExternalName: Maps the Service to the contents of the
               | externalName field (e.g. foo.bar.example.com), by
               | returning a CNAME record with its value. No proxying of
               | any kind is set up.
               | 
               | > Note: You need either kube-dns version 1.7 or CoreDNS
               | version 0.0.8 or higher to use the ExternalName type.
               | 
               | This one's a new one to me, and apparently relies on some
               | special new widgets.
               | 
               | Anyway, if you love k8s, I'm sure you'll have a
               | profitable few years writing YAML. Enjoy.
        
               | orf wrote:
               | > This one's a new one to me, and apparently relies on
               | some special new widgets.
               | 
               | ExternalName has been around since 2016.
               | 
               | > Nobody uses NodePort to expose external services
               | directly, and I think you know that.
               | 
               | Sure they do. Anyone using a LoadBalancer does this
               | implicitly. If you don't want k8s to manage the allocated
               | port or want to use something bespoke that k8s doesn't
               | offer out of the box then using a NodePort is perfectly
               | fine. You can also create a custom resource type if
               | you've got some bespoke setup that can be driven by an
               | internal API.
               | 
               | The happy path is using a cloud load balancer, because
               | that's what you'd use if you are using a cloud provider
               | and you're comfortable with k8s wiring it all up for you.
               | 
               | Has your criticism of k8s evolved from "I'm unclear about
               | services" to "well yes it supports everything I want out
               | of the box but uhh nobody does it that way and therefore
               | it can't do it"?
        
               | ForHackernews wrote:
               | My criticism of k8s is it's an absolutely batshit level
               | of complexity[0] that somehow still fails to provide
               | extremely basic functionality out-of-the-box (unless
               | paired with a whole cloud provider ecosystem, but then
               | why not just skip k8s and use ECS???). I don't think k8s
               | solves real problems most developers face, but it does
               | keep all these folks[1] getting paid, so I can see why
               | they'd advocate for it.
               | 
               | Nomad is vastly superior in every way except for
               | mindshare; Elastic Beanstalk or Dokku is superior for
               | most normal-people use cases.
               | 
               | [0]
               | https://kubernetes.io/docs/concepts/overview/components/
               | 
               | [1] https://landscape.cncf.io/
        
               | marcinzm wrote:
               | Your points mostly only matter if you're running on bare
               | metal. If you're in the cloud then you've got load
               | balancers and databases covered by your cloud provider. I
               | need Kubernetes to handle problems that I already have
               | great solutions for. I want it to handle the problems
               | that my cloud provider provides poor or very specialized
               | (ie: lock in) solutions for. Which for me it does very
               | well and a lot more easily than doing so without
               | Kubernetes.
               | 
               | edit: Kubernetes secrets are also either good enough (ie:
               | on par with Heroku) or your cloud provider has an actual
               | proper KMS.
        
               | ForHackernews wrote:
               | ITT: K8s is great because it frees us from the tyranny of
               | Big Cloud providers.
               | 
               | Also ITT: Oh, but of course k8s is totally unusable
               | unless you buy it from a Big Cloud provider.
        
               | marcinzm wrote:
               | Please don't put words in my mouth. I said it frees you
               | from lock in by a single cloud provider which it does.
        
           | orthecreedence wrote:
           | I don't know about this. I caution people against
           | microservices architecture all the time, but at my company
           | having a scheduler just made sense. We spin up and down queue
           | workers by massive amounts every hour, and doing this with
           | anything besides a scheduler would be really tricky.
           | 
           | Granted, we use Nomad, not k8s, but we definitely need a
           | scheduler and definitely are not reaching Google-scale.
        
             | p_l wrote:
             | It doesn't even have to be some microservices monster, just
             | trying to bin-pack a bunch of different services, even
             | monoliths, onto a fleet of servers.
             | 
             | If I did it how the usual "k8s is only for FAANG scale"
             | people tell me to do, I'd go bankrupt ;)
        
           | 0xEFF wrote:
           | > For over 90% of workloads kubernetes is an overkill.
           | 
           | It's not. Take any simple web app and deploy it into managed
           | GKE with Anthos and you automatically get SLI's and the
           | ability to define SLO's for availability and latency with a
           | nice wizard. Takes a few minutes to setup.
           | 
           | The amount of engineering needed to achieve good SLO
           | monitoring dwarfs the engineering needed to run a simple app
           | so it just never happened. That's no longer the case.
           | 
           | > Only when company is reaching google scale kubernetes make
           | sense.
           | 
           | Also obviously not true given the number of companies
           | deriving value from kubernetes.
           | 
           | Note, I'm a Google Cloud partner.
        
       | kraemate wrote:
       | Mesos made a ton of new contributions to distributed resource
       | management. Resource offers and application integration can allow
       | high cluster utilization and efficiency. Giving applications the
       | opportunity to take part in resource allocation and scheduling
       | was similar to the Exokernel design, and led to many interesting
       | middleware architectures.
       | 
       | Mesos also introduced Dominant Resource Fairness for allocating
       | resources to competing applications, which has become an
       | important concept in CS and specifically computational economics
       | in its own right.
       | 
       | Mesos achieved the rare combination of using CS research towards
       | a widely deployed operational system. Its C++ code is simple
       | enough to understand and hack, and seemed like one of those
       | projects that you can/want to reimplement on your own "in a few
       | days".
       | 
       | It is sad how quickly it has become obsolete.
        
         | jeffbee wrote:
         | Are there examples of high-utilization, large-scale Mesos
         | deployments? Mesos didn't even gain over-commit until 2015, so
         | it seems like it was generally behind the state of the art.
        
           | kraemate wrote:
           | IIRC you could always overcommit in Mesos using DRF weights
           | and accepting resource offers in your application. I could be
           | wrong.
           | 
           | The larger point is that Mesos introduced a new, exciting way
           | to do truly distributed allocation (where the cluster manager
           | (i.e., Mesos) and various applications coordinated and
           | cooperated in how they use computing resources). In contrast,
           | Kubernetes is centralized, pretty vanilla, and I would love
           | to know what new ideas it has introduced (from an algorithmic
           | and architecture perspective).
        
           | dharmab wrote:
           | Most famously, Siri (used to?) run on a very large scale
           | Mesos deployment (10000s of nodes, much higher than
           | Kubernetes can scale to).
           | 
           | Unfortunately the original article is lost, but here's a
           | summary: https://daringfireball.net/linked/2015/04/29/siri-
           | apache-mes...
        
             | madhadron wrote:
             | To be fair, Kubernetes right now only schedules relatively
             | small clusters. But it turns out that the majority of the
             | world is not Facebook or Google and only needs relatively
             | small clusters.
        
             | jeffbee wrote:
             | OK but what was the utilization? I'm not really sure K8s is
             | state-of-the-art either. There are published research
             | papers about very-large-scale clusters with 80%+ resource
             | utilization.
        
               | dharmab wrote:
               | In our production experience, utilization had far more to
               | do with the service owners (or autoscalers/auto-tuners)
               | correctly choosing the cgroups and CPU scheduler
               | allocations, as well as the kernel settings for cgroup
               | slicing and CPU scheduler. We had Mesos clusters with 3%
               | utilization and have Kubernetes clusters with 95%+
               | utilization. But we also have Kubernetes clusters with
               | <10% utilization.
        
           | bdd wrote:
           | Twitter. From generic caches to ad serving; from stream
           | processing to video encoding, all high utilization
           | applications of either one or multiple schedulable resources.
        
             | jeffbee wrote:
             | As MesosCon Twitter said their cluster utilization was
             | between 20 and 30%.
        
               | bdd wrote:
               | These jobs had their allotted quotas, per team, giving
               | them above >70% utilization in their logical slice of the
               | cluster. E.g. video processing team gets 20,000 nodes
               | globally. They stack (co-locate) their tasks (interpret:
               | set of processes) however they want.
               | 
               | Granted Twitter operated one big shared Mesos+Aurora
               | offering for everything*, the whole cluster high
               | utilization wouldn't give much flexibility to absorb
               | load, or do reasonable capacity planning (which was an
               | entire org in itself) when you own and operate those
               | machines and data centers. I can't comment much on the
               | 20-30% figure given in MesosCon, it's been more than 5
               | years since I was last privy to these figures.
        
               | streblo wrote:
               | I worked for Twitter up until 2017 and when I was there
               | it was much higher than 20-30%, definitely >50%. It's
               | very possibly changed since then, but at least at that
               | point in time Twitter was running Mesos on many thousands
               | of machines.
        
       | ksec wrote:
       | I remember at MesosCon, Apple said they are the largest Mesos
       | user. I wonder if they also moved to K8s as well.
        
         | thor24 wrote:
         | They have apparently hired a ton of great k8 folks who have
         | been tasked with building an internal layer of sorts for
         | themselves so I guess they are moving off it (though not
         | anytime soon).
        
       | zekrioca wrote:
       | I'm sad for that.. It was truly a neat project with many great
       | ideas, but Kubernetes influence brought it to an end :/
        
       | xyzzy_plugh wrote:
       | I used Mesos for a few years before experiencing Kubernetes. As
       | neat as Mesos was, it was doomed from the start.
       | 
       | For one, Kubernetes was, at least to some extent, a rewrite and
       | extraction of functionality built at Google, from their
       | production orchestration ecosystem that is Borg. The fact that
       | Kubernetes was heavily influenced by a successful, large solution
       | in this space allowed it to leapfrog, at least a bit, the
       | competition.
       | 
       | Mesos was trying to become a solution seemingly from scratch. I
       | worked with and interacted with a number of Mesos project members
       | and committers, and while they were generally bright folks, their
       | industry experience was surprisingly shallow. In my experience,
       | Mesos changed frequently and there were enough unknown TBD
       | components at the edges of the ecosystem to make it somewhat
       | volatile.
       | 
       | Within a year Kubernetes was waaaaay ahead and Mesos started
       | considering pivoting to support k8s.
       | 
       | I no longer see a purpose in Mesos, and frankly, that's okay. Too
       | many Apache projects are on eternal life support, and they lower
       | the bar for the rest of the Apache ecosystem, which has sort of
       | begun to earn a poor reputation for quality (ala some of the
       | fringe Boost libraries). Apache Foundation is no longer a label
       | for solid, reliable software.
        
         | nemothekid wrote:
         | > _As neat as Mesos was, it was doomed from the start._
         | 
         | I don't think it was doomed from the start; Mesos was deployed
         | at Twitter 4 years before k8s was even released. The "problem"
         | with Mesos was that it was focused on a future that never
         | panned out. The "killer app" for Mesos was Spark, and the
         | problem they were focused on solving was resource allocation
         | for batch jobs. Mesos was supposed to be a replacement for
         | YARN. Even Marathon, which was the de facto application
         | launcher, was pitched as a "meta-framework". Marathon wasn't
         | for launching services, it was for launching custom frameworks.
         | They never really pivoted from this, and the writing was on the
         | wall when Mesosphere decided to make Marathon as proprietary as
         | possible and fully integrate it within their commercial
         | solution. Once Marathon was gone, Mesos didn't really compete
         | with k8s anymore unless you wanted to write your own framework.
        
           | tknaup wrote:
           | Co-founder of Mesosphere/D2iQ here.
           | 
           | Mesos started as a research project at Berkeley in 2009 and
           | was originally focused on cluster computing frameworks like
           | Hadoop. From the paper: "We present Mesos, a platform for
           | sharing commodity clusters between multiple diverse cluster
           | computing frameworks, such as Hadoop and MPI." It actually
           | predates YARN by a few years. But, it very quickly (in 2010)
           | saw production use at Twitter as the foundation for Twitter's
           | custom PaaS which was later open sourced as Apache Aurora.
           | 
           | Marathon's main use case was actually for running
           | microservice application in containers, which is why it has
           | some advanced features around managing groups of
           | containerized apps and their dependencies. The "meta-
           | framework" use case for launching custom frameworks was also
           | important but basically just needs Marathon to keep a
           | container alive. Mesosphere never made Marathon proprietary.
           | The full code is still OSS here:
           | https://github.com/mesosphere/marathon/ Our commercial
           | product DC/OS just added advanced workflows through a UI on
           | top, and better integration with the rest of the components
           | around Mesos.
        
           | xyzzy_plugh wrote:
           | You're partially correct.
           | 
           | Mesos was originally an academic project out of UC Berkeley.
           | I'm not aware of what industry connections there were, but
           | the story is not at all similar to Kubernetes and Borg.
           | 
           | Aurora was Twitter's contribution -- a bit missing piece of
           | Mesos at the time. It definitely steered Mesos towards
           | solving for Spark, but I'm really not sure what Mesos was
           | actively solving before then.
        
         | hintymad wrote:
         | A challenge with Mesos is that Mesos was a piece of technology,
         | a framework at most, instead of a product. When I was using
         | Mesos, the selling point was flexible and efficient resource
         | scheduling. Unfortunately, resource/machine efficiency alone
         | does not sell well, as most of the companies and individuals
         | have betters things to worry about, say, productivity.
        
           | ignoramous wrote:
           | > _Unfortunately, resource /machine efficiency alone does not
           | sell well..._
           | 
           | Surprising because one of the driving forces behind
           | accelerating adoption of on-demand IaaS and various PaaS like
           | Serverless is that too many expensive server resources lay
           | idle. According to James Hamilton, chief Data Center
           | architect at AWS, server utilisation remains very low
           | (10%-15%) despite servers being the most dominant cost of
           | building and running a data center (which is to say, folks
           | pay through their nose for servers yet those are under-
           | utilized by a huge margin) [0]
           | 
           | [0] https://youtu.be/dInADzgCI-s?t=535
        
             | hintymad wrote:
             | I don't deny that. It's just that so many companies have so
             | much inefficiency else where that addressing resource
             | inefficiency has too low a marginal return.
        
           | ghaff wrote:
           | >the selling point was flexible and efficient resource
           | scheduling
           | 
           | There was a period when it wasn't clear that you didn't need
           | both resource management and container orchestration. One of
           | my colleagues was quite convinced at the time that we needed
           | both Mesos and Kubernetes. If course, the market coalesced
           | around Kubernetes which largely backfilled the missing
           | capabilities.
        
         | dharmab wrote:
         | We used Mesos in production until 2020 (started transition to
         | Kubernetes in 2018), and this comment is incredibly accurate.
         | Mesos was an interesting project but the defaults were
         | incredibly naive about production environments.
         | 
         | Two concrete examples: Mesos maintenance mode vs Kubernetes'
         | cordoning and eviction APIs, and Mesos's default behavior when
         | a Node is suddenly powered off vs Kubernetes'.
        
       | ta20210405 wrote:
       | Somewhat of an end of an era. Worked at a shop that had one of
       | the largest Mesos fleets in the world. Thousands of physical
       | nodes, petabytes of data. True Mesos in production was something
       | to witness.
        
       | jaaron wrote:
       | I preferred Mesos to k8s. I think it's core architecture (a
       | 2-level scheduler) is a better foundation. For the longest time,
       | I felt k8s was effectively an overgrown hobby project that had no
       | place being deployed the way it was. That had me realize
       | something in the shower this morning:
       | 
       | k8s is the Rails of the cloud.
       | 
       | Back when Rails came out, it too was a bit of a hobby project.
       | When coming from more established enterprise web frameworks,
       | Rails felt like a toy. It didn't have the features, robustness,
       | safety, and scalability of "proper" frameworks.
       | 
       | What did Rails do? It was easy to get started and it hid a lot of
       | the boring and painful work of web frameworks at the time.
       | 
       | Through the sheer force of will of a massive community, Rails
       | grew up and became something more the toy it started as. I was
       | pretty arrogant in my opinions about the Rails community at
       | first, but then I ended up working on several Rails projects over
       | the years.
       | 
       | It still hides a lot under the hood, there are still arguably
       | better technical frameworks out there and plenty of folks use it
       | improperly, when they don't need to, and without really
       | understanding the fundamentals, meaning that they tend to get in
       | trouble when pushing the limits or moving outside the golden path
       | of development.
       | 
       | And I feel the same way about k8s. I think it started out without
       | anywhere near the features of similar frameworks. It didn't scale
       | well, was simplistic in it's model, and overly complicated in
       | it's implementation. But it was much more approachable than
       | something like Mesos and answered the question of "why am I
       | containerizing everything?", giving everything a purpose to those
       | who started down the path of Docker. And now it has a huge
       | following and industry behind it.
       | 
       | At this point, I've learned that what becomes popular isn't
       | necessarily the "right" or "correct" architecture. There's a lot
       | more to programming trends (and fads) than that. The whole
       | industry seems to want to reinvent the wheel every decade, almost
       | like some sort of planned obsolescence to justify our work.
       | Nevertheless, it's rarely wise to fight against the tide and when
       | you have the enough of the industry moving in a direction, we can
       | make even toys into real tools.
        
       | specialp wrote:
       | We used Mesos as our first container orchestration stack. It
       | worked OK but Kubernetes came along and offered a one stop
       | solution for everything. In Mesos you had to use separate
       | projects for container management (Marathon), discoverability
       | (Consul/HAPROXY). It seemed more geared to people that wanted to
       | run their own stacks for such tasks. For a small to medium sized
       | operation it was difficult to solve these issues where really
       | they are issues everyone running a stack of containers has. This
       | was in 2014 so it was early but k8s came along with everything we
       | needed.
        
       | relistan wrote:
       | The real gem of the Mesos ecosystem was the much lesser known
       | Singularity scheduler from HubSpot.
       | 
       | https://github.com/HubSpot/Singularity
       | 
       | I've run this at scale, in production since 2015 and it has been
       | absolutely rock solid and does most of the production things
       | you'd want. Unlike commercial products, it was written to run
       | HubSpot's own infrastructure so it does what a production system
       | needs. Really bummed to have to downgrade to something like K8s
       | in the near future.
        
         | tpetr wrote:
         | Thanks for the kind words! Singularity is still a core piece of
         | infrastructure for running stateless apps at HubSpot (our
         | status page currently reads ~13k Requests, ~22k Active Tasks,
         | ~700 Agents). We're also heavily investing in Kubernetes, but
         | Singularity is solid enough that our focus has been more
         | towards reliably running and scaling stateful things like
         | MySQL, ZK, Kafka, HBase, and ES.
        
       | kevincox wrote:
       | I used mesos a while ago across a couple of cheep VPS for
       | personal projects and services and it was great. I especially
       | liked that I could used a shell executor to run services with
       | filesystem access. For many environments this probably didn't
       | make sense but for me I could put some secrets on the filesystem
       | and services could make unix sockets available to nginx for SSL
       | and hostname based forwarding.
       | 
       | Also with Nix I could easily install software the specific
       | services needed and it was trivial to integrate into the garbage
       | collector making it much faster than launching a docker
       | container.
       | 
       | That being said the project wasn't moving that fast and it was a
       | bit buggly for me and nodes would regularly get into loops where
       | they couldn't authenticate with the master for various reasons (I
       | think there were timing issues and timeouts that caused issues
       | over the internet). Now I'm using Kubernetes but I have all of
       | this complicated virtual networking that I don't need, I'm locked
       | into docker-like containers and the thing is so complicated that
       | I need to pay someone to run it for me.
        
       | fnord123 wrote:
       | Fun fact: According to the initial Mesos paper: Spark was a demo
       | project to show off Mesos.
       | 
       | https://people.eecs.berkeley.edu/~alig/papers/mesos.pdf
       | 
       | > To validate our hypothesis that specialized frameworks
       | providevalue over general ones, we have also built a new frame-
       | work on top of Mesos called Spark ...
        
       | throwaway823882 wrote:
       | Most of the comments here about Mesos are exactly my experience
       | with Kubernetes. Replacing the words and I'm just nodding my
       | head:
       | 
       |  _" Kubernetes changed frequently and there were enough unknown
       | TBD components at the edges of the ecosystem to make it somewhat
       | volatile."_
       | 
       |  _" Kubernetes was an interesting project but the defaults were
       | incredibly naive about production environments."_
       | 
       |  _" Kubernetes unfortunateley never got beyond being a shiny UI
       | with a primitive application model and a hacky API."_
       | 
       |  _" A challenge with Kubernetes is that Kubernetes was a piece of
       | technology, a framework at most, instead of a product."_
       | 
       |  _" In Kubernetes you had to use separate projects for container
       | management (kubelet, kube-scheduler, kube-controller-manager,
       | kube-proxy, cri-o), discoverability (etcd). It seemed more geared
       | to people that wanted to run their own stacks for such tasks. For
       | a small to medium sized operation it was difficult to solve these
       | issues where really they are issues everyone running a stack of
       | containers has."_
        
         | dharmab wrote:
         | As someone you quoted: Take every problem you have with
         | Kubernetes, multiply by 10x to 100x, and you have DC/OS. It's
         | all perspective :)
        
       | random3 wrote:
       | It's sad, but expected.
       | 
       | This is not about Apache, but a failed open-governance for
       | commercial open-source from Mesosphere. It's not the case with
       | Apache Spark nor Apache Beam, HBase, etc.
       | 
       | Mesos (and many other Berkeley AMPLab efforts) had briliant ideas
       | behind it and an elegant implemention that allowed for much more
       | than what Kubernetes was desgined to.
       | 
       | Kubernetes was supposed to be scheduler for Mesos and Google
       | invested in it. Let's not forget John Wilkes (Google Borg, Omega,
       | Kubernetes) on the stage at MesosCon in 2014
       | https://www.youtube.com/watch?v=VQAAkO5B5Hg
       | 
       | While I don't know the exact reasons behind Kubernetes becoming
       | the scheduler and resource manager, I think that has very much to
       | do with the stewardship of the Mesos project as well.
       | 
       | By 2015/16 most Mesos committers were at Mesosphere. Suffice to
       | say the open-governance was more of pain than a benefit to them.
       | If you were at Apple, Adobe and others that relied on Mesos you
       | didn't have much to say. Everything shifted towards DCOS and
       | everyone was pushed towards commercial licenses.
       | 
       | This is said, because sadly Kubernetes didn't fix the whole
       | problem and left us with a distributed system with a text based
       | "API" that requires text patching to manage and borderline
       | clueless about the lifecycle of the services running on top. Yet,
       | it's the best we got :)
        
         | jaaron wrote:
         | This is much more the real story but I doubt most folks will
         | ever hear it.
         | 
         | Totally agree. Mesos project always had a trouble with
         | governance and didn't build out the larger community the way
         | other projects did. If they had built that coalition, made the
         | project more accessible to others, who knows, maybe it would
         | have gone differently.
         | 
         | Then again, k8s succeeded in part due to the Google reputation
         | (even if undeserved) and it's use of GoLang. I always found
         | Mesos' use of C++ meant many of the users (often developing in
         | Java, Go, or Node) just wouldn't contribute.
        
           | aabhay wrote:
           | I think the problem went deeper than that actually. Mesos
           | required that applications use a distributed system API to
           | interface with the executors. This meant it was very
           | challenging to write a distributed system upon Mesos, even
           | though that was ostensibly the very thing that Mesos was
           | meant to solve. When K8s came along and made everything
           | manifest and YAML-based, we sort of knew that we were screwed
           | because of how much simpler that was.
        
             | jaaron wrote:
             | Eh, maybe. I see your point.
             | 
             | The thing is, Mesos on it's own isn't k8s. Mesos is a
             | scheduler. k8s is a full stack. So it's always been a bit
             | off to fully compare the two.
             | 
             | If your system fit clearly within what k8s did well, then
             | you were fine and the stack worked.
             | 
             | If you had a more complicated architecture with parts that
             | didn't play well with containers or k8s' scheduling model,
             | life became pretty difficult.
             | 
             | That's one reason I liked Mesos is you could build the
             | stack you needed for _your_ infrastructure.
             | 
             | Granted, I don't think most shops had the kind of problems
             | that warranted Mesos, let alone k8s (that's still true
             | today). But k8s is "good enough" for lots of problems and
             | understandably that's where the community went.
        
         | aabhay wrote:
         | 100% Agreed. Ex-Mesosphere employee (I joined in 2015 and
         | left/was fired a year later)
         | 
         | The dominant ethos at Mesosphere was that they already won, and
         | were poised to become the next 'cloud orchestration' above the
         | cloud services. But the managers also had no empathy for
         | developer experience -- the majority opinion was "distributed
         | systems are hard, developers don't deserve to have a good
         | experience", despite the new cool easy-to-use distributed
         | systems cropping up every week. The company even developed a
         | sham 'community edition' that was designed to fail. One person
         | complained on our community slack channel that he left his
         | cluster running overnight and was charged $600 for the 12 hours
         | of use.
         | 
         | Within a few months of joining, I started to point out their
         | odd technical decisions (e.g. why they decided to build their
         | enterprise edition on Core OS rather than a trustworthy
         | distro), and was eventually chopped for speaking up. I was
         | fired right before a massive company offsite. When the rest of
         | my team came back, they along with my manager were fired, too.
         | The messsage was: we didn't need your whole team but because
         | you spoke up we had to double screw you.
        
           | dharmab wrote:
           | Ex-DC/OS user. This explains a lot.
           | 
           | One thing I'd like to say is that CoreOS was the best
           | component of DC/OS by a long mile. We still use its fork
           | (Flatcar) today.
        
             | aabhay wrote:
             | That's cool! The issue is that when you're selling to a
             | massive legacy institution, the infosec on a new Linux
             | distro that self updates to new patches is really no bueno.
             | We lost many months on this piece and on key deals. I heard
             | from the grapevine that they ended up having to port DCOS
             | to Ubuntu after all, soon after I left.
        
         | dharmab wrote:
         | I'm an engineer at one of those companies you mentioned who
         | worked directly on the Mesos+DC/OS platform.
         | 
         | Mesosphere's support was pretty much nonexistent as far as we
         | were concerned. We had major issues open for years without any
         | significant action. They were never resolved. We had to solve
         | most problems ourselves.
         | 
         | We got so fed up that a few of us worked late nights (often up
         | to 2AM) on a bottom-up skunkworks project to replace Mesos with
         | Kubernetes. That project was exceptionally successful. (I'd
         | like to point out that we are not in the Bay area and are
         | adults with families and small children- we hated Mesos so much
         | we were willing to stay up anyway.)
         | 
         | In short, Mesos has a lot of great theory but we hated it in
         | practice. Kubernetes has some theoretical flaws but it is
         | better experience for practitioners.
        
         | justicezyx wrote:
         | > Mesos (and many other Berkeley AMPLab efforts) had briliant
         | ideas behind it
         | 
         | Brilliant on paper.
         | 
         | The idea was influenced by MR workloads on Borg. Because MR is
         | so large a workload pattern on Borg, that it benefits from
         | having its own scheduler, and Borg also benefit from
         | unnecessary meddling.
         | 
         | The idea was only brilliant for a very small number of human
         | users, both inside Google and in the broader industry. In terms
         | of CPU & memory usage, mesos' approach should always take great
         | share, because workloads that in the category of needing their
         | own scheduler always is the big ones.
         | 
         | But as an open source product, its adopters are far off from
         | that group. So you can see that all early adopters of Mesos are
         | large corps. I seldom hear any startup applaud Mesos.
         | 
         | Precisely, I have repeated many times when Mesos was still
         | relevant, that its model makes it costly to get started. It
         | will never succeed unless it start to package a product that
         | can provide the scheduler part.
         | 
         | We all know what happened after K8s. K8s works because Borg
         | already worked for 12+ years.
         | 
         | > an elegant implemention that allowed for much more than what
         | Kubernetes was desgined to.
         | 
         | By design K8s is more capable then Mesos. Because K8s includes
         | scheduler. And numerous other capability. Heck, excluding
         | performance and scalability, K8s is a level a bove Borg in
         | terms of feature and capability. Mesos is far behind Borg even,
         | not mentioning K8s.
         | 
         | Mesos does offer better scalability, on paper. I had no
         | experience though.
         | 
         | > Kubernetes was supposed to be scheduler for Mesos and Google
         | invested in it.
         | 
         | I never heard of such plan.
        
         | rad_gruchalski wrote:
         | > Everything shifted towards DCOS and everyone was pushed
         | towards commercial licenses.
         | 
         | This was then partially diluted when Microsoft decided to
         | deploy DC/OS and, from what I've heard, pushed Mesosphere to
         | open source large chunks of DC/OS.
        
           | dharmab wrote:
           | And then ACS was pretty much abandoned not long after that.
        
       | johncena33 wrote:
       | How does this impact the company behind Mesos and products based
       | on Mesos, e.g., Mesosphere etc.?
        
         | avita1 wrote:
         | Mesospehere was renamed and has shifted to supporting
         | Kubernetes.
         | 
         | https://d2iq.com/blog/mesosphere-is-now-d2iq
        
         | rad_gruchalski wrote:
         | Mesosphere is now D2iQ, they have their own Kubernetes and
         | stopped supporting Mesos / Marathon in October 2020.
        
       | aggress wrote:
       | Disclaimer - I used to work for Mesosphere.
       | 
       | On the topic of arrogance, I wasn't in that meeting referenced,
       | but having worked with most people there who could have been, and
       | being a Brit who's worked for west coast startups like that for
       | nearly 10 years, it's that American confidence, outlook and drive
       | (along with Sand Hill road) that contributes to so much success
       | out there. I'm a fan, but have to check myself every time i use
       | 'super' as an adjective.
       | 
       | Tech vs Product is a good comparison to make. I banged my head
       | many times on DC/OS (the commercial version of Mesos) and
       | underlying Mesos itself. Solid tech, but I'd have liked to have
       | seen the product develop faster, to realise its potential in the
       | enterprise market, which was huge.
        
       | benjamin_mahler wrote:
       | I'm one of the long term PMC / committers on mesos.
       | 
       | In retrospect I feel this was inevitable to a few key reasons:
       | 
       | * k8s was a second system with all the learnings and experience
       | of building such a system at Google for over a decade. Mesos was
       | birthed by grad students and subsequently evolved into its
       | position at Twitter but the engineers driving the project (myself
       | included) did not have experience building cluster management
       | systems. We learned many things along the way that we would do
       | differently a second time around.
       | 
       | * Mesos was too "batteries not included": this fragmented the
       | community, made it unapproachable to new users, and led to a lot
       | of redundant effort. Most users just want to run services, jobs
       | and cron jobs, but this was not part of Mesos and you had to
       | choose from the array of ecosystem schedulers (e.g. Aurora,
       | Marathon, Chronos, Singularity, etc) or building something
       | yourself.
       | 
       | * Mesosphere was a VC backed startup and drove the project after
       | Twitter. Being a VC backed startup you need to have a business
       | model that can generate revenue. This led to a lot of tensions
       | and mistrust with users and other vendors. Compare this with
       | Google / k8s, where Google does not need to generate revenue from
       | k8s directly, it can instead invest massive amounts of money and
       | strong engineers on the notion that it will improve Google's
       | cloud computing business.
       | 
       | Even if k8s hadn't come along, Mesos was ripe to be disrupted by
       | something that was easier to use out of the box, and that had a
       | benevolent home that could unite vendors and other contributors.
       | Mesos could have perhaps evolved in this direction over time but
       | we'll never know now.
        
         | rad_gruchalski wrote:
         | Thanks for all the work!
        
         | qbasic_forever wrote:
         | It's refreshing to see an honest and critical evaluation of
         | things. This kind of decision should be celebrated and
         | encouraged with all projects.
        
           | waynesonfire wrote:
           | On the announcement that it's getting shelved you get a
           | retro. How is that refreshing? Whats your baseline? Where is
           | D2iQ response to this news?
        
             | qbasic_forever wrote:
             | Refreshing in the sense that it's a look back at what
             | worked and what maybe didn't work so other projects don't
             | make the same mistake. They could have just flipped the
             | code repo to "archived" and moved on without a word.
        
       | benjaminwootton wrote:
       | I went to see Mesos early in their life in their San Francisco
       | office after a joint customer put us in touch.
       | 
       | Never in my life did I meet such an arrogant group of people.
       | 
       | First, they left us waiting in reception for an hour.
       | 
       | They eventually took the meeting over lunch, where we had to
       | watch them inhaling their free food.
       | 
       | Some guy in plastic-leather trousers spent most of the hour
       | lecturing us about all of the multi million deals they were
       | doing, and how they weren't interested in speaking with anyone
       | who couldn't write 7 figure checks.
       | 
       | Not once did they ask about our business or even our names if I
       | remember correctly.
       | 
       | I had a similar experience with other west coast tech companies.
       | Too arrogant for their own good and not able to put in the hard
       | yards with stodgy old enterprise companies even when they have
       | good technology and are early to market.
        
         | eklitzke wrote:
         | You're thinking of Mesosphere, a separate company building a
         | product on top of Mesos.
        
           | benjaminwootton wrote:
           | True. As the major corporate sponsor though they didn't give
           | it the best chance.
           | 
           | I ran one of the first Docker partners and saw first hand how
           | both Mesos and Docker Inc had considerable mindset and
           | interest from large enterprises for a year or so before
           | Kubernetes matured.
           | 
           | They both spectacularly failed to deliver through arrogance
           | and bad execution.
        
         | macksd wrote:
         | I haven't seen much overt rudeness like what you're describing,
         | but it does mystify me how often I'll meet with another company
         | to discuss a potential integration story that benefits us both,
         | and instead of any engineers who can discuss technical
         | considerations, they send multiple product managers who all
         | want to present their own slide deck about why they're so
         | great.
         | 
         | I know you're great - that's why we requested this meeting. I
         | think we're great too. There's a reason I think our integration
         | would be a win-win and a win for users. Can we actually talk
         | about it now? Oh let's schedule another meeting so the fourth
         | product manager who didn't show up for this one can share their
         | slide deck too.
        
       | lars_francke wrote:
       | Nothing is decided yet. This is a vote thread which _might_ end
       | with someone interested in Mesos stepping in to pick the project
       | up.
       | 
       | This hasn't happened in a while with other projects (a whole
       | bunch of Apache projects have just retired in the last few
       | months) but with Mesos there might be a chance.
        
       ___________________________________________________________________
       (page generated 2021-04-06 23:00 UTC)