"Infrastructure as Code" für Anfänger. XP Days Germany David Völkel 27.11.2015



Similar documents
Automation & Open Source. How to tame the Cloud?

Skip the But it Works on My Machine Excuse with Vagrant

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

How Bigtop Leveraged Docker for Build Automation and One-Click Hadoop Provisioning

Timofey Turenko. Kirill Krinkin St-Petersburg Electrotechnical University

DevOps Course Content

DevOps Stack. Reid Holmes. Chris Parnin:

Do DevOps on VMware vcloud Air Your Way, Without the Rework! Ashok Aletty, vcloud Air Solution Architect

Data Center Automation with YADT

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

Creating a dynamic software deployment solution using free/libre software

Service Orchestration

Jenkins and Chef Infrastructure CI and Application Deployment

Continuous Delivery by example.net

Zabbix for Hybrid Cloud Management

DO NOT DISTRIBUTE. Automating Applications with Continuous Delivery on AWS. Student Guide. Version 1.0

Source Code Management for Continuous Integration and Deployment. Version 1.0 DO NOT DISTRIBUTE

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Deploying Your Application On Public Cloud

McAfee Public Cloud Server Security Suite

Continuous Integration. CSC 440: Software Engineering Slide #1

Getting Started with DevOps Automation

PostgreSQL administration using Puppet. Miguel Di Ciurcio Filho

GETTING STARTED WITH CONTINUOUS DELIVERY. Lana wcgp.co

Whitepaper. Continuous Integration Tools Applying Best Practices to the Toolchain

Using Vagrant for Magento development. Alexander

How To Develop An Org Cloud Based Powerware For An Onpremise Cloud Environment

A Complete Open Cloud Storage, Virt, IaaS, PaaS. Dave Neary Open Source and Standards, Red Hat

Of Pets and Cattle and Hearts

ACCELERATE DEVOPS USING OPENSHIFT PAAS

DevOps. Building a Continuous Delivery Pipeline

Continuous Integration and Delivery at NSIDC

Java PaaS Enabling CI, CD, and DevOps

PeopleSoft Cloud Architecture Automating PeopleSoft Deployment

Déployer son propre cloud avec OpenStack. GULL François Deppierraz

Bringing DevOps to Everyone. Bernard Sanders CTO, CloudBolt Software

IOS110. Virtualization 5/27/2014 1

Continuous Integration using Docker & Jenkins

HAWAII TECH TALK SDN. Paul Deakin Field Systems Engineer

Achieving Continuous Integration with Drupal

A Pythonic Approach to Continuous Delivery

Introduction to CoprHD: An Open Source Software Defined Storage Controller

THE STATEFUL CONDITION: OR HOW I LEARNED TO STOP WORRYING AND EMBRACE THE CLOUD

Beginner s guide to continuous integration. Gilles QUERRET Riverside Software

Continuous Delivery. Ariel Alonso, IPC

My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies

Virtualization and Cloud: Orchestration, Automation, and Security Gaps

Continuous Integration and Delivery. manage development build deploy / release

Platform as a Service and Container Clouds

Best Practices for Monitoring Databases on VMware. Dean Richards Senior DBA, Confio Software

Continuous Delivery of Debian packages. Michael Prokop

Testing New Applications In The DMZ Using VMware ESX. Ivan Dell Era Software Engineer IBM

Install Guide for JunosV Wireless LAN Controller

Copyright 2014, Oracle and/or its affiliates. All rights reserved. 2

TestOps: Continuous Integration when infrastructure is the product. Barry Jaspan Senior Architect, Acquia Inc.

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Thomas Rümmler AIT GmbH & Co. KG Christian Schlag AIT GmbH & Co. KG. Central Build and Release Management with TFS

WHITE PAPER SETTING UP AND USING ESTATE MASTER ON THE CLOUD INTRODUCTION

A central continuous integration platform

VegaStream Tutorial - The Advantages & Disadvantages of Using Virtual Machines

DevOps for the Mainframe

Cloud & DevOps Program Big Group. March 13, 2015 Friday 2:00-3:00 p.m. Science Center Hall A

Software Defined Everything

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

OpenStack Manila Shared File Services for the Cloud

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Module 11 Setting up Customization Environment

How To Install Eucalyptus (Cont'D) On A Cloud) On An Ubuntu Or Linux (Contd) Or A Windows 7 (Cont') (Cont'T) (Bsd) (Dll) (Amd)

Enterprise PaaS Evaluation Guide

Fundamentals of Continuous Integration

Continuous Delivery on AWS. Version 1.0 DO NOT DISTRIBUTE

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

OpenMake Dynamic DevOps Suite 7.5 Road Map. Feature review for Mojo, Meister, CloudBuilder and Deploy+

About the VM-Series Firewall

Savanna Hadoop on. OpenStack. Savanna Technical Lead

Deploy Big Data Extensions on vsphere Standard Edition

How To Manage Build And Release With Tfs 2013

12 Factor App. Best Practices for Scala Deployment

depl Documentation Release depl contributors

Automated deployment of virtualization-based research models of distributed computer systems

Azure Day Application Development

Automating Big Data Benchmarking for Different Architectures with ALOJA

Developing Plugins for Cloud Scale

Advanced Systems Management with Machinery

Advantages and Disadvantages of Application Network Marketing Systems

Continuous Integration Processes and SCM To Support Test Automation

White Paper. SAP NetWeaver Landscape Virtualization Management on VCE Vblock System 300 Family

JOB ORIENTED VMWARE TRAINING INSTITUTE IN CHENNAI

Paul Barham Program Manager - Java. David Staheli (dastahel@microsoft.com) Software Development Manager - Java

@CodenvyHQ

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

Building a Continuous Integration Pipeline with Docker

Accelerating DevOps With Copy Data Virtualization. June, 2015

Transcription:

"Infrastructure as Code" für Anfänger XP Days Germany David Völkel 27.11.2015

@davidvoelkel @softwerkskammer @codecentric TDD & Design CD & DevOp

Continuous Integration Automatic Build VCS Application

Automation Quality VCS Application Reproducible Faster Docs

Tip of the Iceberg? VCS App

Tip of the Iceberg? VCS App OS & Packages Config VM Network

Continuous Delivery VCS App OS & Packages Infrastructure? Config VM Network

Continuous Delivery Infrastructure as Code Software VCS OS & Packages Config VM Network

Agenda 1. Deployment 2. Provisioning 3. Environments 4. VM Management 5. SDN App OS & Packages Config VM Network DEMO

1.DEPLOYMENT App OS & Packages Config VM Image: Rigo Peter

Deployment SSH/SCP mvn Plugins App Server

Auto Deployment CI Build Pipeline VCS Build & Unit Tests Deployment Integration Tests App Server

App Server Options Distro Package Manager Fat-JARs Image: RRZEicons

App OS & Packages Config VM 2. PROVISION Box by Даниил Пронин from the Noun Project

Snowflake Servers

Snowflake Servers Work of Art

Configuration Management Server Provisioning Installation Config VCS Image: KUKA Systems GmbH

Configuration Management 90er 00er 10er CFEngine Chef Puppet Salt Ansible

Desired State Configuration Declarative Tests itself Idempotent

Our Provision 1.0 > mvn package (per jdeb) > scp software_and_provi.deb server # dpkg i *.deb # puppet apply > smoketest server Software VCS Build & Unit Tests Provision Deployment OS & Packages Config Server

Refactoring to 2.0 no shell no jdeb faster easier Windows OK

DEV TEST PROD App OS & Packages Config VM 3.ENVIRONMENTS Computer by Danny Sturgess from the Noun Project

Configuration Global vs. Environment mail.send.retry=3 reminder.intervall=7 mysql.url = jdbc:mysql://test-mysql-db/users mysql.driver = com.mysql.jdbc.driver mysql.user = username mysql.password = secretpassword oracle.url = jdbc:oracle://oracle-test/bills oracle.driver = oracle.jdbc.driver.oracledriver oracle.user = username2 oracle.password = secretpassword2

Configuration Global vs. Environment mail.send.retry=3 reminder.intervall=7 mysql.url = jdbc:mysql://test-mysql-db/users mysql.driver = com.mysql.jdbc.driver mysql.user = username mysql.password = secretpassword oracle.url = jdbc:oracle://oracle-test/bills oracle.driver = oracle.jdbc.driver.oracledriver oracle.user = username2 oracle.password = secretpassword2

Configuration Global vs. Environment mail.send.retry=3 reminder.intervall=7 mysql.driver = com.mysql.jdbc.driver oracle.driver = oracle.jdbc.driver.oracledriver mysql.url = jdbc:mysql://test-mysql-db/users mysql.user = username mysql.password = secretpassword oracle.url = jdbc:oracle://oracle-test/bills oracle.user = username2 oracle.password = secretpassword2

Configuration Global vs. Environment deploy(env) mail.send.retry=3 reminder.intervall=7 mysql.driver = com.mysql.jdbc.driver oracle.driver = oracle.jdbc.driver.oracledriver mysql.url = jdbc:mysql://test-mysql-db/users mysql.user = username mysql.password = secretpassword oracle.url = jdbc:oracle://oracle-test/bills oracle.user = username2 oracle.password = secretpassword2

Latest Config No branching!

App OS & Packages Config VM 4. VM MANAGEMENT Data Center Server Virtualization by Rahul KULKARNI from the Noun Project

Desired State Configuration Drift! Drift

Phoenix Server clean slate Clone Golden Master vs. DSC? Phoenix Image: RoFra

Technology Packer & AWS AMI VMWare VSphere Phoenix Image: RoFra

Security Patches? Rotate by Thomas Helbig from the Noun Project

Immutable Servers Freeze State Logs Config DB/Storage Image: Deutsche Fotothek

Pipeline Clone VM & Provision OS & Packages DEV VM VCS Provision Golden Master VM Image

VCS App Code Pipeline Build & UT Clone VM & Provision OS & Packages DEV VM VCS Provision Golden Master VM Image

VCS App Code Config Pipeline Build & UT Deploy Clone VM & Provision App & DEV Config OS & Packages DEV VM VCS Provision Golden Master VM Image

VCS App Code Config Pipeline Build & UT Deploy Int Test Clone VM & Provision App & DEV Config OS & Packages DEV VM VCS Provision Golden Master VM Image

Pipeline VCS App Code Config Build & UT Deploy Int Test Deploy Test App & DEV Config App & TEST Config Clone VM & Provision OS & Packages DEV VM OS & Packages Test VM VCS Provision

Pipeline VCS App Code Config Build & UT Deploy Int Test Deploy Test App & TEST Config Clone VM & Provision OS & Packages Test VM VCS Provision

Pipeline VCS App Code Config Build & UT Deploy Int Test Deploy Test App & TEST Config Clone VM & Provision OS & Packages Test VM VCS Provision Deploy Prod

Packer Pipeline Packer Temp Instance VCS Provision Golden Master AMI

Packer Pipeline Packer OS & Packages Temp Instance VCS Provision Golden Master AMI

Packer Pipeline Packer OS & Packages Temp Instance VCS Provision Golden Master AMI Provisioned AMI

Demo Ansible Jar Deploy Ansible Provision Vagrant, Packer, Ansible EC2 Module Terraform App OS & Packages Config VM Network https://github.com/davidvoelkel/infrastructure-as-code-demo https://youtu.be/aiaolpshgum

Resumee Version & automate infrastructure Living Documentation Quality, works on my machine Layers top to bottom

@davidvoelkel

Licence Creative Commons Attribution-ShareAlike 3.0