A place for the life cycle manager
The life cycle manager introduced in Chapter 6, Autoscaling Microservices, has the capability of autoscaling up or down instances based on demand. It also has the ability to take decisions on where to deploy and how to deploy applications on a cluster of machines based on polices and constraints. The life cycle manager's capabilities are shown in the following figure:
Marathon has the capability to manage clusters and deployments to clusters based on policies and constraints. The number of instances can be altered using the Marathon UI.
There are redundant capabilities between our life cycle manager and Marathon. With Marathon in place, SSH work or machine-level scripting is no longer required. Moreover, deployment policies and constraints can be delegated to Marathon. The REST APIs exposed by Marathon can be used to initiate scaling functions.
Marathon autoscale is a proof-of-concept project from Mesosphere for autoscaling. The Marathon autoscale provides...