automating for agility, control and consistency in a multi ......create the resources required to...

20
© Copyright 2017 UShareSoft Automating for Agility, Control and Consistency in a Multi-Cloud Environment 16 th March 2017 James Weir CTO, UShareSoft [email protected] @jamesgweir Alex Heneveld CTO, Cloudsoft [email protected] @ahtweetin

Upload: others

Post on 03-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

© Copyright 2017 UShareSoft

Automating for Agility, Control and Consistency in a Multi-Cloud Environment16th March 2017

James WeirCTO, [email protected]@jamesgweir

Alex HeneveldCTO, Cloudsoft

[email protected]@ahtweetin

Page 2: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

1

DevOps is about minimizing the challenges of delivering and iterating software applications.

DevOps – The Problem

Page 3: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

2

Modern Application Lifecycle

BUILD

TEST

PACKAGE

SHIP

PROVISION

MONITOR

UPDATE / REPAIR

Implementation, compiling, bug fixing etc

Page 4: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

3

Modern Application Lifecycle

BUILD

TEST

PACKAGE

SHIP

PROVISION

MONITOR

Implementation, compiling, bug fixing etc

Unit, robustness, integration, acceptance, security testing. Provide rapid feedback to the development cycle.

UPDATE / REPAIR

Page 5: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

4

Modern Application Lifecycle

BUILD

TEST

PACKAGE

SHIP

PROVISION

MONITOR

Implementation, compiling, bug fixing etc

Unit, robustness, integration, acceptance, security testing. Provide rapid feedback to the development cycle.

Target dependant. Once coded and tested, packaged as an archive, container, machine image

UPDATE / REPAIR

Page 6: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

5

Modern Application Lifecycle

BUILD

TEST

PACKAGE

SHIP

PROVISION

MONITOR

UPDATE / REPAIR

Implementation, compiling, bug fixing etc.

Unit, robustness, integration, acceptance, security testing. Provide rapid feedback to the development cycle.

Target dependant. Once coded and tested, packaged as an archive, container, machine image.

Packaged artifacts shipped and stored in a “registry” allowing these artifacts to be shared.

Page 7: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

6

Modern Application Lifecycle

BUILD

TEST

PACKAGE

SHIP

PROVISION

MONITOR

UPDATE / REPAIR

Implementation, compiling, bug fixing etc.

Unit, robustness, integration, acceptance, security testing. Provide rapid feedback to the development cycle.

Target dependant. Once coded and tested, packaged as an archive, container, machine image.

Packaged artifacts shipped and stored in a “registry” allowing these artifacts to be shared.

Create the resources required to run the application for hybrid clouds. This may be indirectly through a container, PaaS or serverless platform.

Page 8: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

7

Modern Application Lifecycle

BUILD

TEST

PACKAGE

SHIP

PROVISION

MONITOR

UPDATE / REPAIR

Implementation, compiling, bug fixing etc.

Unit, robustness, integration, acceptance, security testing. Provide rapid feedback to the development cycle.

Target dependant. Once coded and tested, packaged as an archive, container, machine image.

Packaged artifacts shipped and stored in a “registry” allowing these artifacts to be shared.

Create the resources required to run the application for hybrid clouds. This may be indirectly through a container, PaaS or serverless platform.

Monitor to ensure the application is healthy. Integrate with monitoring and logging tool chains. Detect server-drift and enforce compliance.

Page 9: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

8

Modern Application Lifecycle

BUILD

TEST

PACKAGE

SHIP

PROVISION

MONITOR

Implementation, compiling, bug fixing etc.

Unit, robustness, integration, acceptance, security testing. Provide rapid feedback to the development cycle.

Target dependant. Once coded and tested, packaged as an archive, container, machine image.

Packaged artifacts shipped and stored in a “registry” allowing these artifacts to be shared.

Create the resources required to run the application for hybrid clouds. This may be indirectly through a container, PaaS or serverless platform.

UPDATE / REPAIR

Monitor to ensure the application is healthy. Integrate with monitoring and logging tool chains. Detect server-drift and enforce compliance.

Manage the running service. Update with additional features, security and bug patches. Optimize and self-heal based on demand, performance and cost policies.

Page 10: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

9

Typical Issues

n Using base machine images differ depending upon the target environmentn Lack of control over software stacksn Base machine images may not be properly maintainedn Frequently people use packages from upstream which could possibly break on any build without

cachingn Deploying multi-node environments for testing can be difficult to automaten Enterprise requirements for repeatability and audit control difficult across test, pre-production and

production systems n Many manual processes – most automation tools still infrastructure-centric

The Dockerfile is not the source of truth for your image“ Nathan Leclaire

Page 11: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

10

Get Consistency via Modeling

repositories(binaries, RPMS, DEB)

software stacks(appliance template)

blueprints

AMI

K5 KVMVMDK

machine images(Cloud, Virtual, Container, Physical)

Instances(workloads)

To Hybrid Cloud Targets

MODEL BUILD DEPLOY

Machine Images to Target Environment

Governance and Control at the Stack and Solution Level

Page 12: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

11

Application Release Automation Tools

BUILD

TEST

PACKAGE

SHIP

PROVISION

MONITOR

Git, Gerrit, Jenkins, Sonar

JUnit, Cucumber, Selenium, Jasmine etc….

UForge AppCenter

UForge AppCenter with Artifactory, Nexus, DockerHub etc…

Cloudsoft AMP

Cloudsoft AMP with Logstash, Nagios, New Relic etc…

Cloudsoft AMP with Chef, Ansible, SaltStack, Puppet, Docker etc…UPDATE / REPAIR

Page 13: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

12

Demo of UForge & Cloudsoft AMP

Page 14: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

13

Take Aways

Culture

Automation

Measurement

Sharing

The DevOps culture shift is amplified with tools that give each stakeholder immediate value: UForge + AMP through:

Repeatable, reliable deployments of any system anywhere

Quantify what works. Test in hybrid cloud and multiple locations. Record performance.

Models of stacks and blueprints that everyone can understand, share, source control, reproduce, test and audit.

Page 15: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

14

Questions….

Too Shy?Swing by our booth #974

James WeirCTO, [email protected]@jamesgweir

Alex HeneveldCTO, Cloudsoft

[email protected]@ahtweetin

Page 16: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,
Page 17: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

Backup Slides

Page 18: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

17

Base vs Baked

Configuration+

Custom Packages+

Native Packages

Base Image

Configuration+

Custom Packages

Base Image including all native

packages

Self contained image including all

software and configuration

Configuration management

installs and configures services

after first boot of instance

* * *

* Hypervisor or environment specific. Must be able to update & maintain these images transparently

Page 19: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

18

Application Release Automation Tools

BUILD

TEST

PACKAGE

SHIP

PROVISION

MONITOR

Implementation, compiling, bug fixing etc

Unit, robustness, integration, acceptance, security testing. Provide rapid feedback to the development cycle.

UForge AppCenter for packaging applications to any target environment. These stack models can be shared and stored in version control

UForge AppCenter pushes artifacts to a shared registry: DockerHub or Artifactory

Cloudsoft AMP (based on Apache Brooklyn) used to provision multi-tiered environments.

Using your favorite configuration management platform to manage updates.

Cloudsoft AMP using Apache Brooklyn automatics to monitor and self-help.UPDATE / REPAIR

Page 20: Automating for Agility, Control and Consistency in a Multi ......Create the resources required to run the application for hybrid clouds. This may be indirectly through a container,

19

Application Release Automation Tools

Consistency and transparency at each software stack & node

UForge

Cloudsoft AMP using Apache Brooklyn

Consistency and transparency of multi-node blueprinting