Microservice Infrastructure

Microservices Infrastructure

Modern platform for rapidly deploying globally distributed services provided by cisco.



Architectural Overview

Single Data Center Architecture

The base platform contains control nodes that manage the cluster and any number of compute nodes. Containers automatically register themselves into DNS so that other services can locate them.

Multi Data Center

Each datacenter contains a set of control nodes and computes nodes. The architecture is “share nothing” with the exception of Consul. Consul nodes for all datacenters are automatically joined together to form a single WAN gossip pool. This enables application to local instance in the same datacenter and instances other datacenters with DNS or the Consul exposed API.

Control Nodes

The control nodes manage a single datacenter. Each control node runs Consul for service discovery, Mesos leaders for resource scheduling and Mesos frameworks like Marathon.

Compute Nodes

The compute nodes launch containers and other Mesos-based workloads. Registrator is used to update Consul as containers are launched and exit.

Have a try

# checkout codes
git clone https://github.com/CiscoCloud/microservices-infrastructure.git
cd microservices-infrastructure

# start services
vagrant up

# start microservices via Marathon
curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8080/v2/apps -d '{
  "id": "webserver",
  "cmd": "python -m SimpleHTTPServer 8080",
  "cpus": 0.5,
  "mem": 64.0,
  "instances": 1,
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "centos",
      "network": "BRIDGE",
      "portMappings": [
        { "containerPort": 8080, "hostPort": 0, "servicePort": 9000, "protocol": "tcp" }


See more at https://github.com/CiscoCloud/microservices-infrastructure


comments powered by Disqus