accelerate sitecore devops on microsoft azure

30
Accelerate Sitecore DevOps on Microsoft Azure Perficient Webinar – March 1, 2017

Upload: perficient-inc

Post on 11-Apr-2017

203 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Accelerate Sitecore DevOps on Microsoft Azure

Accelerate Sitecore DevOps on Microsoft AzurePerficient Webinar – March 1, 2017

Page 2: Accelerate Sitecore DevOps on Microsoft Azure

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.

Page 3: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 4: Accelerate Sitecore DevOps on Microsoft Azure

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-

Page 5: Accelerate Sitecore DevOps on Microsoft Azure

5

Tim McCarthySenior Solutions Architect@tmccart_1

IntroductionsGeorge ChangSenior Solutions ArchitectSitecore MVP, Cloud@sitecoregeorge

Page 6: Accelerate Sitecore DevOps on Microsoft Azure

6

• What is DevOps?• Infrastructure-as-Code on

Microsoft Azure• Using Visual Studio Team

Services (VSTS) to enable Continuous Integration / Continuous Delivery

Agenda

Page 7: Accelerate Sitecore DevOps on Microsoft Azure

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?

“ ”

Page 8: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 9: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 10: Accelerate Sitecore DevOps on Microsoft Azure

DemoBuilding out a Sitecore Environment on Microsoft Azure via Code

Page 11: Accelerate Sitecore DevOps on Microsoft Azure

11

Application Management Options

Page 12: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 13: Accelerate Sitecore DevOps on Microsoft Azure

13

Sitecore Azure App Service

Page 14: Accelerate Sitecore DevOps on Microsoft Azure

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“ ”

Page 15: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 16: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 17: Accelerate Sitecore DevOps on Microsoft Azure

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%

“ ”

Page 18: Accelerate Sitecore DevOps on Microsoft Azure

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?

Page 19: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 20: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 21: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 22: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 23: Accelerate Sitecore DevOps on Microsoft Azure

23

Visual Studio Marketplace

Page 24: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 25: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 26: Accelerate Sitecore DevOps on Microsoft Azure

26

• Release definition step• Delete existing resource group/VMs• Create/update resource group/VMs• Complete teardown and rebuild of

infrastructure

ARM Template Deployment

Page 27: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 28: Accelerate Sitecore DevOps on Microsoft Azure

28

Tim McCarthy: @tmccart_1George Chang: @sitecoregeorge

Questions?

Page 29: Accelerate Sitecore DevOps on Microsoft Azure

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

Page 30: Accelerate Sitecore DevOps on Microsoft Azure

THANK YOU