Accelerate Sitecore DevOps on Microsoft AzurePerficient Webinar – March 1, 2017
2
About Perficient
Perficient is the leading digital transformation consulting firm
serving Global 2000 and enterprise customers throughout North
America.
With unparalleled information technology, management consulting, and creative capabilities, Perficient and its Perficient Digital agency deliver vision, execution, and value with outstanding digital experience, business optimization, and industry solutions.
Perficient Profile
Founded in 1997Public, NASDAQ: PRFT2015 revenue $473.6 millionMajor market locations:
Allentown, Atlanta, Ann Arbor, Boston, Charlotte, Chattanooga, Chicago, Cincinnati, Columbus, Dallas, Denver, Detroit, Fairfax, Houston, Indianapolis, Lafayette, Milwaukee, Minneapolis, New York City, Northern California, Oxford (UK), Southern California, St. Louis, Toronto
Global delivery centers in China and India3,000+ colleaguesDedicated solution practices~95% repeat business rate Alliance partnerships with major technology vendorsMultiple vendor/industry technology and growth awards
4
We have designed, architected, implemented, and delivered many large sites powered by Sitecore’s enterprise-class Experience Platform. As a Platinum Implementation Partner, we have the expertise to help you create a relevant and personalized experience that wows your customers.
Perficient + Sitecore
75+CERTIFIED SITECORE
DEVELOPERS
6SITECORE
MVPs
1 of 20
SITECORE PLATINUM
IMPLEMENTATION PARTNERS
50+CERTIFIED
AZURE CONSULTANTS
MICROSOFT NSP PARTNER OF
THE YEAR 2016-ALL REGIONS-
5
Tim McCarthySenior Solutions Architect@tmccart_1
IntroductionsGeorge ChangSenior Solutions ArchitectSitecore MVP, Cloud@sitecoregeorge
6
• What is DevOps?• Infrastructure-as-Code on
Microsoft Azure• Using Visual Studio Team
Services (VSTS) to enable Continuous Integration / Continuous Delivery
Agenda
7
DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.
― Donovan Brown, “DevOps on the Microsoft Stack”
What is DevOps?
“ ”
8
• Azure is a developer’s best friend• Building the Azure environments
with Azure ARM Templates and PowerShell
• DSC – make sure IIS is there!• Custom Extension – configure
Sitecore!• Provisioning the Sitecore
databases into SQL Azure
Infrastructure-as-Code
9
Do you currently use or plan to use Microsoft Azure for your Sitecore environments?
Yes, we currently use Azure for our Sitecore environments.No, we do not and have no plans to.We don’t currently, but we plan to in the future.We’re not sure yet.
Poll #1 Placeholder
DemoBuilding out a Sitecore Environment on Microsoft Azure via Code
11
Application Management Options
12
Sample Sitecore Azure App Service Configuration:• Azure App Service (content management)• Azure App Service (content delivery)• Azure App Service (processing)• Azure App Service (reporting)• Azure SQL Server (core, master, reporting)• Azure SQL Server (web)• Azure Search• Azure Redis Cache• Application Insights
Note: You’ll need to bring your own xDB provider – that can be xDB Cloud, a VM, or a hosted MongoDB service.
• New in Sitecore 8.2 update 1• Uses native Azure Platform-as-a-Service
(PaaS) technologies• Deployable with ARM templates• Easily scale up or scale out through the
Azure portal• Scale server roles independently• Add more/remove instances
automatically based on conditions to save on costs
• Uses Application Insights for logging and other insights into site metrics
• Best used with consumption-based Sitecore licensing
Sitecore Azure App Service
13
Sitecore Azure App Service
14
There should be two tasks for a human being to perform to deploy software into a development, test, or production environment: to pick the version and environment and to press the ‘deploy’ button.― David Farley, “Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation”
Continuous Integration and Delivery“ ”
15
What?Frequent automated builds to a integration environment for the development team
Why?Visibility to the development teamInstant feedback loopRegular unit and integration testingMinimize issues before deployment
Continuous IntegrationHow?Centralized Code RepositoryCode ReviewsAutomated BuildsUnit TestingIntegration Testing
16
What?Frequent automated deployments to a production environment
Why?Minimize overhead and staffEnsure quality and consistencyProvide value to users quicklyMitigate risk with automation
Continuous DeliveryHow?Build SelectionEnvironment TransformsAutomated DeploymentDeployment Validation
17
The key test is that a business sponsor could request the current development version of the software to be deployed into production at a moment’s notice – and no one would bat an eyelid, let alone panic.– Martin Fowler
Continuous Delivery
Amazon, 2011• Mean time between deployments: 11.6• Max deployments per hour: 1,079• Mean number of hosts simultaneously
receiving a deployment: 10,000
Results• Reduction of outages: 75%• Reduction of outage minutes due to
deployment: 90%• Percentage of software deployments causing
an outage: 0.001%
“ ”
18
Development LifecycleDevelopment Life Cycle Flow Chart
Deve
lopm
ent
Task
M
anag
emen
tBu
ildTe
stDe
ploy
Sour
ce C
ontr
ol
Start Task Created and Assigned
Feature Branch Created
Integration Build
End
Code Complete
Pull Request Created
Code merged into development branch
Automated Tests
Integration Deployment
Tests Pass?
Yes
Issue Created and Assigned
No
Yes
Approved
Pull Request Approved? Denied
Feature Branch Committed
Build Succeeded?
19
Release LifecycleRelease Life Cycle Flow Chart
Task
M
anag
emen
tBu
ildTe
stDe
ploy
Sour
ce C
ontr
ol
Start Release Created and Assigned
Release Branch Created
Production Build
End
Automated Tests
Remove Production Server from Load
Balancer
Tests Pass?
Yes
Yes
Build Succeeded?
Issue Created and Assigned
No
No
Deploy to Production Server
Test Production Deployment
Production Deployment Tests Pass?
Deployment Completed
Tests Passed
Reinstate Production Server in
Load Balancer
Tests Failed
20
Build and Release ProcessBuild
Release
Compile Code Execute Tasks
Config Transforms
Build Artifacts
Automated Testing
Dev Environment Staging Environment Prod Environment
Code Repository
Config Transforms Config Transforms
21
Features:• Dashboards• Code Repository (Git and TFVC)
• Pull Requests• Branch Policies
• Project Management• Stories/Tasks/Bugs• Burndown• Kanban board• Multi-team Management
• Builds• Releases• Package Management and Feeds• Tests
• Test Plan Management• Load Tests
Why VSTS?• Integration
• Visual Studio• Azure• Windows Server
• Extensibility• Octopus Deploy• Slack• Jira
Visual Studio Team Services
22
Do you currently use or plan to use Microsoft Visual Studio Team Services (VSTS)?
Yes, we currently use Microsoft Visual Studio Team Services (VSTS).No, we do not and have no plans to.We don’t currently, but we plan to in the future.We’re not sure yet.
Poll #2 Placeholder
23
Visual Studio Marketplace
24
• Begins with code repository• Step-based process• Variables and secure password storage• Builds can be triggered by code
commits or schedules• Automatic work item creation on failure• Results in build artifacts to be used with
releases
Build Definitions
25
• Begins with build artifacts• Multi-environment support• Approver support• Infrastructure can be provisioned /
deprovisioned as a release task using ARM templates
• Releases can be triggered by successful builds or schedules
• Results in deployment to an environment
Release Definitions
26
• Release definition step• Delete existing resource group/VMs• Create/update resource group/VMs• Complete teardown and rebuild of
infrastructure
ARM Template Deployment
27
• Strategy for zero-downtime deployments
• Two (or more) identical production environments
• Current production environment stays up while deployment is occurring in other environment
• Once deployment is completed and validated, traffic from the existing production environment is redirected to the updated environment
• The now-legacy environment can be kept for the next deployment or spun down for cost savings
Blue/Green Deployments
28
Tim McCarthy: @tmccart_1George Chang: @sitecoregeorge
Questions?
29
FOLLOW US ONLINEConnect with us:
• Blogs.perficient.com/Microsoft• Facebook.com/Perficient• Twitter.com/Perficient_MSFT
Next up:
Drive Digital Transformation with Innovation
March 15, 20171:00pm - 2:00pm CST Perficient.com/insights/webinars
THANK YOU
Top Related