Date post: | 12-Apr-2017 |
Category: |
Technology |
Upload: | puppet |
View: | 87 times |
Download: | 3 times |
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