SlideShare uma empresa Scribd logo
1 de 16
Microservices Case Study
Shipped
Neelesh Pateriya
@ Cloud Innovation Lab - CTO (Ken Owens)
• Introduction
• Decision Timeline
• Architectural Choices
• Micro Services – Project Management
• Conclusion
Agenda
Shipped Hybrid DevOps platform
enables developers to easily
Build, Deploy and Run
Containerized Microservices
Project
Management
Continuous
Integration
Shipped 1.0
Source
Control
Continuous
Deployment
Application
Orchestration
Developer
Tools
Service
Assurance
Consul
Kafka
Elasticsearch
InfluxDB
Issue
Management
Mesos
Marathon
ConsulTerraformDroneGitHubGitHub
Cisco Spark
Build Packs
Eclipse
Vagrant
Docker GitHub
Collaboration
Shipped 10,000ft View
Environment
Shipped
GitHub Drone
CCS Region 2CCS Region 1
Microservice
Infrastructure
Microservice
Infrastructure
Shipped
Deploy
MetaCloud
Microservice
Infrastructure
Marketplace
Catalog
Laptop
Sandbox
Developer
Microservices Architecture
Shipped-
Core
Deploy
Event
Build
Logging
Repository
Container
CCS Region 2CCS Region 1
Microservice
Infrastructure
Microservice
Infrastructure
MetaCloud
Microservice
Infrastructure
Cloud OS : Mesos-Marathon
Service Discovery: Consul
1. Registrator
2. Marathon-HAProxy.
Logging Framework:
1. Logstash, ES, Kibana
2.Logstash, HDFS, ZoomData
Market
Place
Metric
Microservices Incremental Development
Idea Brainstorm
• Identified key
services
components
Investigation
Prototype
• Validation of
idea by
creating
monolithic.
Development
Version 0.1
• Core API
Service
• Infrastructure
services
Development
release 0.2
• Event Service
• User Interface
• SQL to
Cassandra
Development
release 0.3
• Build Service
• Cassandra As
A Service.
• Container
repository
service
Development
release 0.4
• Logging
service
• Market Place
• ….
• Drone
• Builds source and runs unit tests in docker container (CI Slave).
• Very flexible build slave with developer capable of defining environment.
• Developer defines build, test, publish steps, no central admin.
• Open source product, Cisco shipped team contribute to build next gen
version.
Continuous Integration
Support multiple clustering in longer (first/default)
• Mesos-Marathon
• Kubernetes
• Docker Swarm
• Mesos-Kubernetes
Docker Clustering Choice
Micro Services Infrastructure
Marathon
Controller
Node
dnsmasq
Mesos
Leader
Consul
Server
Registrator
Zookeeper
Docker
Linux
Mesos
Slave
Resource Node
dnsmasq
Consul
Slave
Registrator HAProxy
Docker
Linux
App App
Multi Datacenter: Micro Services Discovery
1. Consul,Registrator, ConsulTemplate
HAProxy
2. Marathon/HAProxy, Consul
Service Discovery & Load Balancer
MicroService-1
MicroService-1MicroService-1
(Github repo)
MicroService-1
MicroService-1MicroService-2
(Github repo)
MicroService-1
MicroService-1Dependency-1
(Marketplace App)
MicroService-1
MicroService-1
Dependency-2
(Marketplace App)
Docker containers
Mesos – Marathon (MS-infra)
Deploy Env. (Staging)
(MS-Infra)
(MS-Infra)
Consul
Template
HAProxy
Consul
(DNS)
Registrator
1. Registrator monitors Docker events
2. Registrator adds docker instances
host:port to service-name mapping to
consul.
3. Consul exposes information via inbuilt
DNS
4. Consult templates watches changes in
Consul
5. HAProxy configuration is updated based
on changes in consul
6. Namespace naming convention
environment.project.service.shipped.com
Cassandra v/s SQL
Node1
Node2Node3
Node1
Node2Node3
Multiple Datacenters
DC1 DC1
Timeline: Microservices and Team Growth
Idea Brainstorm
• Identified key
services
components
• 1 Pizza Size
Investigation
Prototype
• Validation of
idea by
creating
monolithic.
• 1 Pizza Size
Development
Version 0.1
• Core API
Service
• Infrastructure
services
• 2 Pizza size
(teams)
Development
release 0.2
• Event Service
• User Interface
• SQL to
Cassandra
• 3 Pizza Size
Development
release 0.3
• Build Service
• Cassandra As
A Service.
• 4 Pizza size
team
• Split Scrum
Development
release 0.4
• Logging
service
• Container
repository
service
• ….
• 4-5 Pizza size
team
• Day 1 design consider Microservices .
• Evaluate each service independently for scalability.
• Microservice enables easily changing service internal
implementation with minimal impact to consumer.
• Microservices not only enables breaking software into
manageable size but it also make team size manageable.
Conclusion
Thank you

Mais conteúdo relacionado

Mais de Cisco DevNet

NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
Cisco DevNet
 

Mais de Cisco DevNet (20)

How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to Ansible
 
Rome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsRome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat bots
 
How to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and ChatbotsHow to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and Chatbots
 
Cisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable WebCisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable Web
 
Device Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play SolutionDevice Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play Solution
 
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap APIBuilding a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
 
Application Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible NetflowApplication Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible Netflow
 
WAN Automation Engine API Deep Dive
WAN Automation Engine API Deep DiveWAN Automation Engine API Deep Dive
WAN Automation Engine API Deep Dive
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open Discussion
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
 
NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network Devices
 
UCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep DiveUCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep Dive
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
 
Getting Started: Developing Tropo Applications
Getting Started: Developing Tropo ApplicationsGetting Started: Developing Tropo Applications
Getting Started: Developing Tropo Applications
 
Cisco Spark & Tropo API Workshop
Cisco Spark & Tropo API WorkshopCisco Spark & Tropo API Workshop
Cisco Spark & Tropo API Workshop
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCoding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using Spark
 
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
 
DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

DEVNET-1139 Microservices Case Study