Join the team behind Cisco’s Project Shipped as they take you on a rare behind the scenes tour and deep dive in to real world highly available distributed microservices architecture. Understand the challenges they faced along and the thinking behind key design decisions they made on their journey from concept to product. Learn how they leveraged Continuous Integration, Continuous Deployment, DevOps patterns, Cisco Collaboration and Cisco Cloud Services to deliver a high quality product to market less than 6 months. Here how they team plans to scale the 100x over the next year.
7. 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
• ….
8. • 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
9. Support multiple clustering in longer (first/default)
• Mesos-Marathon
• Kubernetes
• Docker Swarm
• Mesos-Kubernetes
Docker Clustering Choice
14. 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
15. • 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