docker-swarm-autoscaler VS etcd

Compare docker-swarm-autoscaler vs etcd and see what are their differences.

docker-swarm-autoscaler

Autoscale Docker Swarm services based on cpu utilization. (by jcwimer)

etcd

Distributed reliable key-value store for the most critical data of a distributed system (by etcd-io)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
docker-swarm-autoscaler etcd
3 61
70 46,412
- 0.7%
10.0 9.9
over 4 years ago 3 days ago
Ruby Go
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

docker-swarm-autoscaler

Posts with mentions or reviews of docker-swarm-autoscaler. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-03.
  • Running auto-scalling docker services
    6 projects | /r/docker | 3 Jan 2023
    If you want to have some sort of auto scaling, you will need to monitor to some extent though as this will be the signal for scaling up/down. I noticed that https://github.com/jcwimer/docker-swarm-autoscaler already includes the relevant prometheus configs required for just scaling by cpu.
  • Acorn: A lightweight PaaS for Kubernertes, from Rancher founders
    11 projects | news.ycombinator.com | 27 Aug 2022
    Nomad, Docker Swarm and other solutions support most of these out of the box, Kubernetes is just the most popular and flexible (with which comes a lot of complexity) solution, it seems.

    For example, even something as basic as Docker Swarm will see you a lot of the way through.

    > How do you implement healthcheck?

    Supported by Docker: https://docs.docker.com/engine/reference/builder/#healthchec...

    > Does the loadbalancer know how the healthceck is implemented?

    When the health checks pass in accordance with the above config, the container state will change from "starting" to "healthy" and traffic will be able to be routed to it. Until then you can have a web server or whatever show a different page/implement circuit breaking or whatever.

    > How do you determine it's time to scale?

    Docker Swarm doesn't have an abstraction for autoscaling, though there are a few community projects. One can feasibly even write something like that themselves in an evening: https://github.com/jcwimer/docker-swarm-autoscaler

    That said, I mostly ignore this concern because I'm yet to see a workload that needs to dynamically scale in any number of private or government projects that I've worked on. Most of the time people want predictable infrastructure and being able to deal with backpressure (e.g. message queue), though that's different with startups.

    > How do you implement always-on-process? service unit, initd, cron?

    The service abstraction comes out of the box: https://docs.docker.com/engine/swarm/how-swarm-mode-works/se...

    You might also want to decide how to best schedule it: wherever available, on a particular node (hostname/tag/...) or on all nodes, which is actually what Portainer agent does! Example: https://docs.portainer.io/start/install/server/swarm/linux

    > How do you export the logs?

    Docker supports multiple logging drivers: https://docs.docker.com/config/containers/logging/configure/

    > How do you inject configs? /etc/environment, profile.d, systemd config, /etc/bestestapp/config?

    Docker and Compose/Swarm support environment variables: https://docs.docker.com/compose/compose-file/#environment

    If you need config files, you can also use bind mounts: https://docs.docker.com/storage/bind-mounts/

    > What about secrets?

    Docker supports secrets out of the box: https://docs.docker.com/engine/swarm/secrets/

    > Service discovery? Is unbound/bind9?

    Docker Swarm supports built in DNS, even allows for multiple separate networks: https://docs.docker.com/engine/swarm/networking/

    > These items are best done in a standard way.

    Agreed! Though I'd say that the only two options being "running everything on *nix directly" and "running everything in Kubernetes" is a false narrative! The former can work but can also lead to non-standard and error-prone environments with a horrible waste of human resources, whereas the latter can work but can also lead to overcomplicated and hard to debug environments with a horrible waste of human resources.

    The best path for many folk probably lies somewhere in the middle, with Nomad/Swarm/Compose/Docker, regardless of what others might claim. The best path for folks interested in a DevOps career is probably running on cloud managed Kubernetes clusters and just using their APIs to lots of great results, not caring about how expensive that is or how easy it would be to self-host on-prem.

etcd

Posts with mentions or reviews of etcd. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-16.
  • Oracle Linux 8.8'de PostgreSQL 13 Yedekli Yapı Nasıl Kurulur? - Patroni, ETCD, HAProxy
    1 project | dev.to | 7 Dec 2023
    sudo dnf -y install curl wget vim ETCD_RELEASE=$(curl -s https://api.github.com/repos/etcd-io/etcd/releases/latest|grep tag_name | cut -d '"' -f 4) echo $ETCD_RELEASE wget https://github.com/etcd-io/etcd/releases/download/${ETCD_RELEASE}/etcd-${ETCD_RELEASE}-linux-amd64.tar.gz tar xvf etcd-${ETCD_RELEASE}-linux-amd64.tar.gz cd etcd-${ETCD_RELEASE}-linux-amd64 sudo mv etcd* /usr/local/bin ls /usr/local/bin /usr/local/bin/etcd --version
  • Transitioning from more traditional OOP like C# to Go, what are the biggest coding style differences.
    2 projects | /r/golang | 16 Nov 2023
    Reading the standard library will give you ideas/insight about various Go idiomatic patterns/approaches, and you can see a full website/API implementation in the pkg.go.dev repository (https://github.com/golang/pkgsite). Projects like https://github.com/etcd-io/etcd may be interesting too.
  • Fault Tolerance in Distributed Systems: Strategies and Case Studies
    4 projects | dev.to | 18 Oct 2023
    Failure Detection and Recovery It’s not enough to have backup systems. It’s also crucial to detect failures quickly. Modern systems employ monitoring tools and rely on distributed coordination systems such as Zookeeper or etcd to identify faults in real-time: once detected, recovery mechanisms are triggered to restore the service.
  • The Complete Microservices Guide
    17 projects | dev.to | 21 Sep 2023
    Service Discovery: Microservices need to discover and communicate with each other dynamically. Service discovery tools like etcd, Consul, or Kubernetes built-in service discovery mechanisms help locate and connect to microservices running on different nodes within the infrastructure.
  • How is Apache APISIX Fast?
    6 projects | dev.to | 13 Sep 2023
    APISIX uses etcd to store and synchronize configurations.
  • Apache APISIX without etcd
    3 projects | dev.to | 27 Jul 2023
    etcd is an excellent key-value distributed database used internally by Kubernetes and managed by the CNCF. It's a great option, and that's the reason why Apache APISIX uses it too. Yet, it's not devoid of issues.
  • From /etc to database
    1 project | /r/BSD | 11 Jul 2023
    Someone on HN (https://news.ycombinator.com/item?id=36682595) suggested etcd (https://etcd.io)
  • Evaluating Apache APISIX vs. Spring Cloud Gateway
    3 projects | dev.to | 22 Jun 2023
    In traditional mode, APISIX stores its configuration in etcd. APISIX offers a rich API to access and update the configuration, the Admin API. In standalone mode, the configuration is just plain YAML. It's the approach for GitOps practitioners: you'd store your configuration in a Git repo, watch it via your favorite tool (e.g., Argo CD or Tekton), and the latter would propagate the changes to APISIX nodes upon changes. APISIX reloads its configuration every second or so.
  • Implementing a distributed key-value store on top of implementing Raft in Go
    5 projects | news.ycombinator.com | 25 May 2023
  • RedisRaft
    2 projects | news.ycombinator.com | 6 May 2023
    I am not sure neither. But this might overcome the etcd's soft storage limit of 8GB? [1]

    [1] https://github.com/etcd-io/etcd/issues/9771

What are some alternatives?

When comparing docker-swarm-autoscaler and etcd you can also consider the following projects:

k3s - Lightweight Kubernetes

consul - Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

porter - Kubernetes powered PaaS that runs in your own cloud.

minio - The Object Store for AI Data Infrastructure

nf-faas-docker-stack - Experimental: Getting modern OpenFaaS CE to run on Swarm

Vault - A tool for secrets management, encryption as a service, and privileged access management

keda - KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes

Apache ZooKeeper - Apache ZooKeeper

kompose - Convert Compose to Kubernetes

nsq - A realtime distributed messaging platform

OpenFaaS - OpenFaaS - Serverless Functions Made Simple

traefik - The Cloud Native Application Proxy