SlideShare a Scribd company logo
Using Automation Tools To Deploy and
Operate Applications in Real World Scenarios
Christian Hilgers
Senior Software Consultant
Slide 2
Agenda
• Welcome
• Where did we came from?
• What was needed?
• Which options did we had?
• What and why was choosen?
• How does this help to make systems more robust?
• How does it look? Demo!
• Summary
Slide 3
Where did we came from?
• Example taken from Telco customer
• Existing environment handles 6+ mio Requests per day
• Production Environment:
• From different combinations of Solaris 10 on Sparc and x86
to Red Hat Enterprise Linux (RHEL) on x86 on Hardware
• HW was replaced 3 times since go-live
• Test Environment:
• VMs with Solaris 10 x86 and later RHEL x86
• Backend proxies are mixed VM and Hardware
Slide 4
Where did we came from?
• Solaris needed manual compilation of apache httpd, openssl and apache add-ons
every time a security issue was fixed
every time an updated release showed up
• Compiled code in test was not usable in prod (x86 vs. Sparc)
• Update process took hours and needed lots of scripts to compile and distribute
• All in all: error prone
Slide 5
What was needed?
• Proxies on Apache httpd base
• Decrypt incoming connections
• Encrypt outgoing connections
• Have all certificates at one place
• No default certificate bundles
• Rollout software, config, and certificates (+ removal)
• Reproducible
• Easy
Slide 6
Which options did we had?
• Option 1: do it manually
• Pro: quick the first time
• Con: easy to forget files, executing command on all systems, …
• Con: forget one system results in weird error scenarios
• Option 1.5: write scripts
• Sadly abt. 80% of code is error handling and special stuff
• Option 2: Use automation tools
• Con: takes longer the first time
• Pro: reproducible
• Pro: Works on all Environments
Slide 7
Which options did we test?
• Option 1: do it manually
• Been there
• Option 1.5: write scripts
• Done that
• Option 2: Use automation tools
• Seen that ;-)
Evaluation which automation tool to use, started
Slide 8
What and why was choosen?
• Automation tools
• Compare target state with the actual status
• Take actions to change actual state into target state
• Work idempotent, can run several times without breaking things
• Ansible was choosen due to specific contraints in that environment like
• No extra software needed, only python
• No extra port needed, just ssh
• No permanent connection needed
Slide 9
What other option did we had?
• Puppet
• uses extra Port, Firewall Rule needed -> KO
• Chef
• uses extra Port, Firewall Rule needed -> KO
• SaltStack
• uses extra Port, Firewall Rule needed -> KO
• Pretty fast
• Ansible
• Communicates via ssh -> OK
• Only python needed
Slide 10
How can ansible be used?
• With a playbook:
• Typical way of using ansible
• Combines plays and roles
• Add-hoc commands:
• ansible ts2ucipr007 -m ping
ts2ucipr007 | SUCCESS => {
"changed": false,
"ping": "pong"
}
• ansible frontendproxy -m shell -a "uname –a"
ts2ucipr007 | CHANGED | rc=0 >>
Linux ts2ucipr007 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64 x86_64
x86_64 GNU/Linux
Slide 11
What does ansible use?
• To describe the target state ansible uses
• Inventory
• Variables
• Roles
• Playbooks
• Done in yaml
Slide 12
How does this help to make systems more robust?
• Inventory
• List of systems ansible needs to know
• Allows grouping of systems and inheritance
• Variables
• Define specific attributes for hosts and groups
Slide 13
How does this help to make systems more robust?
• How to create an inventory
• Manually for static environments like VMs or HW
• Automatically from eg. cloud provider API Infrastructure as code
Slide 14
How does this help to make systems more robust?
• Use small groups and combine them
[appserverSolaris]
appserv001
appserv002
appserv003
mickey
minnie
[appserverRedHat]
appserv011
appserv012
gustav
[appserver:children]
appserverRedHat
appserverSolaris
Slide 15
How does this help to make systems more robust?
• Grouping allows
• Smooth migration and steering during installation
• Changing default variables using group_vars
• We used this to migrate from Solaris to
RedHat Servers in Production
• Ansible-playbook runs can be restricted to hosts or groups
Slide 16
How does it look? Demo!
• Example installing apache and certificates
takes a few minutes
• Optional: Fix a mistake easily
Slide 17
Summary
• Make small groups and combine them
• Keep roles and playbooks generic
• Put specific information into host_vars, group_vars, inventory
• Use intrinsic ansibe_facts to eg. differentiate OS (Solaris vs. RedHat)
or versions (RHEL 7 vs. RHEL 8)
• Use tags
• Result
• Be able to run playbooks and roles on local test VMs for develpoment and debuging
• Be able to migrate fast to new target environment in case of emergency change
Questions?
Thank you!
ConSol
Consulting & Solutions Software GmbH
St.-Cajetan-Straße 43
D-81669 Munich
Germany
Tel.: +49-89-45841-100
info@consol.de
www.consol.com
Twitter: @consol_de
Slide
Krakow / Poland
Vienna / Austria
Dubai / UAE
Dusseldorf
Munich
San Francisco / USA

More Related Content

What's hot (20)

PDF
Democratizing machine learning on kubernetes
Docker, Inc.
 
PDF
Building an Observability Platform in 389 Difficult Steps
DigitalOcean
 
PPTX
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Codemotion
 
PDF
Operator Framework Overview
Rob Szumski
 
PDF
KubeCon EU 2016: Kubernetes meets Finagle for Resilient Microservices
KubeAcademy
 
PDF
Spring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Red Hat Developers
 
PDF
Infrastructure as Code with Ansible
Daniel Bezerra
 
PDF
Building Cloud Virtual Topologies with Ravello and Ansible
Damien Garros
 
PDF
Windows container security
Docker, Inc.
 
PDF
Demystifying container connectivity with kubernetes in docker
Docker, Inc.
 
PPTX
Cloud native fundamentals
Victor Morales
 
PDF
DockerCon EU 2015: Deploying and Managing Containers for Developers
Docker, Inc.
 
PDF
Docker?!?! But I'm a SysAdmin
Docker, Inc.
 
PDF
A microservice architecture based on golang
Gianfranco Reppucci
 
PDF
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Docker, Inc.
 
PDF
Netflix Open Source: Building a Distributed and Automated Open Source Program
aspyker
 
PDF
Going deep (learning) with tensor flow and quarkus
Red Hat Developers
 
PDF
Multi-cloud Kubernetes BCDR with Velero
Kublr
 
PDF
Monitor your Java application with Prometheus Stack
Wojciech Barczyński
 
PDF
Intro to Git: a hands-on workshop
Cisco DevNet
 
Democratizing machine learning on kubernetes
Docker, Inc.
 
Building an Observability Platform in 389 Difficult Steps
DigitalOcean
 
Gabriele Provinciali/Gabriele Folchi/Luca Postacchini - Sviluppo con piattafo...
Codemotion
 
Operator Framework Overview
Rob Szumski
 
KubeCon EU 2016: Kubernetes meets Finagle for Resilient Microservices
KubeAcademy
 
Spring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Red Hat Developers
 
Infrastructure as Code with Ansible
Daniel Bezerra
 
Building Cloud Virtual Topologies with Ravello and Ansible
Damien Garros
 
Windows container security
Docker, Inc.
 
Demystifying container connectivity with kubernetes in docker
Docker, Inc.
 
Cloud native fundamentals
Victor Morales
 
DockerCon EU 2015: Deploying and Managing Containers for Developers
Docker, Inc.
 
Docker?!?! But I'm a SysAdmin
Docker, Inc.
 
A microservice architecture based on golang
Gianfranco Reppucci
 
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Docker, Inc.
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
aspyker
 
Going deep (learning) with tensor flow and quarkus
Red Hat Developers
 
Multi-cloud Kubernetes BCDR with Velero
Kublr
 
Monitor your Java application with Prometheus Stack
Wojciech Barczyński
 
Intro to Git: a hands-on workshop
Cisco DevNet
 

Similar to "Using Automation Tools To Deploy And Operate Applications In Real World Scenarios" (20)

PPTX
Build software like a bag of marbles, not a castle of LEGO®
Hannes Lowette
 
KEY
Make It Cooler: Using Decentralized Version Control
indiver
 
PDF
Selenium Camp 2016 - Kiev, Ukraine
Justin Ison
 
PDF
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
PPTX
Ansible benelux meetup - Amsterdam 27-5-2015
Pavel Chunyayev
 
PPTX
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Gaetano Giunta
 
PDF
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Kelly Looney
 
PPTX
Moving Windows Applications to the Cloud
RightScale
 
PPTX
MyHeritage - QA Automations in a Continuous Deployment environment
MatanGoren
 
PPTX
Serena Release Management approach and solutions
Softmart
 
PDF
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
datafundamentals
 
PDF
Experiences from Running Masterless Puppet - PuppetConf 2014
Puppet
 
PDF
From Heroku to Amazon AWS
Sebastian Schleicher
 
PDF
Itsummit2015 blizzard
kevin_donovan
 
PPTX
Hot to build continuously processing for 24/7 real-time data streaming platform?
GetInData
 
PDF
Webinar: Zing Vision: Answering your toughest production Java performance que...
Azul Systems Inc.
 
PDF
Atagg2015 Continuous delivery by building environment using docker
Agile Testing Alliance
 
PPTX
Cloud Platforms for Java
3Pillar Global
 
PPTX
DCRUG: Achieving Development-Production Parity
Geoff Harcourt
 
ODP
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Ohad Basan
 
Build software like a bag of marbles, not a castle of LEGO®
Hannes Lowette
 
Make It Cooler: Using Decentralized Version Control
indiver
 
Selenium Camp 2016 - Kiev, Ukraine
Justin Ison
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Ansible benelux meetup - Amsterdam 27-5-2015
Pavel Chunyayev
 
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Gaetano Giunta
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Kelly Looney
 
Moving Windows Applications to the Cloud
RightScale
 
MyHeritage - QA Automations in a Continuous Deployment environment
MatanGoren
 
Serena Release Management approach and solutions
Softmart
 
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
datafundamentals
 
Experiences from Running Masterless Puppet - PuppetConf 2014
Puppet
 
From Heroku to Amazon AWS
Sebastian Schleicher
 
Itsummit2015 blizzard
kevin_donovan
 
Hot to build continuously processing for 24/7 real-time data streaming platform?
GetInData
 
Webinar: Zing Vision: Answering your toughest production Java performance que...
Azul Systems Inc.
 
Atagg2015 Continuous delivery by building environment using docker
Agile Testing Alliance
 
Cloud Platforms for Java
3Pillar Global
 
DCRUG: Achieving Development-Production Parity
Geoff Harcourt
 
Jenkinsconf Presentation - Advance jenkins management with multiple projects.
Ohad Basan
 
Ad

More from ConSol Consulting & Solutions Software GmbH (20)

PDF
"Messaging with Quarkus"
ConSol Consulting & Solutions Software GmbH
 
PDF
"Remote development of Quarkus applications"
ConSol Consulting & Solutions Software GmbH
 
PDF
"Operator development made easy with Helm"
ConSol Consulting & Solutions Software GmbH
 
PDF
„GitOps with Flux and Flagger“
ConSol Consulting & Solutions Software GmbH
 
PDF
"Kubernetes as Driver of Generic IT Automation"
ConSol Consulting & Solutions Software GmbH
 
PDF
"Using Automation Tools To Deploy And Operate Applications In Real World Scen...
ConSol Consulting & Solutions Software GmbH
 
PDF
"Kubernetes as Driver of Generic IT Automation"
ConSol Consulting & Solutions Software GmbH
 
PDF
"Messaging with Quarkus"
ConSol Consulting & Solutions Software GmbH
 
PDF
"Remote development of Quarkus applications"
ConSol Consulting & Solutions Software GmbH
 
PDF
"Operator development made easy with Helm"
ConSol Consulting & Solutions Software GmbH
 
PDF
„GitOps with Flux and Flagger“
ConSol Consulting & Solutions Software GmbH
 
PDF
App Security with Keycloak and Quarkus
ConSol Consulting & Solutions Software GmbH
 
PDF
ConSol_IBM_webcast_quarkus_the_blue_hedgehog_of_java_web_frameworks
ConSol Consulting & Solutions Software GmbH
 
PPTX
Keynote: Cloud native; DevOps,...
ConSol Consulting & Solutions Software GmbH
 
PPTX
Digitalisierung mit ConSol CM
ConSol Consulting & Solutions Software GmbH
 
PPTX
Monitoring klassisch oder Cloud
ConSol Consulting & Solutions Software GmbH
 
PPTX
Monitoring klassisch oder Cloud
ConSol Consulting & Solutions Software GmbH
 
"Remote development of Quarkus applications"
ConSol Consulting & Solutions Software GmbH
 
"Operator development made easy with Helm"
ConSol Consulting & Solutions Software GmbH
 
„GitOps with Flux and Flagger“
ConSol Consulting & Solutions Software GmbH
 
"Kubernetes as Driver of Generic IT Automation"
ConSol Consulting & Solutions Software GmbH
 
"Using Automation Tools To Deploy And Operate Applications In Real World Scen...
ConSol Consulting & Solutions Software GmbH
 
"Kubernetes as Driver of Generic IT Automation"
ConSol Consulting & Solutions Software GmbH
 
"Remote development of Quarkus applications"
ConSol Consulting & Solutions Software GmbH
 
"Operator development made easy with Helm"
ConSol Consulting & Solutions Software GmbH
 
„GitOps with Flux and Flagger“
ConSol Consulting & Solutions Software GmbH
 
App Security with Keycloak and Quarkus
ConSol Consulting & Solutions Software GmbH
 
ConSol_IBM_webcast_quarkus_the_blue_hedgehog_of_java_web_frameworks
ConSol Consulting & Solutions Software GmbH
 
Keynote: Cloud native; DevOps,...
ConSol Consulting & Solutions Software GmbH
 
Digitalisierung mit ConSol CM
ConSol Consulting & Solutions Software GmbH
 
Monitoring klassisch oder Cloud
ConSol Consulting & Solutions Software GmbH
 
Monitoring klassisch oder Cloud
ConSol Consulting & Solutions Software GmbH
 
Ad

Recently uploaded (20)

PPTX
Avast Premium Security crack 25.5.6162 + License Key 2025
HyperPc soft
 
PPTX
Android Notifications-A Guide to User-Facing Alerts in Android .pptx
Nabin Dhakal
 
PDF
Alur Perkembangan Software dan Jaringan Komputer
ssuser754303
 
PDF
Automated Test Case Repair Using Language Models
Lionel Briand
 
PPTX
Introduction to web development | MERN Stack
JosephLiyon
 
PDF
AI Software Development Process, Strategies and Challenges
Net-Craft.com
 
PDF
The Rise of Sustainable Mobile App Solutions by New York Development Firms
ostechnologies16
 
PDF
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
PDF
Which Hiring Management Tools Offer the Best ROI?
HireME
 
PPTX
IDM Crack with Internet Download Manager 6.42 [Latest 2025]
HyperPc soft
 
PDF
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
PDF
Writing Maintainable Playwright Tests with Ease
Shubham Joshi
 
DOCX
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
 
PPTX
declaration of Variables and constants.pptx
meemee7378
 
PDF
Best Software Development at Best Prices
softechies7
 
PDF
IObit Uninstaller Pro 14.3.1.8 Crack for Windows Latest
utfefguu
 
DOCX
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
 
PDF
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
PDF
Best Practice for LLM Serving in the Cloud
Alluxio, Inc.
 
PDF
Why Edge Computing Matters in Mobile Application Tech.pdf
IMG Global Infotech
 
Avast Premium Security crack 25.5.6162 + License Key 2025
HyperPc soft
 
Android Notifications-A Guide to User-Facing Alerts in Android .pptx
Nabin Dhakal
 
Alur Perkembangan Software dan Jaringan Komputer
ssuser754303
 
Automated Test Case Repair Using Language Models
Lionel Briand
 
Introduction to web development | MERN Stack
JosephLiyon
 
AI Software Development Process, Strategies and Challenges
Net-Craft.com
 
The Rise of Sustainable Mobile App Solutions by New York Development Firms
ostechnologies16
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Which Hiring Management Tools Offer the Best ROI?
HireME
 
IDM Crack with Internet Download Manager 6.42 [Latest 2025]
HyperPc soft
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Writing Maintainable Playwright Tests with Ease
Shubham Joshi
 
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
 
declaration of Variables and constants.pptx
meemee7378
 
Best Software Development at Best Prices
softechies7
 
IObit Uninstaller Pro 14.3.1.8 Crack for Windows Latest
utfefguu
 
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Best Practice for LLM Serving in the Cloud
Alluxio, Inc.
 
Why Edge Computing Matters in Mobile Application Tech.pdf
IMG Global Infotech
 

"Using Automation Tools To Deploy And Operate Applications In Real World Scenarios"

  • 1. Using Automation Tools To Deploy and Operate Applications in Real World Scenarios Christian Hilgers Senior Software Consultant
  • 2. Slide 2 Agenda • Welcome • Where did we came from? • What was needed? • Which options did we had? • What and why was choosen? • How does this help to make systems more robust? • How does it look? Demo! • Summary
  • 3. Slide 3 Where did we came from? • Example taken from Telco customer • Existing environment handles 6+ mio Requests per day • Production Environment: • From different combinations of Solaris 10 on Sparc and x86 to Red Hat Enterprise Linux (RHEL) on x86 on Hardware • HW was replaced 3 times since go-live • Test Environment: • VMs with Solaris 10 x86 and later RHEL x86 • Backend proxies are mixed VM and Hardware
  • 4. Slide 4 Where did we came from? • Solaris needed manual compilation of apache httpd, openssl and apache add-ons every time a security issue was fixed every time an updated release showed up • Compiled code in test was not usable in prod (x86 vs. Sparc) • Update process took hours and needed lots of scripts to compile and distribute • All in all: error prone
  • 5. Slide 5 What was needed? • Proxies on Apache httpd base • Decrypt incoming connections • Encrypt outgoing connections • Have all certificates at one place • No default certificate bundles • Rollout software, config, and certificates (+ removal) • Reproducible • Easy
  • 6. Slide 6 Which options did we had? • Option 1: do it manually • Pro: quick the first time • Con: easy to forget files, executing command on all systems, … • Con: forget one system results in weird error scenarios • Option 1.5: write scripts • Sadly abt. 80% of code is error handling and special stuff • Option 2: Use automation tools • Con: takes longer the first time • Pro: reproducible • Pro: Works on all Environments
  • 7. Slide 7 Which options did we test? • Option 1: do it manually • Been there • Option 1.5: write scripts • Done that • Option 2: Use automation tools • Seen that ;-) Evaluation which automation tool to use, started
  • 8. Slide 8 What and why was choosen? • Automation tools • Compare target state with the actual status • Take actions to change actual state into target state • Work idempotent, can run several times without breaking things • Ansible was choosen due to specific contraints in that environment like • No extra software needed, only python • No extra port needed, just ssh • No permanent connection needed
  • 9. Slide 9 What other option did we had? • Puppet • uses extra Port, Firewall Rule needed -> KO • Chef • uses extra Port, Firewall Rule needed -> KO • SaltStack • uses extra Port, Firewall Rule needed -> KO • Pretty fast • Ansible • Communicates via ssh -> OK • Only python needed
  • 10. Slide 10 How can ansible be used? • With a playbook: • Typical way of using ansible • Combines plays and roles • Add-hoc commands: • ansible ts2ucipr007 -m ping ts2ucipr007 | SUCCESS => { "changed": false, "ping": "pong" } • ansible frontendproxy -m shell -a "uname –a" ts2ucipr007 | CHANGED | rc=0 >> Linux ts2ucipr007 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
  • 11. Slide 11 What does ansible use? • To describe the target state ansible uses • Inventory • Variables • Roles • Playbooks • Done in yaml
  • 12. Slide 12 How does this help to make systems more robust? • Inventory • List of systems ansible needs to know • Allows grouping of systems and inheritance • Variables • Define specific attributes for hosts and groups
  • 13. Slide 13 How does this help to make systems more robust? • How to create an inventory • Manually for static environments like VMs or HW • Automatically from eg. cloud provider API Infrastructure as code
  • 14. Slide 14 How does this help to make systems more robust? • Use small groups and combine them [appserverSolaris] appserv001 appserv002 appserv003 mickey minnie [appserverRedHat] appserv011 appserv012 gustav [appserver:children] appserverRedHat appserverSolaris
  • 15. Slide 15 How does this help to make systems more robust? • Grouping allows • Smooth migration and steering during installation • Changing default variables using group_vars • We used this to migrate from Solaris to RedHat Servers in Production • Ansible-playbook runs can be restricted to hosts or groups
  • 16. Slide 16 How does it look? Demo! • Example installing apache and certificates takes a few minutes • Optional: Fix a mistake easily
  • 17. Slide 17 Summary • Make small groups and combine them • Keep roles and playbooks generic • Put specific information into host_vars, group_vars, inventory • Use intrinsic ansibe_facts to eg. differentiate OS (Solaris vs. RedHat) or versions (RHEL 7 vs. RHEL 8) • Use tags • Result • Be able to run playbooks and roles on local test VMs for develpoment and debuging • Be able to migrate fast to new target environment in case of emergency change
  • 20. ConSol Consulting & Solutions Software GmbH St.-Cajetan-Straße 43 D-81669 Munich Germany Tel.: +49-89-45841-100 [email protected] www.consol.com Twitter: @consol_de
  • 21. Slide Krakow / Poland Vienna / Austria Dubai / UAE Dusseldorf Munich San Francisco / USA