Dean Thrasher - Beyond CRM Integration: Salesforce As Content Gatekeeper on Sitecore 7+ - SUGCON
SUGCON 2015: Docker Containers and Sitecore
-
Upload
vasiliy-fomichev -
Category
Software
-
view
1.771 -
download
0
Transcript of SUGCON 2015: Docker Containers and Sitecore
Organized by the Community, for the Community.
HARNESS THE POWER OF CONTAINERS
VASILIY FOMICHEVSOLUTIONS ARCHITECT
Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015 2SUGCON NORTH AMERICA 2015
VASILIY FOMICHEVSOLUTION ARCHITECTVERNDALE
• Sitecore Technology MVP
• Technology enthusiast
• Passionate about innovation
• cmsbestpractices.com
https://www.linkedin.com/in/vasiliyfomichev
@vasiliyfomichev
INTRODUCTION
Organized by the Community, for the Community. 3SUGCON NORTH AMERICA 2015
WHAT ARE WE LOOKING AT?TODAY’S DEVELOPMENT MODELWHAT ARE “CONTAINERS”HOW CAN DOCKER HELP IN THE SITECORE WORLD?DOCKER AND DISTRIBUTED DEVELOPMENT MODELDEMOS
SOLR ON DOCKERMONGO ON DOCKER
WHERE IS THIS HEADED?
Organized by the Community, for the Community. 4SUGCON NORTH AMERICA 2015
WHAT’S THE PROBLEM?
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
Organized by the Community, for the Community. 6SUGCON NORTH AMERICA 2015
WHAT ARE “CONTAINERS”?
Organized by the Community, for the Community.
BEFORE CONTAINER STANDARDS
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.
Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015
Organized by the Community, for the Community.
HOSTING CONTAINERS
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 Force App
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
Organized by the Community, for the Community.
Organized by the Community, for the Community.
DOCKER IS GROWING (18,000% GROWTH)
Organized by the Community, for the Community.
ENTERPRISES RAPIDLY ADOPTING DOCKER
Small; 30%
Midsize; 15%
Large; 56%
Company Sizes Using Docker
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)
Organized by the Community, for the Community. 16
HOW TINY IS TINY?
• ~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
Organized by the Community, for the Community. 17
SERVER CORE REQUIREMENTS
• Minimum Requirement:– 256-512MB of RAM– 1GHz (x86) or 1.4Ghz (x64)CPU
• Recommended– 512MB+– 2GHz+ CPU
SUGCON NORTH AMERICA 2015
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
Organized by the Community, for the Community.
WHY CONTAINERS?
Developers
Enable ‘write-once, run-anywhere’ appsEnables microservice architecturesGreat for dev/test of apps and services (thousands available from Docker)Reproducibility
Operations
Portability, Portability, PortabilityStandardized development, QA, and prod environmentsAbstract differences in OS distributions and underlying infrastructureEasily scale-up and scale-down in response to changing business needs
DevOps
Modern DevOps1x every 2 weeks to 100x a day
MTTR 12x fasterAmazon deploys every 11.6 seconds
Organized by the Community, for the Community.
HOSTING CONTAINERS
Locally with:• Docker Toolbox
(Linux)
• Hyper V (Windows)
Physical Servers• Linux (Linux)
• Windows 2016 TP3 (Windows)
Clouds• Azure (Linux &
Windows) AzureOn Premises Service ProviderLocally
Organized by the Community, for the Community.
DOCKER DISTRIBUTION
Organized by the Community, for the Community.
DOCKERFILE
Organized by the Community, for the Community.
WINDOWS SERVER CONTAINERSCreation, deployment, and management
Developers build and test apps in containers,
using development environment
i.e. Visual Studio
Containers pushed tocentral repository
Operations automates
deployment and monitors deployed apps from central
repository
1 2
2
3Operations collaborates with developers to provide app metrics and insights
Developers update, iterate, and deploy updated containers
Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015
Microsoft CloudAzure On Premises Service Provider
Container Technologies
Container ManagementPowerShell OthersDocker
Development
Environments
Others…
Organized by the Community, for the Community. 25SUGCON NORTH AMERICA 2015
SITECORE AND CONTAINERS
Organized by the Community, for the Community.
MONGO ON DOCKER• Simple configuration– Single instance– Replica set (development)
• Scaled configuration– Scale horizontally – Sharding– Replica sets
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
Organized by the Community, for the Community.
SITECORE ON DOCKER (COMING!)• Simple Configuration– Single instance– Scaled CD/CM environments (development)
• Scaled configuration– Highly scaled infrastructure– Load balanced server instances
Organized by the Community, for the Community.
DOCKER HUB• Docker Hub
– Base repository– Private vs Public – Solr for Sitecore
Organized by the Community, for the Community. 30SUGCON NORTH AMERICA 2015
COMMON QUESTIONS
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/Windows VM running Docker daemon
2. Docker Linux and Windows hosts – You can only create the same container as the underlying host VM - Linux host =
Linux containers3. Docker Image vs Docker Container
– Image = The definition – literally a single file [My Website]– Container – An instance of an image [3 instances of My Website]
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!– Docker Trusted Registry – Dedicated registry application deployable on-premise or
direct from Azure Marketplace
5 COMMON DOCKER QUESTIONS
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
Organized by the Community, for the Community. 33SUGCON NORTH AMERICA 2015
MODULAR DESIGN
Organized by the Community, for the Community.
MOVING TO MODULAR DESIGN
• How will you move your website?
Organized by the Community, for the Community.
THINK CONTAINERS
• How will your app scale?
Organized by the Community, for the Community.
Front EndLogic
Caching Persistence
IDENTIFY THE SCALING BOUNDARIES
Organized by the Community, for the Community.
IDENTIFY THE SCALING BOUNDARIES
Email Campaig
nsProduct MgmntCustom
er ServiceBasket Mgmnt
Payment
Gateway
Product Info
Shopper ProfileOrder StatusLogic
Order StatusBasket Mgmnt
Checkout
BackOffice
Customer
MgmntProduct
InfoFront End
Caching Persistence
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
PersistenceEmail
Campaigns
Product Mgmnt
Customer
Service
Order Status
Order Status
BackOffice
Customer
Mgmnt
Basket Mgmnt
Payment
Gateway
Product Info
Shopper Profile
Basket Mgmnt
Checkout
Product Info
IDENTIFY THE SCALING BOUNDARIES
Organized by the Community, for the Community.
PREPARE, PREPARE, PREPARE
• Think Modular Design• Think “micro services”• Think “Composable”
Organized by the Community, for the Community. 40SUGCON NORTH AMERICA 2015
COMPLEMENTARY TOOLS
Organized by the Community, for the Community.
SOME OTHER DOCKER CONCEPTSComposeDefine and deploy a multi-container application
SwarmPool of hosts treated as a single unit, control over multi-container environments
Organized by the Community, for the Community.
DOCKER COMPOSE EXAMPLE
Pull Redis image from Docker hubCreate and Start Redis containerBuild an ASP.NET Docker imageCreate and Start the web image on port 80 with redis environment variables
Organized by the Community, for the Community.
DOCKER SWARMAdds a collection of virtual machines into one logical cluster. Same Docker APIElect a leader to receive commands and send to clusterSchedulerConstraints – set a label on a VM/Node so matching containers use that VM
(ex: region=us-west)Affinities – Filters for labels, image, containers ex: -e affinity:container==frontend)Various Strategies
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!
Organized by the Community, for the Community. 45SUGCON NORTH AMERICA 2015
THANK YOU TO OUR SPONSORS!
Organized by the Community, for the Community.SUGCON NORTH AMERICA 2015
THANK YOU!
https://www.linkedin.com/in/vasiliyfomichev
@vasiliyfomichev
VASILIY FOMICHEVSOLUTIONS ARCHITECT
http://content.verndale.com/sugconvasiliyhttp://www.cmsbestpractices.comSpecial thanks to Steve Lasker, Microsoft