accelerate sitecore devops on microsoft azure

Post on 11-Apr-2017

204 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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