Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/microscaling/microscaling
Microscaling Engine
https://github.com/microscaling/microscaling
Last synced: 5 days ago
JSON representation
Microscaling Engine
- Host: GitHub
- URL: https://github.com/microscaling/microscaling
- Owner: microscaling
- License: other
- Archived: true
- Created: 2015-10-07T11:48:16.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2021-07-27T11:21:11.000Z (over 3 years ago)
- Last Synced: 2024-08-01T12:24:11.528Z (3 months ago)
- Language: Go
- Homepage: http://app.microscaling.com
- Size: 3.57 MB
- Stars: 300
- Watchers: 14
- Forks: 36
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - microscaling/microscaling - Microscaling Engine (others)
README
# Microscaling Engine
Our Microscaling Engine provides automation, resilience and efficiency for microservice architectures. You can use our [Microscaling-in-a-Box](https://app.microscaling.com) site to
experiment with microscaling. Or visit [microscaling.com](https://microscaling.com) to find out more about our product and Microscaling Systems.This project is no longer being developed. As an alternative we recommend you take a look at [Keda](https://github.com/kedacore/keda).
### Docker Image
[![](https://images.microbadger.com/badges/image/microscaling/microscaling.svg)](http://microbadger.com/images/microscaling/microscaling "Get your own image badge on microbadger.com") [![](https://images.microbadger.com/badges/version/microscaling/microscaling.svg)](http://microbadger.com/images/microscaling/microscaling "Get your own version badge on microbadger.com") [![](https://images.microbadger.com/badges/commit/microscaling/microscaling.svg)](http://microbadger.com/images/microscaling/microscaling "Get your own commit badge on microbadger.com") [![](https://images.microbadger.com/badges/license/microscaling/microscaling.svg)](http://microbadger.com/images/microscaling/microscaling "Get your own license badge on microbadger.com")### Build
[![Build Status](https://travis-ci.org/microscaling/microscaling.svg?branch=master)](https://travis-ci.org/microscaling/microscaling)Go 1.6 & 1.7
Microscaling Engine is under development, so we're not making any promises about forward compatibility, and we wouldn't advise running it on production machines yet. But if you're keen to get it into production we'd love to hear from you.
## Schedulers
Microscaling Engine will integrate with all the popular container schedulers. Currently we support
* Docker API
* Marathon
* KubernetesSupport for more schedulers is coming soon. Let us know if there is a particular scheduler you wish us to support.
## Metrics
Currently we support scaling a queue to maintain a target length. Support for more metrics is coming soon.
2 queue scaling algorithms are available.
* SimpleQueue - scales containers up or down by one according to whether the queue is too long or too short.
* Queue - uses control theory to prevent oscillation.### Queue Types
* [SQS](https://aws.amazon.com/sqs/) - blog post with more details coming soon.
* [NSQ](http://nsq.io) - see this [blog post](http://blog.microscaling.com/2016/04/microscaling-with-nsq-queue.html) for more details.
* Azure storage queues - this [blog post](http://blog.microscaling.com/2016/05/microscaling-marathon-with-dcos-on.html) describes using the Azure queue as the metric while running microscaled tasks on DC/OS.Support for more message queues is coming soon. Let us know if there is a particular queue you wish us to integrate with.
## Running
The easiest way to run Microscaling-in-a-box is to [follow the instructions](http://app.microscaling.com). The `docker run` command
pulls the latest image of this code from [Docker hub](https://hub.docker.com/u/microscaling/microscaling).## Running with label-based config
Get scaling parameters from your image metadata by configuring them with the following labels:
- com.microscaling.is-scalable
- com.microscaling.priority
- com.microscaling.max-delta
- com.microscaling.min-containers
- com.microscaling.max-containersDownload the compose file and add the following environment variable to the environment settings for the microscaling image:
```
MSS_CONFIG=LABEL
```## Building from source
If you want to build and run your own version locally:
- Clone this repo
- Build your own version of the Docker image `DOCKER_IMAGE= make build`
- Specify `-it ` instead of `-it microscaling/microscaling:latest` on `docker run` so that it picks up your version of the image## Licensing
Microscaling Engine is licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/microscaling/microscaling/blob/master/LICENSE) for the full license text.
## Contributing
We'd love to get contributions from you! Please see [CONTRIBUTING.md](https://github.com/microscaling/microscaling/blob/master/CONTRIBUTING.md) for more details.
## Contact Us
We'd love to hear from you at [[email protected]](mailto:[email protected]) or on Twitter at [@microscaling](http://twitter.com/microscaling).
And we welcome new [issues](https://github.com/microscaling/microscaling/issues) or pull requests!