Presentation from Retail’s BIG Show, January 15-17, 2017.
JASON GOTH, Vice President, Credera
BRIAN POLSTER, CEO, Broadleaf Commerce
Retailers are facing increasingly complex needs and technical teams are finding no shortage of advice on how to best meet them. Many teams are considering microservices, cloud native, and other platform strategies to better respond to stakeholder demands. This presentation examines opportunities and challenges as well as practical steps and lessons learned of large eCommerce retailers.
64. If you are interested in the
organizational issues, check out
Microservices: Organizing Large
Teams for Rapid Delivery
https://youtu.be/GE_SccMSYRI
73. How We Package &
Deploy
• Virtual
• Physical
• Containers
Where We Run
• On Premise
• Cloud
• Hybrid
How We Design
• Buy vs Build
• Monolith
• Microservices
How We Manage
• DevOps
• Autoscaling
System
84. And you may not need to
Cost/Complexity
Capability
Value
85. 1.Find out where you are
2.Take a small step towards your goal
3.Make adjustments based what you
learn
4.When faced with two or more
alternatives that deliver roughly the
same value, take the path that makes
the future change easiestDave Thomas: Agile is Dead
87. How we package and deploy
Cost/Complexity
Manual Continuous DeliveryAutomated Build/Deployments
Capability
88. Continuous Delivery
How we package and deploy
Cost/Complexity
Automated Build/Deployments
Capability
If you are here
Manual
89. How we package and deploy
Cost/Complexity
Manual Automated Build/Deployments
Capability
Continuous Delivery
You don’t always
have to get here
90. How we package and deploy
Cost/Complexity
Manual
Capability
Continuous DeliveryAutomated Build/Deployments
This may meet your
business needs
91.
92. Chili’s Deployment Progression
June 2014
Repeatable
Multi page, 41 step
deployment manual
December 2014
Reliable
Manual deployment
reduced to 4 scripts
November 2015
Automated
Automated
deployments possible in
20 minutes without
impacting end-user
experience
93. Chili’s Deployment Progression
June 2014
Repeatable
Multi page, 41 step
deployment manual
December 2014
Reliable
Manual deployment
reduced to 4 scripts
November 2015
Automated
Automated
deployments possible in
20 minutes without
impacting end-user
experience
Lots of value gained here
104. How we design and build
Cost/Complexity
Monolith Microservices
Capability
This may meet your
business needs
Modular Components
Cart Order
Catalo
g
Conten
t
Customer
105. How we design and build
Cost/Complexity
Monolith Microservices
Capability
Modular Components
Cart Order
Catalo
g
Conten
t
Customer
106. Telecom Device Provider (Ex. A)
• $200 million in online revenue mostly
global web properties
• Moving from SaaS solution
• Budget $1M (est.)
107. Functional API boundaries can allow
operation with an existing monolith
Websites
Order API
Customer API
Catalog API
108. Online Ad/Services Company (Ex. B)
• $100 million in online revenue mostly
from a single web property
• Home grown system
• Expensive, failed re-platform in 2014
• Budget $ 1M (est.)
109. Larger bounded contexts allow for
practical moves away from the monolith
Customer
Composition API
Composition API
Client Application A
Client Application B
Catalog
Order
Content
114. Credera can help with…
• Identification of high impact, lower
risk changes
• Implementation and migration
• Longer-term business and technical
strategy
117. Broadleaf is trusted by premier brands
to provide next-level Ecommerce
solutions
• Offers and Promotions
• Content Management
• Search and Merchandising
• Order Management
Cross channel
Buy online, return in store
Traditional objections to who recognizes revenue
Commissions
This is the updated graphic
This is the updated graphic
This is the updated graphic
This is the updated graphic
This is the updated graphic
This is the updated graphic
This is the updated graphic
This is the updated graphic
This is the updated graphic
This is the updated graphic
TODO: Popcorn
Buzzwords
TODO: Update where we run slides to mirror this slide
TODO: Popcorn
Lessons Learned: Split one large service into two large services instead of trying to build small services first
Original Approach: Break out “tax calculator”, “discount engine” from checkout
Better Approach: Break “Customer” from “Order”
Why?
Easier conceptually, clearer break points, less “temporary” code
Smaller pieces emerge naturally