+ All Categories
Home > Technology > PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan...

PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan...

Date post: 12-Apr-2017
Category:
Upload: puppet
View: 87 times
Download: 3 times
Share this document with a friend
23
Puppet Application Orchestration with Windows Ethan Brown, Principal Engineer, Puppet Iristyle ethanjbrown Puppet Application Orchestration with Windows
Transcript
Page 1: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

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

Puppet Application Orchestration with Windows

Page 2: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

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

Puppet Application Orchestration with Windows

Page 3: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

Agenda

(Really) Brief v1 Recap

2016.4 Orchestration Enhancements

Code Manager

Concept Application

Demo

3 Puppet Application Orchestration with Windows

Page 4: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

Orchestration v1 Recap Initial 2015.3 Release

4

Page 5: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

Orchestration v1 Recap

Language Additions Services / Tooling

Framework for describing applications Tools for applying ordered configuration spanning nodes

5 Puppet Application Orchestration with Windows

Page 6: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

2016.4 Enhancements It’s All About Control

6

Page 7: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

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

Page 8: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

Code Manager Managing and Deploying Environments

8

Page 9: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

Conceptual Code Promotion Workflow

Commit Code Branch Per

Environment

Deploy / Sync Code Enforce Code Deterministically

Or Eventually

9 Puppet Application Orchestration with Windows

Page 10: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

A Bit of Advice

Let Code Manager manage code

10 Puppet Application Orchestration with Windows

Page 11: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

Puppetfile Module dependencies

11

Page 12: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

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

12

Page 13: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

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

Page 14: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

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

Page 15: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

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

Page 16: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

Choco Package Install Script

16 Puppet Application Orchestration with Windows

Page 17: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

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

Page 18: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

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

18

Page 19: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

Clustered Blue Green Deployment

19 Puppet Application Orchestration with Windows

v1

v2

LB

Page 20: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

Live Demo The Main Event

20

Page 21: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

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

Page 22: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

Thanks! (Special thanks to Charlie and Alex!)

22

Page 23: PuppetConf 2016: Deploying Multi-Tier Windows Applications with Application Orchestrator – Ethan Brown, Puppet

Recommended