Más contenido relacionado
La actualidad más candente (20)
Similar a OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07 (20)
Más de Jorge Hidalgo (20)
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
- 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