2. Nirmata - Intro
• Enterprise platform to build next generation
cloud applications
• Launched Sept 2013
• Using Netflix OSS with Docker
o
o
o
o
Eureka – service discovery/registry
Zuul – Proxy/gateway/router
Ribbon – Inter-service communication and load balancing
Archaius – Dynamic property configuration & management
Confidential
November 21, 2013
2
4. Service deployment (Sandbox)
1. Create environment
Create
Environment
(Sandbox)
Launch EC2
instance using
Docker AMI
Create Docker
containers for
infrastructure
services
Select service to
deploy and
specify policy
Launch new
container(s) with
selected service
2. Deploy a new service
Select
environment
Confidential
November 21, 2013
4
5. Deploy service
Nirmata Orchestrator
Docker Java
1. Deploy service (*.war)
Platform
Sandbox
Central Server
Docker
Docker Repository
(Local)
2. Get Image
3. Create Container
Eureka
Zuul
DB
Container
Container
Container
Nirmata Docker Repository
(Central)
Sync
User
Svc
Container
Infrastructure services
Confidential
November 21, 2013
5
6. Challenges & Solutions
• Ports
o Specify same port for host and container
• Container communication
o Updated eureka-client to use container virtual NIC IP
o Use same hostname as the host (except for proxy)
o Use IP instead of hostname for inter service communication
• Dependencies
o Launch containers in a predetermined order
o Inject registry and database IP via Archaius at launch
Confidential
November 21, 2013
6