automating for agility, control and consistency in a multi ......create the resources required to...
TRANSCRIPT
© 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
1
DevOps is about minimizing the challenges of delivering and iterating software applications.
DevOps – The Problem
“
2
Modern Application Lifecycle
BUILD
TEST
PACKAGE
SHIP
PROVISION
MONITOR
UPDATE / REPAIR
Implementation, compiling, bug fixing etc
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
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
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.
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.
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.
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.
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
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
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
12
Demo of UForge & Cloudsoft AMP
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.
14
Questions….
Too Shy?Swing by our booth #974
James WeirCTO, [email protected]@jamesgweir
Alex HeneveldCTO, Cloudsoft
[email protected]@ahtweetin
Backup Slides
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
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
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