Introduction to Docker for Sitecore developers, sys admins, and managers. Docker history, use cases, use of Docker with Sitecore. Overview of Mongo and Solr on Docker with Sitecore. Shipping Sitecore code using Docker, Continuous Integration, and Immutable Infrastructure in today's CMS development. Docker makes DevOps a reality!
1. Organized by the Community, for the Community.
HARNESSTHE POWER OF
CONTAINERS
VASILIY FOMICHEV
SOLUTIONSARCHITECT
2. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015SUGCON NORTH AMERICA 2015 2
VASILIY FOMICHEV
SOLUTIONARCHITECT
VERNDALE
âą Sitecore Technology MVP
âą Technology enthusiast
âą Passionate about innovation
innovation
âą cmsbestpractices.com
https://www.linkedin.com/in/vasiliyfomichev
@vasiliyfomichev
INTRODUCTION
3. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015 3
WHAT ARE WE LOOKING AT?
TODAYâS DEVELOPMENT MODEL
WHAT ARE âCONTAINERSâ
HOW CAN DOCKER HELP INTHE SITECOREWORLD?
DOCKERAND DISTRIBUTED DEVELOPMENT MODEL
DEMOS
SOLR ON DOCKER
MONGO ON DOCKER
WHERE ISTHIS HEADED?
4. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015 4
WHATâSTHE PROBLEM?
5. Organized by the Community, for the Community.
DEVOPS CHALLENGES
âą Local environment setups are getting more complex
âą Environment differences allow for bugs in applications
âą Manual setup it too complex and time consuming
âą Human error
âą Scalability issues on prem
âą Inability to reproduce production environment locally for
debugging
âą Inability to easily sync all Sitecore environments
âą Lack of QA and other types of reproducibility
6. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015 6
WHAT ARE âCONTAINERSâ?
7. Organized by the Community, for the Community.
BEFORE CONTAINER STANDARDS
8. Organized by the Community, for the Community.
SHIPPING CONTAINERS INVENTED
https://en.wikipedia.org/wiki/Malcom_McLean
In 1956, most cargo was loaded and
unloaded by hand. Hand-loading a ship cost
$5.86 a ton.
Malcom McLean born in 1913 developed the
modern intermodal shipping container,
which revolutionized transport and
international trade.
McLean knew "A ship earns money only
when she's at sea," and based his business
on that efficiency.
Using containers, it cost only 16 cents a ton,
a 39-fold savings. Containerization also
greatly reduced the time to load and unload
ships, improving reliability.
9. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015
10. Organized by the Community, for the Community.
HOSTING CONTAINERS
11. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015
Staging
PersistenceCachingFront
End
Logic
ProductionUAT
CachingFront
End
Logic
Front
End
Logic
Caching
Mobile Field ForceApp
Persistence
CachingFront
End
Logic
Front
End
Logic
Logic
Caching
Persistence
Front
End
Logic
Caching
Warranty Repair App
Persistence
Front
End
Logic
Front
End
Image Management
Persistence
Front
End
Image
Proc
Caching
Docker Images
PersistenceCachingFront
End
Logic
Logic
Logic
PersistenceCachingFront
End
Logic PersistenceCachingFront
End
Logic
13. Organized by the Community, for the Community.
DOCKER IS GROWING (18,000%
GROWTH)
14. Organized by the Community, for the Community.
ENTERPRISES RAPIDLY ADOPTING
DOCKER
Small, 30%
Midsize, 15%
Large, 56%
Company Sizes Using Docker
15. Organized by the Community, for the Community.
CONTAINER !=VM
âą VMâs
â Full instances of the entire OS
â Not easily multi-instanced ~SysPrep
âą Containers
â Layered elements of the OS + Components
â Easily Duplicated, Start/Stop
â Lightweight OS (Tiny Core Linux &Windows Server Core)
16. Organized by the Community, for the Community.
HOWTINY ISTINY?
âą ~24MB download!Whaaaat?!
âą Runs completely from RAM
âą Minimal Requirements:
â 46MB of RAM
â i486DX CPU (introduced in 1989, 50MHz, 8KB cache)
âą Recommended Requirements:
â 128MB+ of RAM
â Pentium 2 CPU
SUGCON NORTH AMERICA 2015 16
17. Organized by the Community, for the Community.
SERVER CORE REQUIREMENTS
âą Minimum Requirement:
â 256-512MB of RAM
â 1GHz (x86) or 1.4Ghz (x64)CPU
âą Recommended
â 512MB+
â 2GHz+CPU
SUGCON NORTH AMERICA 2015 17
18. Organized by the Community, for the Community.
CONTAINER COMPARISON
âą Immutable infrastructure!
âą Fast startup (lightning fast!)
âą Portable & light-weight
âą A unit of deployment
âą Ease of creation
âą Each container can become a portion of the entire app
â May have multiple containers that make up one or more than
one app
19. Organized by the Community, for the Community.
WHY CONTAINERS?
Developers
Enable âwrite-once, run-anywhereâ apps
Enables microservice architectures
Great for dev/test of apps and services
(thousands available from Docker)
Reproducibility
Operations
Portability, Portability, Portability
Standardized development, QA, and prod
environments
Abstract differences in OS distributions and
underlying infrastructure
Easily scale-up and scale-down in response
to changing business needs
DevOps
20. Organized by the Community, for the Community.
HOSTING CONTAINERS
Locally with:
âą DockerToolbox (Linux)
âą HyperV (Windows)
Physical Servers
âą Linux (Linux)
âą Windows 2016TP3
(Windows)
Clouds
âą Azure (Linux &Windows)
AzureOn Premises Service ProviderLocally
21. Organized by the Community, for the Community.
DOCKER DISTRIBUTION
23. Organized by the Community, for the Community.
WINDOWS SERVER CONTAINERS
Creation, deployment, and management
Developers
Containers pushed to
central repository
Operations automates
deployment and
monitors deployed apps
from central repository
Operations collaborates with developers
to provide app metrics and insights
Developers update, iterate,
and deploy updated
containers
24. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015
Microsoft Cloud
Azure On Premises Service Provider
Container Technologies
Container Management
PowerShell OthersDocker
Development
Environment
s
OthersâŠ
25. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015 25
SITECORE AND CONTAINERS
26. Organized by the Community, for the Community.
MONGO ON DOCKER
âą Simple configuration
â Single instance
â Replica set (development)
âą Scaled configuration
â Scale horizontally
â Sharding
â Replica sets
27. Organized by the Community, for the Community.
SOLR ON DOCKER
âą Simple configuration
â Single instance
â Solr Cloud (development)
âą Scaled Configuration
â Scale horizontally
â Sharding
â Replica sets
â Cloud
28. Organized by the Community, for the Community.
SITECORE ON DOCKER (COMING!)
âą SimpleConfiguration
â Single instance
â Scaled CD/CM environments (development)
âą Scaled configuration
â Highly scaled infrastructure
â Load balanced server instances
29. Organized by the Community, for the Community.
DOCKER HUB
âą Docker Hub
â Base repository
â Private vs Public
â Solr for Sitecore
30. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015 30
COMMON QUESTIONS
31. Organized by the Community, for the Community.
1. Docker client versus host
â Docker client is a command line interface (CLI) Docker
â Docker host is a Linux/WindowsVM running Docker daemon
2. Docker Linux andWindows hosts
â You can only create the same container as the underlying hostVM - Linux host = Linux containers
3. Docker Image vs Docker Container
â Image =The definition â literally a single file [MyWebsite]
â Container â An instance of an image [3 instances of MyWebsite]
4. Cloud Registry Service and Public Image Repos
â Unlimited public repos, one free private or buy private repos
â 50,000+ images -Wordpress, Nginx, Redis, MySQL, Logstash, and your images!
â DockerTrusted Registry â Dedicated registry application deployable on-premise or direct fromAzure
Marketplace
5 COMMON DOCKER QUESTIONS
32. Organized by the Community, for the Community.
5 COMMON DOCKER QUESTIONS
5. Deployments replace instead of update
âImmutable infrastructureâ
Website
Update your app using
Web Deploy or CI/CD
Docker
Replace running
containers using CI/CD,
Donât update the old
container
33. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015 33
MODULAR DESIGN
34. Organized by the Community, for the Community.
MOVINGTO MODULAR DESIGN
âą How will you move your website?
35. Organized by the Community, for the Community.
THINK CONTAINERS
âą How will your app scale?
36. Organized by the Community, for the Community.
Front End
Logic
Caching
Persistenc
e
IDENTIFYTHE SCALING BOUNDARIES
37. Organized by the Community, for the Community.
IDENTIFYTHE SCALING BOUNDARIES
Email
Campaigns
Product
Mgmnt
Custome
r Service
Basket
Mgmnt
Payment
Gateway
Product
Info
Shopper
Profile
Order
StatusLogic
Order
Status
Basket
Mgmnt
Checkout
Back
Office
Customer
Mgmnt
Product
Info
Front End
Caching
Persistenc
e
38. Organized by the Community, for the Community.
Basket
Mgmnt
Payment
Gateway
Product
Info
Shopper
Profile
Basket
Mgmnt
Checkout
Product
Info
Basket
Mgmnt
Payment
Gateway
Product
Info
Shopper
Profile
Basket
Mgmnt
Checkout
Product
Info
Caching
Persistenc
e
Email
Campaigns
Product
Mgmnt
Custome
r Service
Order
Status
Order
Status
Back
Office
Customer
Mgmnt
Basket
Mgmnt
Payment
Gateway
Product
Info
Shopper
Profile
Basket
Mgmnt
Checkout
Product
Info
IDENTIFYTHE SCALING BOUNDARIES
39. Organized by the Community, for the Community.
PREPARE, PREPARE, PREPARE
âą Think Modular Design
âą Think âmicro servicesâ
âą Think âComposableâ
40. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015 40
COMPLEMENTARYTOOLS
41. Organized by the Community, for the Community.
SOME OTHER DOCKER CONCEPTS
Compose
Define and deploy a multi-container
application
Swarm
Pool of hosts treated as a single unit, control over
multi-container environments
42. Organized by the Community, for the Community.
DOCKER COMPOSE EXAMPLE
43. Organized by the Community, for the Community.
DOCKER SWARM
âą Adds a collection of virtual machines into one logical
cluster.
âą Same DockerAPI
âą Elect a leader to receive commands and send to cluster
âą Scheduler
â Constraints â set a label on aVM/Node so matching containers use thatVM
(ex: region=us-west)
â Affinities â Filters for labels, image, containers
â ex: -e affinity:container==frontend)
âą Various Strategies
44. Organized by the Community, for the Community.
WRAPPING UP
âą Containers Ease Development & Ops
âą Force a conversation of scalable design
âą Ease of movement (On Prem, AWS, Azure)
âą Immutable Infrastructure
âą Use Docker Hub repositories for base images
âą Run Solr and Mongo in containers
âą Run Sitecore in containers (coming soon) Really soon!
45. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015
SM
45
THANKYOUTO OUR SPONSORS!
46. Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015
THANKYOU!
https://www.linkedin.com/in/vasiliyfomichev
@vasiliyfomichev
VASILIY FOMICHEV
SOLUTIONSARCHITECT
http://content.verndale.com/sugconvasiliy
http://www.cmsbestpractices.com
Special thanks to Steve Lasker, Microsoft
And donât just take our word for it. This is a resulting chart from a regular survey done by ETR, an independent research firm. In roughly the 10 year history that they have been doing this, they have never seen the kind of adoption jump like they have for Docker. This is also based on responses from over 3,000 CIOâs from some of the largest and well known names in industry. Most noteably that the adoption intent went from nothing to over 40% literally overnight.