Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Accenture DevOps Platform
Open Source Continuous Delivery Platform
7th May 2016
2
Who Am I?
Copyright © 2016 Accenture All rights reserved.
Jorge Hidalgo @_deors
Software Engineering Manager - Senior Technology Architect
Accenture Delivery Centre in Spain, Malaga
Global Java Professional Community Co-Lead in Accenture
Custom Distributed, Architecture & DevOps Lead in Spain DC
Father of two children, husband, whistle player, video gamer, sci-fi
‘junkie’, Star Wars ‘addict’, Lego ‘padawan’, Raspberry Pi fan...
https://deors.wordpress.com
3
What is DevOps?
DevOps is a movement dedicated to promote collaboration, eliminating friction
between Development and Operations  One Common Goal
Copyright © 2016 Accenture All rights reserved.
Development Operations
DevOps
Dev wants change Ops wants stability
Everyone wants...
Stable and operable software
Consistent and optimised release process
Conformance to infrastructure and platform standards
Low risk, high throughput of change
Confident code and software integrity
Highly available and predictable environments
4
DevOps Principles
Copyright © 2016 Accenture All rights reserved.
Solid configuration
management practices
Continuous delivery of
business value (Lean IT)
Automated tests, early and often
Production-like environments
Pipelines
Continuous delivery orchestration
Fine grained architecture
Microservices
Collaboration and empathy
No silos or blame-game
Zero-touch
build & deploy
Elastic supply of resources
Cloud
Robust design & resiliency
Gradual degradation
Opportunistic experimentation
Continuous improvement
modular
5
What is ADOP?
Copyright © 2016 Accenture All rights reserved.
Accenture DevOps Platform
best of breedcloud-based opinionated open source
HACKERS WELCOMED!
6
ADOP Internals
Copyright © 2016 Accenture All rights reserved.
ADOP fifth generation – based on Docker containers
Core tools encapsulated as loosely coupled Docker images
Independent release cycles, anti-fragile design
Modular structure and “cartridge” concept
Cartridges extend functionality in the core
7
Building Blocks – The Usual Suspects
Copyright © 2016 Accenture All rights reserved.
Jenkins
continuous integration
/ delivery server
Gerrit
git repo / code review
SonarQube
code inspection /
quality dashboard
Selenium
web browser testing
Nexus
binary artefact repo
NGINX
web / proxy server
OpenLDAP
directory server
ELK
log monitoring
Sensu - Uchiwa
infra/app monitoring
8
Building Blocks – The Usual Suspects
Copyright © 2016 Accenture All rights reserved.
Jenkins
continuous integration
/ delivery server
Gerrit
git repo / code review
SonarQube
code inspection /
quality dashboard
Selenium
web browser testing
Nexus
binary artefact repo
NGINX
web / proxy server
OpenLDAP
directory server
ELK
log monitoring
Sensu - Uchiwa
infra/app monitoring
9
Where can ADOP run?
Copyright © 2016 Accenture All rights reserved.
Anywhere where Docker runs
Local VM (boot2docker and Oracle VirtualBox)
Amazon Web Services EC2 with Linux host
Microsoft Azure IaaS with Linux host
Microsoft Hyper-V hypervisor with Linux host
VMware hypervisor with Linux host
10
Standing up the Platform
Copyright © 2016 Accenture All rights reserved.
Go to https://github.com/Accenture/adop-docker-compose
Clone the repository to a local directory of your choice
...or download a Zip
...or fork it to your personal GitHub account
Fork it if you plan to contribute with enhancements or fixes! 
11
Standing up the Platform
Copyright © 2016 Accenture All rights reserved.
There is a README file... TL;DR
Create a VPC in Amazon Web Services account
Create a CLI pair of keys in IAM
Execute command:
./quickstart.sh -t aws -m my-adop -c vpc-xxxxxxxx
Keep calm and watch the logs
12
Standing up the Platform
Copyright © 2016 Accenture All rights reserved.
For local installation Oracle VirtualBox is needed
It comes with Docker Toolbox if you don’t have it already
Execute command:
./quickstart.sh -t local -m my-adop
Strongly recommended to alter the scripts and use 8 GB of RAM
13
What Happens Backstage?
Copyright © 2016 Accenture All rights reserved.
Docker machine (a host) is created if it does not exist
Up to date images are pulled from Docker Hub
Containers are created and executed
Jenkins is initialised with example pipelines and management jobs
Certificates are exchanged between Jenkins master and slave
14
What Happens Backstage?
Copyright © 2016 Accenture All rights reserved.
Jenkins comes pre-loaded with just one job: Load_Platform
When it runs, pulls job DSLs from:
https://github.com/Accenture/adop-platform-management
The location above is overridable
Jobs are stored in Git repo in Gerrit
You can update the platform to the latest and greatest without
destroying the machine or losing data!
15
What Happens Backstage?
Copyright © 2016 Accenture All rights reserved.
The Platform Management jobs do the following:
Loads the cartridge list (link)
Configures Gerrit (link)
Generates an example pipeline (Spring Pet Clinic by default)
There is a job available to generate multiple workspaces
All generated workspaces and jobs are designed for multitenancy
16
What Comes with the Example Pipeline
Copyright © 2016 Accenture All rights reserved.
Build and packaging automation
Test automation: unit, integration (UI/BDD), stress, security
Code inspection
Deployment automation
Environment provisioning automation
Dev.
Source
Control
Code
Review
Build
Code
Quality
Deploy Testing
A-B
Test
17
Is That All?
Copyright © 2016 Accenture All rights reserved.
Yes!
Very easy to stand up
Pre-loaded with exemplar configuration
Update without impacting state
Update individual images or the whole platform
Update Jenkins platform management or individual job templates
18
Demo Time
Copyright © 2016 Accenture All rights reserved.
19
THANK YOU!
Copyright © 2016 Accenture All rights reserved.
https://github.com/Accenture/adop-docker-compose

More Related Content

OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07

  • 1. Accenture DevOps Platform Open Source Continuous Delivery Platform 7th May 2016
  • 2. 2 Who Am I? Copyright © 2016 Accenture All rights reserved. Jorge Hidalgo @_deors Software Engineering Manager - Senior Technology Architect Accenture Delivery Centre in Spain, Malaga Global Java Professional Community Co-Lead in Accenture Custom Distributed, Architecture & DevOps Lead in Spain DC Father of two children, husband, whistle player, video gamer, sci-fi ‘junkie’, Star Wars ‘addict’, Lego ‘padawan’, Raspberry Pi fan... https://deors.wordpress.com
  • 3. 3 What is DevOps? DevOps is a movement dedicated to promote collaboration, eliminating friction between Development and Operations  One Common Goal Copyright © 2016 Accenture All rights reserved. Development Operations DevOps Dev wants change Ops wants stability Everyone wants... Stable and operable software Consistent and optimised release process Conformance to infrastructure and platform standards Low risk, high throughput of change Confident code and software integrity Highly available and predictable environments
  • 4. 4 DevOps Principles Copyright © 2016 Accenture All rights reserved. Solid configuration management practices Continuous delivery of business value (Lean IT) Automated tests, early and often Production-like environments Pipelines Continuous delivery orchestration Fine grained architecture Microservices Collaboration and empathy No silos or blame-game Zero-touch build & deploy Elastic supply of resources Cloud Robust design & resiliency Gradual degradation Opportunistic experimentation Continuous improvement
  • 5. modular 5 What is ADOP? Copyright © 2016 Accenture All rights reserved. Accenture DevOps Platform best of breedcloud-based opinionated open source HACKERS WELCOMED!
  • 6. 6 ADOP Internals Copyright © 2016 Accenture All rights reserved. ADOP fifth generation – based on Docker containers Core tools encapsulated as loosely coupled Docker images Independent release cycles, anti-fragile design Modular structure and “cartridge” concept Cartridges extend functionality in the core
  • 7. 7 Building Blocks – The Usual Suspects Copyright © 2016 Accenture All rights reserved. Jenkins continuous integration / delivery server Gerrit git repo / code review SonarQube code inspection / quality dashboard Selenium web browser testing Nexus binary artefact repo NGINX web / proxy server OpenLDAP directory server ELK log monitoring Sensu - Uchiwa infra/app monitoring
  • 8. 8 Building Blocks – The Usual Suspects Copyright © 2016 Accenture All rights reserved. Jenkins continuous integration / delivery server Gerrit git repo / code review SonarQube code inspection / quality dashboard Selenium web browser testing Nexus binary artefact repo NGINX web / proxy server OpenLDAP directory server ELK log monitoring Sensu - Uchiwa infra/app monitoring
  • 9. 9 Where can ADOP run? Copyright © 2016 Accenture All rights reserved. Anywhere where Docker runs Local VM (boot2docker and Oracle VirtualBox) Amazon Web Services EC2 with Linux host Microsoft Azure IaaS with Linux host Microsoft Hyper-V hypervisor with Linux host VMware hypervisor with Linux host
  • 10. 10 Standing up the Platform Copyright © 2016 Accenture All rights reserved. Go to https://github.com/Accenture/adop-docker-compose Clone the repository to a local directory of your choice ...or download a Zip ...or fork it to your personal GitHub account Fork it if you plan to contribute with enhancements or fixes! 
  • 11. 11 Standing up the Platform Copyright © 2016 Accenture All rights reserved. There is a README file... TL;DR Create a VPC in Amazon Web Services account Create a CLI pair of keys in IAM Execute command: ./quickstart.sh -t aws -m my-adop -c vpc-xxxxxxxx Keep calm and watch the logs
  • 12. 12 Standing up the Platform Copyright © 2016 Accenture All rights reserved. For local installation Oracle VirtualBox is needed It comes with Docker Toolbox if you don’t have it already Execute command: ./quickstart.sh -t local -m my-adop Strongly recommended to alter the scripts and use 8 GB of RAM
  • 13. 13 What Happens Backstage? Copyright © 2016 Accenture All rights reserved. Docker machine (a host) is created if it does not exist Up to date images are pulled from Docker Hub Containers are created and executed Jenkins is initialised with example pipelines and management jobs Certificates are exchanged between Jenkins master and slave
  • 14. 14 What Happens Backstage? Copyright © 2016 Accenture All rights reserved. Jenkins comes pre-loaded with just one job: Load_Platform When it runs, pulls job DSLs from: https://github.com/Accenture/adop-platform-management The location above is overridable Jobs are stored in Git repo in Gerrit You can update the platform to the latest and greatest without destroying the machine or losing data!
  • 15. 15 What Happens Backstage? Copyright © 2016 Accenture All rights reserved. The Platform Management jobs do the following: Loads the cartridge list (link) Configures Gerrit (link) Generates an example pipeline (Spring Pet Clinic by default) There is a job available to generate multiple workspaces All generated workspaces and jobs are designed for multitenancy
  • 16. 16 What Comes with the Example Pipeline Copyright © 2016 Accenture All rights reserved. Build and packaging automation Test automation: unit, integration (UI/BDD), stress, security Code inspection Deployment automation Environment provisioning automation Dev. Source Control Code Review Build Code Quality Deploy Testing A-B Test
  • 17. 17 Is That All? Copyright © 2016 Accenture All rights reserved. Yes! Very easy to stand up Pre-loaded with exemplar configuration Update without impacting state Update individual images or the whole platform Update Jenkins platform management or individual job templates
  • 18. 18 Demo Time Copyright © 2016 Accenture All rights reserved.
  • 19. 19 THANK YOU! Copyright © 2016 Accenture All rights reserved. https://github.com/Accenture/adop-docker-compose