Skip to content
Anthony Lapenna edited this page Apr 19, 2015 · 6 revisions

Introduction

The skynet project is a set of tools to manage web applications that offers:

  • elastic scaling of a web application (down-scale, up-scale, respawn)
  • blue-green deployment of software
  • monitoring of the compute resources, web applications and self-monitoring
  • notifications when anomalies are detected

Conception

The system is currently composed of 5 main components.

Schema

Compute

The compute component is responsible of the following:

  • Manage compute resources (containers, virtual machines)
  • Notify the service registry of created/updated/deleted resources

Service registry

The service registry component is in charge of service discovery and centralize the service definitions.

Metrics

The metrics component is responsible of the following:

  • Retrieve metrics from the compute, service registry, load balancer and central processing unit components.

Note: the relations between the metrics component and every other component is currently stated as bilateral because it has not yet be determined if it should use a push or a pull strategy.

Load balancer

The load balancer component redirects the traffic on the compute resources associated to a service. It gets it configuration from the service registry.

Note: the relation between the load balancer and the service registry is currently stated as bilateral because it has not yet be determined if it should use a push or a pull strategy.

Central processing unit

The central processing unit component role is to query the metrics component and trigger updates in the service registry and compute components based on defined rules (such as high http traffic on a node...).

Clone this wiki locally