4 ms·
Maybe off topic. But before Kubernetes AND docker, how did people manage microservices? Was it a machine stack per service? Were there tools that helped keep al
by nstart 8y ago
Maybe off topic. But before Kubernetes AND docker, how did people manage microservices? Was it a machine stack per service? Were there tools that helped keep all the services running together in a single machine? I haven't been in software for long enough to know what this past looked like so courious if any of the HN community might know more about this especially at a personal experience level.
- firebacon 8y ago> Were there tools that helped keep all the services running together in a single machine? Traditionally, services on unix system are started and supervised directly by the init process ("init system"). That has been SysV init for most of the time, but in the last decade we got two major new systems: upstart (dead now) and the infamous systemd. Using systemd can still be a very good alternative to using docker today. > Was it a machine stack per service? That still sounds like a good approach to me today. If your service is not big/expensive enough to need at least one full machine, why bother cutting your app up into such small services in the first place? For example, for web applications, a traditional setup would have been to have a couple of dedicated servers that run the database and a larger pool of webservers that serve the (stateless) application. In front of that you could have two linux boxes doing the network load balancing and failover or a commercial load balancer "box" product.
- wmf 8y agoHere's Netflix from 2011 (pre-Docker): https://www.slideshare.net/adrianco/global-netflix-platform/19-Ne9lix_Global_PaaS_Architecture_Features https://www.slideshare.net/adrianco/global-netflix-platform/... This was widely considered the gold standard in cloud native architecture. Twitter from 2013: https://www.slideshare.net/caniszczyk/twitter-opensourcestacklinuxcon2013 https://www.slideshare.net/caniszczyk/twitter-opensourcestac... They had a similar in-process JVM-based approach as Netflix, but they also used Mesos as a scheduler.
- jacques_chester 8y ago> But before Kubernetes AND docker, how did people manage microservices? Cloud Foundry and other opensource PaaSes. Heroku. Chef, Puppet et al. Java app servers with WARs. Before that was a time of heroic mythology. Shell scripts, bailing wire and raw genius. Disclosure: I work for Pivotal, we work on Cloud Foundry.
- mafro 8y agoI used to run a single EC2 box for each server in the arch. Config management was ansible/salt scripts which bootstrapped a server and it as an AMI. They were then deployed by ASG. A python script glued it all together. Nowadays we do much the same thing, but with Docker on ECS. The glue script is gone, because Terraform.