HN user

tknaup

217 karma

Co-Founder & CEO of D2iQ (formerly Mesosphere). Former Tech Lead at Airbnb.

Posts31
Comments19
View on HN
eng.d2iq.com 3y ago

Service Account Tokens in Kubernetes v1.24

tknaup
2pts1
github.com 5y ago

Cloudkeeper: Housekeeping for Clouds

tknaup
7pts0
d2iq.com 6y ago

How to Build an Interactive Spark Notebook with BeakerX and Jupyter

tknaup
1pts0
kudo.dev 6y ago

KUDO 0.5 brings upgrade and config management for Kubernetes Operators

tknaup
1pts0
kudo.dev 7y ago

Kubernetes Universal Declarative Operator (KUDO) v0.3.0 Released

tknaup
1pts0
github.com 7y ago

A declarative approach to building Kubernetes Operators – tutorial

tknaup
1pts0
kudo.dev 7y ago

Announcing Kubernetes Universal Declarative Operator (KUDO) 0.2.0

tknaup
3pts0
github.com 7y ago

Automating Private Blockchain Deployment

tknaup
1pts0
medium.com 8y ago

Netflix open sources container management platform Titus

tknaup
4pts0
mesosphere.com 9y ago

The most revolutionary thing about self-driving cars is distributed computing

tknaup
33pts26
mesosphere.com 9y ago

Accelerating Machine Learning with GPUs and DC/OS

tknaup
2pts0
mesosphere.com 9y ago

CSI: Towards a more universal storage interface for containers

tknaup
4pts0
dcos.io 9y ago

Modern operations with Instana and DC/OS

tknaup
1pts0
dcos.io 9y ago

Deploy Minio cloud storage to DC/OS

tknaup
1pts0
dcos.io 9y ago

Running Apache Flink on DC/OS

tknaup
4pts0
mesosphere.com 11y ago

Mesosphere Announces HDFS on Mesos, Ready for Community Beta Testing

tknaup
15pts0
mesosphere.com 11y ago

Deploying the Crate Distributed Database Using Mesos and Marathon – Mesosphere

tknaup
14pts0
mesosphere.com 11y ago

Marathon 0.8.0 has been released – Mesosphere

tknaup
5pts0
mesosphere.io 11y ago

Marathon v0.7.0 – Running Dockers at Scale and More

tknaup
9pts0
github.com 12y ago

Brew install mesos; Mesos was added to Homebrew

tknaup
5pts0
mesosphere.io 12y ago

Run Dockers on Mesos: Marathon 0.6 released

tknaup
8pts0
mesosphere.io 12y ago

"Megaupload" on Apache Mesos

tknaup
23pts2
mesosphere.io 12y ago

Marathon v0.4.0 for Apache Mesos Released

tknaup
2pts0
mesosphere.io 12y ago

Run Ruby on Rails on Apache Mesos

tknaup
11pts2
mesosphere.io 12y ago

Run Play apps on Apache Mesos

tknaup
10pts0
mesosphere.io 12y ago

Marathon v0.3.0 for Apache Mesos Released

tknaup
5pts0
mesosphere.io 12y ago

Use Go for your next Apache Mesos framework

tknaup
8pts0
techcrunch.com 12y ago

Mesosphere Adds Docker Support To Its Mesos-Based Data Center Operating System

tknaup
13pts0
typesafe.com 12y ago

Play Framework Grid Deployment with Mesos

tknaup
89pts4
gigaom.com 12y ago

New open source tech Marathon wants to make your data center run like Google’s

tknaup
60pts22

With Kubernetes v1.24, non-expiring service account tokens are no longer auto-generated. This blog post highlights what this means in practice, and what to do if you rely on non-expiring service account tokens.

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.

ML is a relatively young field, and decades behind Software Engineering in terms of best practices for running production systems. CI/CD massively improved the innovation cycle time and quality of production software, and I believe it is key for building robust production ML systems as well. CML looks like a really easy to use product for bringing CI/CD to ML projects.

Mesosphere co-founder here.

You're correct in that GCP runs k8s in VMs, DC/OS doesn't. What's similar is that there's a resource manager underneath - Borg for GCP, Mesos for DC/OS. They serve similar purposes like resource management, isolation, and operating the services on top.

Mesosphere co-founder here.

This is correct: "DC/OS is better for running stateful services and then you can use K8 to run your stateless services"

Data services run directly on DC/OS via application-aware schedulers. They have the operational logic for how to bring up say a Cassandra cluster correctly, how to upgrade it to a new version without breaking it, change config, scale up, etc. All things you usually have to figure out yourself. When you run k8s on DC/OS you get these same benefits.

disclosure: I'm a founder of Mesosphere.

For most people k8s (like any other distributed system) is pretty hard to operate and wrap their head around. The goal of DC/OS is to make building and operating distributed systems easy. Mesos is pretty different from k8s. It doesn't have an API for microservice developers for example, instead it has low level primitives similar to an operating system kernel, on which you can build any software. We recently launched an SDK to make that even easier, along with a bunch of open source and commercial software that uses it, for example Cassandra/Datastax, Kafka/Confluent, Redis, Elastic, Couchbase, Alluxio. So DC/OS ends up looking a lot more like an entire cloud platform like GCP, which offers managed k8s, a managed database (BigTable), machine learning and so on. Under the hood it all runs on Google's proprietary Borg, which has some similarities with Mesos (Google is a sponsor of the lab where Mesos was created).

(Mesosphere co-founder here)

Running workload-specific schedulers like Kubernetes on Mesos is one of its fundamental ideas. From the paper:

"It seems clear that new cluster computing frameworks will continue to emerge, and that no framework will be optimal for all applications. Therefore, organizations will want to run multiple frameworks in the same cluster, picking the best one for each application."

https://people.csail.mit.edu/matei/papers/2011/nsdi_mesos.pd...

The new features are really exciting. Disk quota isolation is important to pave the way for stateful workloads, and with the upcoming work on stateful primitives (https://issues.apache.org/jira/browse/MESOS-2018) it will be easy to run things like databases and filesystems.

The service discovery metadata and labels allow more control over the visibility and naming of tasks. Mesos DNS (https://github.com/mesosphere/mesos-dns) will get support shortly.

Finally the modules also got some additions: hooks and anonymous modules, which can be used to add arbitrary extensions to Mesos.

Exciting release!

They are simpler but keep it mind all the other things you get from running on Mesos, like provisioning your services, having your services restarted when they crash, workload migration when machines fail, bin-packing so you don't waste resources, etc.

This would be another blog post by itself. In short: build a fat jar with maven, package with arx, run with runit.

Most projects use Junit and Easymock.

Dropwizard wasn't around yet when we built our first service.

I'm not referencing any particular framework, but Rails is an example. Recently the Rails team has done a lot to modularize it too though.

Assuming you use InnoDB, is your innodb_buffer_pool_size big enough to hold your data (or a significant amount of it)? It's by far the most important setting to get speedy reads, which form 95% of the queries in our case. When you did the testing, did you warm up the RDS instance before, for example by running a number of common queries? It naturally takes a while after booting until MySQL can make efficient use of caches and buffers.

I'm not sure if instance-local storage will give you better performance compared to EBS. From the EBS page: "The latency and throughput of Amazon EBS volumes is designed to be significantly better than the Amazon EC2 instance stores in nearly all cases."

There is a problem with the recovery approach you described: as far as I know you can't use an EBS snapshot to populate local storage on a new instance, so you would be forced to use EBS for the new master. Promoting the slave to be the new master would be the better approach, with less downtime and data loss, provided that MySQL replication didn't break unnoticed.

- Tobi