puppetconf 2016: deploying multi-tier windows applications with application orchestrator – ethan...

Post on 12-Apr-2017

87 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Puppet Application Orchestration with Windows Ethan Brown, Principal Engineer, Puppet Iristyle ethanjbrown

Puppet Application Orchestration with Windows

Core Agent / Types and Providers Ecosystem Integrations – PS, DSC Azure Extensions and Images

Puppet Application Orchestration with Windows

Agenda

(Really) Brief v1 Recap

2016.4 Orchestration Enhancements

Code Manager

Concept Application

Demo

3 Puppet Application Orchestration with Windows

Orchestration v1 Recap Initial 2015.3 Release

4

Orchestration v1 Recap

Language Additions Services / Tooling

Framework for describing applications Tools for applying ordered configuration spanning nodes

5 Puppet Application Orchestration with Windows

2016.4 Enhancements It’s All About Control

6

2016.4 New Features

Direct Puppet PE Client Tools OSX + Windows

Arbitrary Nodes (PQL Support)

Manage Puppet without the PE console Expressly Dictate Change

7 Puppet Application Orchestration with Windows

Code Manager Managing and Deploying Environments

8

Conceptual Code Promotion Workflow

Commit Code Branch Per

Environment

Deploy / Sync Code Enforce Code Deterministically

Or Eventually

9 Puppet Application Orchestration with Windows

A Bit of Advice

Let Code Manager manage code

10 Puppet Application Orchestration with Windows

Puppetfile Module dependencies

11

Let’s Talk About Apps Yes, it’s an ASP.NET MVC app running under IIS. Please bear with me.

12

Pushing the Envelope 8 VMS running under Vagrant 1.8.1 / VirtualBox 5.0.x on a 16GB MBP

Oscar plugin for managing PE installs

https://github.com/Iristyle/puppetconf2016

13 Puppet Application Orchestration with Windows

Prep The 2016.4.0 Master

Enable Code Manager

code_manager_auto_configure

Create RBAC user rbac-api/v1/users

Point Code Manager To Internal Git Repo

master::r10k_remote

Pointed to HTTP repo

Vagrant Setup

14 Puppet Application Orchestration with Windows

Prep The Release Binaries

NuGet Packages App asset packaging format, parameterized

for Choco

ASP.NET MVC App Typical MVC app built with Visual Studio 15

Chocolatey Server “Simple Server”

deployed with Puppet

Build Server Not in demo, but typically assets

produced by Jenkins / TFS / TeamCity

A simulated release pipeline

15 Puppet Application Orchestration with Windows

Choco Package Install Script

16 Puppet Application Orchestration with Windows

Windows 10 Server

Generate token Install PE tools

Config PE tools

puppet-access CLI

Host Control Repo Choco push Stage app 0.0.1

Deploy Code Puppet-code CLI

Standalone node not under Puppet control

17 Puppet Application Orchestration with Windows

Puppet Job Run No applications defined Nodeset specified with –nodes 5 nodes updated over 2.5 minutes

18

Clustered Blue Green Deployment

19 Puppet Application Orchestration with Windows

v1

v2

LB

Live Demo The Main Event

20

Additional Resources Orchestration Workflow Docs - https://docs.puppet.com/pe/latest/

app_orchestration_workflow.html

Wordpress App Demo - https://github.com/puppetlabs/puppetlabs-wordpress_app

App Modeling Module - https://forge.puppet.com/puppetlabs/app_modeling

Puppet Control Repo - https://github.com/puppetlabs/control-repo

RG Bank Demo – Docker + Orchestration - https://github.com/puppetlabs/puppetlabs-rgbank

21 Puppet Application Orchestration with Windows

Thanks! (Special thanks to Charlie and Alex!)

22

top related