NFM’s Cloud, DevOps,
Containers, and
Microservices Adventures
Michael Nichols
Senior Software Architect
September 2018
Brief Nebraska Furniture Mart History
2
Largest home furnishing store in North
America selling furniture, flooring,
appliances and electronics
Founded in 1937 by Rose Blumkin,
universally known as Mrs. B. under the
motto "sell cheap and tell the truth,“
she worked in the business until age 103
In 1983, Mrs. B. sold a majority interest
to Berkshire Hathaway in a handshake
deal with Warren Buffet
The Current Ecommerce Landscape
 Q2 2017 Results were outstanding
 Walmart up 63%
 Target up 32.4%
 Amazon up 26.6% (now represents 38% of all ecommerce, up 2%)
 Nebraska Furniture Mart up 16.5%
 Walmart U.S. online sales up 33% in first fiscal quarter of 2018
 Major competitor growth accelerating
 Innovation is disrupting retail like nothing ever seen before.
 3 $econds =
3
U.S. E-Commerce Sales Growth by Quarter
4
Source: https://www.digitalcommerce360.com/2018/08/20/u-s-e-commerce-sales-quarter/
Non-adjusted figures from the U.S. Commerce Department, Internet Retailer. This data was updated on August 2018
• In 10 years, the retail
industry will look
nothing like it does now.
• “The department store
is online now.”
• “The world has evolved,
and it's going to keep
evolving, but the speed
is increasing.”
The Current Ecommerce Landscape
5
Rollout
out 2006
2011
Redesign
2017
NFM Website History
6
− ASP.NET 2.0
− SQL Server
− Double Digit
Growth
Annually
− Major
Redesign
− Search
Engine
Solution
− Landed in
the top 500
retail site
− Rank 275th in the
Internet Retailer
2017 Top 1000
− 35% Annual Growth
over the last 5 years
Our Challenges
7
Aging Software Architecture and Infrastructure
IAAS - Infrastructure as a Service
Third Party Challenges
Our Challenges
• Monolithic Application
• Tied to a single developer framework and run time
• Required Horizontal Scaling
• DLL dependencies and version management for entire application
• Manual Testing Efforts
• Testing requires full regression for small changes
• All or none deployments
• Constraints prevent Innovation
8
Our Challenges
9
• Dependent on IAAS provider’s hardware resources as well as
staff resources and skill sets
• Coined the term “IAAR” - Infrastructure as a Request
• Environments Lack of transparency, repeatability, and stability
• Fear of change due to lack of proper change management
(silos of knowledge and skillsets)
Our Challenges
10
• 3rd Party Mobile Dependency
• 3rd Part Search Engine Limitations
Our Vision
11
Green Field Effort
Microservice Architecture Implemented via Containers running in Mesosphere DCOS on Microsoft Azure
supported by an Automated CI/CD pipeline
• Vertical Scaling
• Simplified delivery
• Automated &
Reproducible
• Improved
Resource
Utilization
• Supports adopting
the latest cutting
edge technologies
and development
frameworks –
Asp.Net Core
• Supports
automated unit,
service and
various integration
testing
• Allows releases of
individual services
/multiple versions
service.
• Build Once – Run
Everywhere
2016/2017
FFNFM
Started
1/2018
Internal
Beta Launch
3/2018 Beta
Launch
6/2018
Mobile
Launch
9/2018
Full Site
Launch
Our Path
12
Mission Statement
Based on our tradition of providing
quality products and services, we are
working to build a world class site
that is fast, secure, reliable,
accessible and scalable, which will
support future growth and features
to better serve our customers.
Keys to Success – Strategies
13
• DevOps Culture
• Microservices Architecture/Containers
• Move to Cloud
• Automation Everywhere!
DevOps Culture
Implement
Microservice
Architecture via
Software Patterns In
Single Solution
Separation of
Service including
builds & releases
Test Automation &
wiring into builds
and release
Automating of
Infrastructure
"Infrastructure as
Code"
Initial Pipeline
creation - Dev
Teams begin working
in POC environment
Monitoring &
Alerting
Pipeline updated to
reflect process
Teams consume/
experiment
with Pipeline in
clusters and define
release process
Infrastructure
Automation of
cluster implemented
Builds & Release
deployed to DCOS
cluster
Full pipeline builds/
releases/process
POC on DCOS
clusters
DevOps Culture
 Agile Project Management Challenges
 User Stories – Too Large and Lacked Clear Definition of Done
 Spanned iterations
 Unable to represent work completed
 Overcommitting
 WIP – Ineffective multitasking
 Lots of unknowns – New technologies and immature tooling
 Team Norms
 DevOps Culture Challenges
 Minimal Viable Product – Good enough!
 Sharing roles/responsibilities - Eliminating Silos
 Transparency/Documentation for Team Members/Development/External Teams
 Involvement of Security/Compliance/Corporate teams early
 Dual responsibilities support existing & new
15
Docker Local Development
Microservices Architecture/Containers
Microservices Architecture/Containers
17
CI/CD Pipeline
Microservices Architecture/Containers
Challenges
Move to the Cloud
SAAS First, PAAS Second, and IAAS Last
Lessons learned – Overcoming hurdles
from latest technology
 Microservice Code POC
 New Code Base Started – AspDotNetCore Apha unstable
 Separation of Services/Domains - Refactoring efforts
 NuGet packages – Refactoring and versioning issues
 Single service version – No team independence
 Build Releases POC
 TFS Builds and Releases – Immature Tooling
 Silos of knowledge
 Automated Testing POC
 Unit Tests – Code coverage transparency and tooling issues
 Test Architect - Tooling knowledge and difficulty identifying appropriate integration tests
20
Our Wins
From…
 Development teams completed 1
release per week / 52 releases over a
12-month span.
 28 hours to complete a monolithic code
push – going from committing code to
stage to being released into production
To…
 Development teams have completed 81
releases since May 1st – Sept. 24th
 The development teams are on
pace to complete more than 240
releases in a 12-month span.
 That’s an increase of 362% more
releases with the new site versus
the old site.
 An average of 1 hour and 18 minutes to
move a change from dev to prod
 That’s a 95% decrease in the time
it takes to release new
functionality in the new site versus
the old site.
 Over 500 unit tests are run with each
release in less than 40 seconds.
 Completed 4 successful production
releases on Sept. 18th
• Mike.Nichols@nfm.com
Thank you
Twelve-Factor App methodology
I Codebase
There should be exactly one codebase for a deployed service with the codebase being used for
many deployments.
II Dependencies All dependencies should be declared, with no implicit reliance on system tools or libraries.
III Config Configuration that varies between deployments should be stored in the environment.
IV Backing services
All backing services are treated as attached resources and attached and detached by the
execution environment.
V
Build, release,
run
The delivery pipeline should strictly consist of build, release, run.
VI Processes
Applications should be deployed as one or more stateless processes with persisted data stored on
a backing service.
VII Port binding Self-contained services should make themselves available to other services by specified ports.
VIII Concurrency Concurrency is advocated by scaling individual processes.
IX Disposability Fast startup and shutdown are advocated for a more robust and resilient system.
X Dev/Prod parity All environments should be as similar as possible.
XI Logs
Applications should produce logs as event streams and leave the execution environment to
aggregate.
XII Admin Processes Any needed admin tasks should be kept in source control and packaged with the application.
23
Useful Resources
24
Microservices in .NET Core
By Christian Horsdal Gammelgaard
Docker in Practice
By Ian Miell and Aidan Hobson Sayers
Microservice Patterns (eBook)
By Chris Richardson

More Related Content

PPTX
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
PPTX
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
PDF
AgilePath Cloud Playbook Strategy Template
PDF
RightScale Webinar: The Five Critical Steps to Develop a Cloud Strategy
PPTX
Implementing governance in the cloud era
PPTX
Cloud Adoption Plan - Planning phase
PDF
Where are you at on your journey from on-premise SAP HCM to SuccessFactors th...
PPTX
Cloud Workload Suitability
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
AgilePath Cloud Playbook Strategy Template
RightScale Webinar: The Five Critical Steps to Develop a Cloud Strategy
Implementing governance in the cloud era
Cloud Adoption Plan - Planning phase
Where are you at on your journey from on-premise SAP HCM to SuccessFactors th...
Cloud Workload Suitability

What's hot (13)

PPTX
Cloud Enablement Engine Role Definition and Mapping
PDF
Enterprise Cloud Strategy - Facts, FAQs and Implementation Steps
PPTX
Cloud migration presentation
PDF
December 2014 Webinar - Planning Your 2015 Cloud Strategy
PPTX
Cloud Adoption Framework Phase one-moving to the cloud
PDF
Developing Your Cloud Strategy
PPTX
6 Effective Ways to Evaluate Your On-Premise Law Software
PPTX
AWS Techical Due Diligence to post transaction execution for M&A
PDF
Applying systems thinking to AWS enterprise application migration
PDF
Creating an Operating Model to enable a high frequency organization
PDF
AWS Private Equity Transformation Advisory
PPTX
Cloud Migration - Cloud Computing Benefits & Issues
PDF
AWS cloud adoption framework (caf)
Cloud Enablement Engine Role Definition and Mapping
Enterprise Cloud Strategy - Facts, FAQs and Implementation Steps
Cloud migration presentation
December 2014 Webinar - Planning Your 2015 Cloud Strategy
Cloud Adoption Framework Phase one-moving to the cloud
Developing Your Cloud Strategy
6 Effective Ways to Evaluate Your On-Premise Law Software
AWS Techical Due Diligence to post transaction execution for M&A
Applying systems thinking to AWS enterprise application migration
Creating an Operating Model to enable a high frequency organization
AWS Private Equity Transformation Advisory
Cloud Migration - Cloud Computing Benefits & Issues
AWS cloud adoption framework (caf)
Ad

Similar to Omaha DevOps Meetup - Sept 2018 (20)

PPTX
Webinar : Microservices and Containerization
PPTX
Executive Briefing: The Why, What, and Where of Containers
PPTX
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
PPTX
Enabling application portability with the greatest of ease!
PPTX
Technology insights: Decision Science Platform
PPTX
FLUX - Crash Course in Cloud 2.0
PPSX
Microservices Architecture, Monolith Migration Patterns
PDF
MuleSoft Manchester Meetup #4 slides 11th February 2021
PDF
The Reality of Managing Microservices in Your CD Pipeline
PPTX
Application Centric Microservices from Redhat Summit 2015
PDF
Service Mesh Talk for CTO Forum
PPTX
Docker12 factor
PDF
Microservices.pdf
PPSX
Microservices Docker Kubernetes Istio Kanban DevOps SRE
PDF
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
PDF
Production-Ready_Microservices_excerpt.pdf
PDF
IBM Think 2020 Openshift on IBM Z and LinuxONE
PDF
Securing the Cloud Native Stack
PDF
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
PDF
Securing the Cloud Native stack
Webinar : Microservices and Containerization
Executive Briefing: The Why, What, and Where of Containers
How Cisco is Leveraging MuleSoft to Drive Continuous Innovation​ at Enterpris...
Enabling application portability with the greatest of ease!
Technology insights: Decision Science Platform
FLUX - Crash Course in Cloud 2.0
Microservices Architecture, Monolith Migration Patterns
MuleSoft Manchester Meetup #4 slides 11th February 2021
The Reality of Managing Microservices in Your CD Pipeline
Application Centric Microservices from Redhat Summit 2015
Service Mesh Talk for CTO Forum
Docker12 factor
Microservices.pdf
Microservices Docker Kubernetes Istio Kanban DevOps SRE
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
Production-Ready_Microservices_excerpt.pdf
IBM Think 2020 Openshift on IBM Z and LinuxONE
Securing the Cloud Native Stack
Enabling Fast IT using Containers, Microservices and DAVROS models: an overview
Securing the Cloud Native stack
Ad

Recently uploaded (20)

PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Hindi spoken digit analysis for native and non-native speakers
PPT
What is a Computer? Input Devices /output devices
PDF
Hybrid model detection and classification of lung cancer
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Getting Started with Data Integration: FME Form 101
PPTX
observCloud-Native Containerability and monitoring.pptx
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
DOCX
search engine optimization ppt fir known well about this
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
Tartificialntelligence_presentation.pptx
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
1 - Historical Antecedents, Social Consideration.pdf
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Hindi spoken digit analysis for native and non-native speakers
What is a Computer? Input Devices /output devices
Hybrid model detection and classification of lung cancer
Developing a website for English-speaking practice to English as a foreign la...
Taming the Chaos: How to Turn Unstructured Data into Decisions
DP Operators-handbook-extract for the Mautical Institute
A comparative study of natural language inference in Swahili using monolingua...
Getting Started with Data Integration: FME Form 101
observCloud-Native Containerability and monitoring.pptx
Module 1.ppt Iot fundamentals and Architecture
Univ-Connecticut-ChatGPT-Presentaion.pdf
search engine optimization ppt fir known well about this
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Tartificialntelligence_presentation.pptx
O2C Customer Invoices to Receipt V15A.pptx
NewMind AI Weekly Chronicles – August ’25 Week III
Group 1 Presentation -Planning and Decision Making .pptx
WOOl fibre morphology and structure.pdf for textiles
1 - Historical Antecedents, Social Consideration.pdf

Omaha DevOps Meetup - Sept 2018

  • 1. NFM’s Cloud, DevOps, Containers, and Microservices Adventures Michael Nichols Senior Software Architect September 2018
  • 2. Brief Nebraska Furniture Mart History 2 Largest home furnishing store in North America selling furniture, flooring, appliances and electronics Founded in 1937 by Rose Blumkin, universally known as Mrs. B. under the motto "sell cheap and tell the truth,“ she worked in the business until age 103 In 1983, Mrs. B. sold a majority interest to Berkshire Hathaway in a handshake deal with Warren Buffet
  • 3. The Current Ecommerce Landscape  Q2 2017 Results were outstanding  Walmart up 63%  Target up 32.4%  Amazon up 26.6% (now represents 38% of all ecommerce, up 2%)  Nebraska Furniture Mart up 16.5%  Walmart U.S. online sales up 33% in first fiscal quarter of 2018  Major competitor growth accelerating  Innovation is disrupting retail like nothing ever seen before.  3 $econds = 3
  • 4. U.S. E-Commerce Sales Growth by Quarter 4 Source: https://www.digitalcommerce360.com/2018/08/20/u-s-e-commerce-sales-quarter/ Non-adjusted figures from the U.S. Commerce Department, Internet Retailer. This data was updated on August 2018
  • 5. • In 10 years, the retail industry will look nothing like it does now. • “The department store is online now.” • “The world has evolved, and it's going to keep evolving, but the speed is increasing.” The Current Ecommerce Landscape 5
  • 6. Rollout out 2006 2011 Redesign 2017 NFM Website History 6 − ASP.NET 2.0 − SQL Server − Double Digit Growth Annually − Major Redesign − Search Engine Solution − Landed in the top 500 retail site − Rank 275th in the Internet Retailer 2017 Top 1000 − 35% Annual Growth over the last 5 years
  • 7. Our Challenges 7 Aging Software Architecture and Infrastructure IAAS - Infrastructure as a Service Third Party Challenges
  • 8. Our Challenges • Monolithic Application • Tied to a single developer framework and run time • Required Horizontal Scaling • DLL dependencies and version management for entire application • Manual Testing Efforts • Testing requires full regression for small changes • All or none deployments • Constraints prevent Innovation 8
  • 9. Our Challenges 9 • Dependent on IAAS provider’s hardware resources as well as staff resources and skill sets • Coined the term “IAAR” - Infrastructure as a Request • Environments Lack of transparency, repeatability, and stability • Fear of change due to lack of proper change management (silos of knowledge and skillsets)
  • 10. Our Challenges 10 • 3rd Party Mobile Dependency • 3rd Part Search Engine Limitations
  • 11. Our Vision 11 Green Field Effort Microservice Architecture Implemented via Containers running in Mesosphere DCOS on Microsoft Azure supported by an Automated CI/CD pipeline • Vertical Scaling • Simplified delivery • Automated & Reproducible • Improved Resource Utilization • Supports adopting the latest cutting edge technologies and development frameworks – Asp.Net Core • Supports automated unit, service and various integration testing • Allows releases of individual services /multiple versions service. • Build Once – Run Everywhere
  • 12. 2016/2017 FFNFM Started 1/2018 Internal Beta Launch 3/2018 Beta Launch 6/2018 Mobile Launch 9/2018 Full Site Launch Our Path 12 Mission Statement Based on our tradition of providing quality products and services, we are working to build a world class site that is fast, secure, reliable, accessible and scalable, which will support future growth and features to better serve our customers.
  • 13. Keys to Success – Strategies 13 • DevOps Culture • Microservices Architecture/Containers • Move to Cloud • Automation Everywhere!
  • 14. DevOps Culture Implement Microservice Architecture via Software Patterns In Single Solution Separation of Service including builds & releases Test Automation & wiring into builds and release Automating of Infrastructure "Infrastructure as Code" Initial Pipeline creation - Dev Teams begin working in POC environment Monitoring & Alerting Pipeline updated to reflect process Teams consume/ experiment with Pipeline in clusters and define release process Infrastructure Automation of cluster implemented Builds & Release deployed to DCOS cluster Full pipeline builds/ releases/process POC on DCOS clusters
  • 15. DevOps Culture  Agile Project Management Challenges  User Stories – Too Large and Lacked Clear Definition of Done  Spanned iterations  Unable to represent work completed  Overcommitting  WIP – Ineffective multitasking  Lots of unknowns – New technologies and immature tooling  Team Norms  DevOps Culture Challenges  Minimal Viable Product – Good enough!  Sharing roles/responsibilities - Eliminating Silos  Transparency/Documentation for Team Members/Development/External Teams  Involvement of Security/Compliance/Corporate teams early  Dual responsibilities support existing & new 15
  • 16. Docker Local Development Microservices Architecture/Containers
  • 19. Move to the Cloud SAAS First, PAAS Second, and IAAS Last
  • 20. Lessons learned – Overcoming hurdles from latest technology  Microservice Code POC  New Code Base Started – AspDotNetCore Apha unstable  Separation of Services/Domains - Refactoring efforts  NuGet packages – Refactoring and versioning issues  Single service version – No team independence  Build Releases POC  TFS Builds and Releases – Immature Tooling  Silos of knowledge  Automated Testing POC  Unit Tests – Code coverage transparency and tooling issues  Test Architect - Tooling knowledge and difficulty identifying appropriate integration tests 20
  • 21. Our Wins From…  Development teams completed 1 release per week / 52 releases over a 12-month span.  28 hours to complete a monolithic code push – going from committing code to stage to being released into production To…  Development teams have completed 81 releases since May 1st – Sept. 24th  The development teams are on pace to complete more than 240 releases in a 12-month span.  That’s an increase of 362% more releases with the new site versus the old site.  An average of 1 hour and 18 minutes to move a change from dev to prod  That’s a 95% decrease in the time it takes to release new functionality in the new site versus the old site.  Over 500 unit tests are run with each release in less than 40 seconds.  Completed 4 successful production releases on Sept. 18th
  • 23. Twelve-Factor App methodology I Codebase There should be exactly one codebase for a deployed service with the codebase being used for many deployments. II Dependencies All dependencies should be declared, with no implicit reliance on system tools or libraries. III Config Configuration that varies between deployments should be stored in the environment. IV Backing services All backing services are treated as attached resources and attached and detached by the execution environment. V Build, release, run The delivery pipeline should strictly consist of build, release, run. VI Processes Applications should be deployed as one or more stateless processes with persisted data stored on a backing service. VII Port binding Self-contained services should make themselves available to other services by specified ports. VIII Concurrency Concurrency is advocated by scaling individual processes. IX Disposability Fast startup and shutdown are advocated for a more robust and resilient system. X Dev/Prod parity All environments should be as similar as possible. XI Logs Applications should produce logs as event streams and leave the execution environment to aggregate. XII Admin Processes Any needed admin tasks should be kept in source control and packaged with the application. 23
  • 24. Useful Resources 24 Microservices in .NET Core By Christian Horsdal Gammelgaard Docker in Practice By Ian Miell and Aidan Hobson Sayers Microservice Patterns (eBook) By Chris Richardson

Editor's Notes

  • #12: Based on our tradition of providing quality products and services, we are working to build a world class site that is fast, secure, reliable, accessible and scalable, which will support future growth and features to better serve our customers.
  • #24: The Twelve-Factor App methodology is a methodology for building software as a service applications. These best practices are designed to enable applications to be built with portability and resilience when deployed to the web.[1] References[edit] ^ Jump up to:a b c Hofmann,, Michael; Schnabel, Erin; Stanley, Katherine (13 March 2017). Microservices Best Practices for Java. IBM Redbooks. p. 2—3. ISBN 9780738442273.