1 PUPPET AND DSC. INTRODUCTION AND USAGE IN CONTINUOUS DELIVERY PROCESS. VIKTAR VEDMICH PAVEL PESETSKIY AUGUST 1, 2015.

Slides:



Advertisements
Similar presentations
About Me CTO, Individual Digital, Inc. (Startup) Author of ext/tidy, PHP 5 Unleashed, Zend Ent. PHP Patterns
Advertisements

Introduction to Azure Resource Manager Gautam Thapar Senior Program Nathan Totten Senior Program
Puppet for GENI Experiments
Orchard CMS Deploying to Azure, Orchard CMS 1.5 August 15, 2012 Copyright 2012 Cloud Construct, LLC.
VCT May 20, 2009 Sapna Blesson Advisor: Dr.Christopher Pollett.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
$$$ Idea BusinessDevelopmentOperations codeProduct.
Network+ Guide to Networks, Fourth Edition Chapter 1 An Introduction to Networking.
Server Roles and Features.NET Framework 3.51.NET Framework 4.5 IIS Web Server IIS Default Document IIS Directory Browsing IIS HTTP Errors.
Your CMDB and PowerShell DSC: DevOps Techniques
SYST Web Technologies SYST Web Technologies Installing a Web Server (XAMPP)
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Best Practices in Moodle Administration Best Practices in Moodle Administration A variety of topics from technical to practical Jonathan Moore Vice President.
Software Licensing, Made Simple SELECT Server XM Edition
TechEd /22/2017 5:40 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
AI project components: Facter and Hiera
AUTOBUILD Build and Deployment Automation Solution.
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Two Installing and Configuring Exchange Server 2003.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Microsoft Azure SoftUni Team Technical Trainers Software University
Hybrid Cloud and Windows Server 2003 end of support on Azure Rod Kruetzfeld Data Center Technical Strategist Microsoft Canada.
1 Session 1: Introduction to PHP & MySQL iNET Academy Open Source Web Development.
Microsoft Management Seminar Series SMS 2003 Change Management.
Infrastructure as code. “Enable the reconstruction of the business from nothing but a source code repository, an application data backup, and bare metal.
Building and Diagnosing Applications using Visual Studio and Azure SDK Paul Yuknewicz Principal PM Manager.
Configuring and Deploying Web Applications Lesson 7.
Michael Kelley Linux Monitoring and Management with Microsoft System Center and PowerShell DSC INF334 A.
Azure in a Day Training: Windows Azure Module 1: Windows Azure Overview Module 2: Development Environment / Portal – DEMO: Signing up for Windows Azure.
MGT305 - Application Management in Private and Public Clouds Sean Christensen Senior Product Marketing Manager Microsoft Corporation MGT305.
BÄTTRE UTBILDNINGSRESULTAT. NÅ HÖGRE MED KUNSKAP.
ALL INFORMATION PRESENTED AS WELL AS ALL SESSIONS ARE MICROSOFT CONFIDENTIAL AND UNDER YOUR NON-DISCLOSURE AGREEMENT (NDA) AND\OR TECHNOLOGY PREVIEW.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
MGT305 - Application Management in Private and Public Clouds Daniel Savage Microsoft Corporation MGT305 Kenan Owens Microsoft Corporation.
Copyright © New Signature Who we are: Focused on consistently delivering great customer experiences. What we do: We help you transform your business.
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
Windows Azure and iOS Chris Risner Windows Azure Technical Evangelist Microsoft
Platform & Engineering Services CERN IT Department CH-1211 Geneva 23 Switzerland t PES Agile Infrastructure Project Overview : Status and.
Let's build a VMM service template from A to Z in one hour Damien Caro Technical Evangelist Microsoft Central & Eastern Europe
Simple Push DSC with SCCM Compliance Items Matthew H. Teegarden Systems Software Engineer Lifetouch Inc. Joseph.
Long Live Azure Automation!Long Live Azure Automation! Cloud-first Configuration Management and Automation Beth Cooper Program Manager.
XNAT 1.7: Getting Started 6 June, Introduction In this presentation we’ll discuss:  Features and functions in XNAT 1.7  Requirements  Installing.
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Deploying Web Application
@ Bucharest DevOps Hacker Meetup
Working with SQL Server for Linux Cross-Platform
Platform as a Service.
Objectives Differentiate between the different editions of Windows Server 2003 Explain Windows Server 2003 network models and server roles Identify concepts.
IT Atoumation / Conf. Mgmt...
Configuration Management with Azure Automation DSC
Drupal VM and Docker4Drupal For Drupal Development Platform
Drupal VM and Docker4Drupal as Consistent Drupal Development Platform
DevOps – Desired State Configuration –
The future of deployments by Rami Mounla
02 | Hosting Services in Windows Azure
Synthesizing knowledge During Project
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Getting Started with PowerShell Desired State Configuration (DSC)
PowerShell Desired State Configuration
Automating configuration of SQL Server
Simplified Development Toolkit
Introduction to Ansible
Microsoft Virtual Academy
Managing Services with VMM and App Controller
Desired State Configuration
Server Management and Automation Windows Server 2012 R2
Securing IaaS in the cloud
06 | Monitoring Lync Server with Operations Manager
Web Application Development Using PHP
Presentation transcript:

1 PUPPET AND DSC. INTRODUCTION AND USAGE IN CONTINUOUS DELIVERY PROCESS. VIKTAR VEDMICH PAVEL PESETSKIY AUGUST 1, 2015

2 Need to apply new Java version to all web servers ?????? CONFIGURATION ISSUES Jim Update_java Web01 x64 Web01 x86 Web01 x86 Web01 x64 Web01 x64 Web01 x86 Web01 x64 Web01 x64 Update_java

3 CONFIGURATION ISSUES Dev Web01 Web02 Forget add Web03 Jim Need to get all web servers for dev Topology Web01Web03Web02Web01Web03Web02 Dev Web01 Web02 Topology update_java.sh Why we still have security hole? Need to update java Why we still reproduce old version’s bug? Jim Why we still security hole?

4 REQUIREMENTS TO CONFIGURATION FLOW Configuration point Central configuration storage Inventory We can install Java on all platform types We know were to install java update Configuration edit audit Know were profiler installed Configuration

5 In software engineering, software configuration management (SCM) is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. Configuration identification Configuration control Configuration status accounting Configuration auditing Environment management WHAT IS SCM? SOFTWARE СONFIGURATION MANAGEMENT (SCM) GOALS OF SCM

CROSSPLATFORM IDEMPOTENCY DECLARATIVE APPROACH

7 PUPPET Puppet's declarative language Manifests Facter Client–server paradigm SSL authentication Report HOW WORKS

8 HOW PUPPET WORKS Agent Request catalog (send node name, facts) Request catalog (send node name, facts) Master Classify (Who is and what do?) Classify (Who is and what do?) Class Compile Catalog Defined system state Apply Query status Enforce defined Report

9 PowerShell Declarative and Imperative Code Local Configuration Management (LCM) WMF MOF (Management Object Format) files Push/Pull Pull Mode over SMB, HTTP/S, OData DSC - DESIRED STATE CONFIGURATION HOW WORKS

10 HOW DSC WORKS Previous.MOF Pending.MOF Current.MOF Hello, My name is Server. Give configuration. Hello, My name is Server. Give configuration. Download MOF and Resources Compare config with Current state. Install Compare config with Current state. Install LCM Agent Pull Server

11 PUPPET MANIFESTS Copy msi file Install msi package Copy config file Ensure service is running

12 POWERSHELL CONFIGURATION Copy source Install service Ensure service is running

13 java net40 Site1 httpd Site1 Site2 IIS NODES AND MODULES MAGIC Node web01 Node web02 Module web Module framework IIS Site1 httpd net40 java

14 Manage files and directories Install apache Configure hosts for apache Add second agent (Ubuntu) DEMO PUPPET Manage files and directories Install Windows Features Install SQL Run Windows PowerShell scripts (fill database) DSC

HASH TABLE CONFIGURATION DATA VARIABLE CONFIGURATION DATA FILE

16 Write a configuration to be applied to a target node Use the configuration to generate a MOF file Generate a checksum file to accompany the MOF Create the pull server itself Deploy the MOF and checksum files to the pull server Configure the target node to use the pull server DSC – PULL SERVER PRACTICE – DEPLOY PULL SERVER

PARTIAL DSC CONFIGURATIONS OS Configuration Fragment Join Domain SQL Configuration Fragment.NET Framework 4.5 Install SQL Server Configure SQL Instance Settings OS and Application Configuration Service Configuration Application Configuration

18 Service Config App Config.NET 4.5 Install SQL Config SQL Join Domain PARTIAL DSC CONFIGURATIONS Node SQL01 OS Configuration Join Domain SQL Configuration.NET 4.5 Install SQL Config SQL Service Config Application Configuration App Config

19 AZURE POWERSHELL DSC EXTENSION Write a configuration to be applied to a target node Publish Configuration to Azure Connect Azure Extension Create New VM with Extension

20 Create Simple Configuration Publish to Azure Create New VM Check Status of Deployment DSC DEMO AZURE EXTENSION

21 Built-In PowerShell DSC Resources Build Custom PowerShell DSC Resources PowerShell DSC Resource Designer Tool DSC RESOURCE DSC RESOURCE BASE WMF 4

DEPLOY $env: psmodulepath (folder) |- DSCResources (folder) |- (file, required) DISCOVER Import-DscResource [-Name ] [-ModuleName ] DEPLOY TO PULL SERVER Archive Resource ModuleName_Version.zip Generate new Checksum ModuleName_Version.zip.checksum

23 ROLES AND PROFILES : BUSINESS NEEDS Web Application Mail Business View

24 Node www150prod mysql networking apache tomcat php jdk ROLES AND PROFILES : NON-PATTERN APPROACH Node www1dev mysql networking apache tomcat php jdk Node www2prod mysql networking apache tomcat php jdk Node mail1 exim networking Need to change jdk version Need to change 150 nodes!

25 ROLES AND PROFILES : IMPLEMENTATION REALITY Mail Web Application Technical Reality

26 ROLES AND PROFILES : APPLYING PATTERN Node www1dev mysql networking apache tomcat php jdk Node www2prod mysql networking tomcat jdk profile::webserver apache php profile::common networking profile::appserver tomcat jdk profile::sqlserver mysql apache php role:webappdb_prod role:webappdb_dev profile::appserver tomcat

27 ROLES AND PROFILES : APPLYING PATTERN profile::webserver apache php profile::common networking jdk profile::sqlserver mysql profile::appserver tomcat Node www1dev role:webappdb_dev Node www2prod role:webappdb_prod profile::common profile::webserver

28 jdk {version -> 1.75} ROLES AND PROFILES : EDITS WITH PATTERN Node www1dev role:webappdb_dev Node www2prod role:webappdb_prod Need to change jdk version jdk profile::appserver tomcat Need to change one appserver profile

29 HIERA: ISSUE WITHOUT HIERA Sets the binding variable for different environments Creates config based on variable name

30 HIERA: ISSUE WITHOUT HIERA

31 HIERA: MAIN CONCEPT HIERA SEPARATES DATA FROM THE CODE

32 HIERA: LOOKUP www1 Environment: production Facts Easy to editable data in one file

33 TIME FOR DEMO DEMO

34 DEMO FOR REAL CUSTOMER

35 APPLICATION INFRASTRUCTURE mysitemyservice sqlserver My Application Puppet Master Zabbix Log audit, monitoring data Logstash Application, IIS logs Puppet dashboard Puppet reports Build Server

36 ANY QUESTIONS