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

PDF
Monitoring Cockpit for OpenShift Clusters
PDF
Operator development made easy with helm
PDF
Remote debugging of Application in Kubernetes
PPTX
Kubernetes fundamentals
PDF
Kubernetes Logging
PPTX
Kubernetes Helm: Why It Matters
PDF
Helm - Application deployment management for Kubernetes
PPTX
Kubernetes 1.16 and rancher 2.3 enhancements
Monitoring Cockpit for OpenShift Clusters
Operator development made easy with helm
Remote debugging of Application in Kubernetes
Kubernetes fundamentals
Kubernetes Logging
Kubernetes Helm: Why It Matters
Helm - Application deployment management for Kubernetes
Kubernetes 1.16 and rancher 2.3 enhancements

What's hot (20)

PDF
OSDC 2018 | Ops hates containers. Why? by Martin Alfke
PDF
Multi-cloud Kubernetes BCDR with Velero
PPTX
Introduction to helm
ODP
Openshift: Build, deploy & manage open, standard containers
PDF
Serverless stream processing of Debezium data change events with Knative | De...
PDF
Crafting Kubernetes Operators
PDF
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
PPTX
Support of containerized workloads in ONAP
PPTX
DEVNET-1183 OpenShift + Kubernetes + Docker
PDF
Running and Managing Kubernetes on OpenStack
PPTX
OpenShift Application Development | DO288 | Red Hat OpenShift
PDF
Managing kubernetes deployment with operators
PDF
Kubernetes-native or not? When should you ditch your traditional CI/CD server...
PDF
Red Hat Forum Benelux 2015
PDF
Quarkus: From developer joy to Kubernetes nirvana! | DevNation Tech Talk
PDF
OSDC 2018 | Self Hosted bare Metal Kubernetes for SMEs by Thomas Hoppe
PDF
Exploring Kubeflow on Kubernetes for AI/ML | DevNation Tech Talk
PDF
Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo...
PDF
OpenStack on Kubernetes (BOS Summit / May 2017 update)
PPTX
ONAP MultiCloud/K8s Casablanca
OSDC 2018 | Ops hates containers. Why? by Martin Alfke
Multi-cloud Kubernetes BCDR with Velero
Introduction to helm
Openshift: Build, deploy & manage open, standard containers
Serverless stream processing of Debezium data change events with Knative | De...
Crafting Kubernetes Operators
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Support of containerized workloads in ONAP
DEVNET-1183 OpenShift + Kubernetes + Docker
Running and Managing Kubernetes on OpenStack
OpenShift Application Development | DO288 | Red Hat OpenShift
Managing kubernetes deployment with operators
Kubernetes-native or not? When should you ditch your traditional CI/CD server...
Red Hat Forum Benelux 2015
Quarkus: From developer joy to Kubernetes nirvana! | DevNation Tech Talk
OSDC 2018 | Self Hosted bare Metal Kubernetes for SMEs by Thomas Hoppe
Exploring Kubeflow on Kubernetes for AI/ML | DevNation Tech Talk
Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo...
OpenStack on Kubernetes (BOS Summit / May 2017 update)
ONAP MultiCloud/K8s Casablanca
Ad

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®
KEY
Make It Cooler: Using Decentralized Version Control
PDF
Selenium Camp 2016 - Kiev, Ukraine
PDF
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
PPTX
Ansible benelux meetup - Amsterdam 27-5-2015
PPTX
Symfony2 for legacy app rejuvenation: the eZ Publish case study
PDF
Embedded Android in Real Life - Live Embedded Event 2021
PDF
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
PPTX
Moving Windows Applications to the Cloud
PPTX
MyHeritage - QA Automations in a Continuous Deployment environment
PPTX
Serena Release Management approach and solutions
PDF
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
PDF
Experiences from Running Masterless Puppet - PuppetConf 2014
PDF
From Heroku to Amazon AWS
PDF
Itsummit2015 blizzard
PPTX
Hot to build continuously processing for 24/7 real-time data streaming platform?
PDF
Webinar: Zing Vision: Answering your toughest production Java performance que...
PDF
Atagg2015 Continuous delivery by building environment using docker
PPTX
Cloud Platforms for Java
PPTX
DCRUG: Achieving Development-Production Parity
Build software like a bag of marbles, not a castle of LEGO®
Make It Cooler: Using Decentralized Version Control
Selenium Camp 2016 - Kiev, Ukraine
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Ansible benelux meetup - Amsterdam 27-5-2015
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Embedded Android in Real Life - Live Embedded Event 2021
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Moving Windows Applications to the Cloud
MyHeritage - QA Automations in a Continuous Deployment environment
Serena Release Management approach and solutions
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
Experiences from Running Masterless Puppet - PuppetConf 2014
From Heroku to Amazon AWS
Itsummit2015 blizzard
Hot to build continuously processing for 24/7 real-time data streaming platform?
Webinar: Zing Vision: Answering your toughest production Java performance que...
Atagg2015 Continuous delivery by building environment using docker
Cloud Platforms for Java
DCRUG: Achieving Development-Production Parity
Ad

More from ConSol Consulting & Solutions Software GmbH (20)

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

Recently uploaded (20)

PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
System and Network Administration Chapter 2
PPTX
ai tools demonstartion for schools and inter college
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
medical staffing services at VALiNTRY
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPT
Introduction Database Management System for Course Database
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Digital Strategies for Manufacturing Companies
PDF
System and Network Administraation Chapter 3
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Nekopoi APK 2025 free lastest update
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
System and Network Administration Chapter 2
ai tools demonstartion for schools and inter college
Softaken Excel to vCard Converter Software.pdf
Reimagine Home Health with the Power of Agentic AI​
Operating system designcfffgfgggggggvggggggggg
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
medical staffing services at VALiNTRY
Computer Software and OS of computer science of grade 11.pptx
Introduction Database Management System for Course Database
wealthsignaloriginal-com-DS-text-... (1).pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Digital Strategies for Manufacturing Companies
System and Network Administraation Chapter 3
VVF-Customer-Presentation2025-Ver1.9.pptx
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Nekopoi APK 2025 free lastest update
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Navsoft: AI-Powered Business Solutions & Custom Software Development

"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 info@consol.de www.consol.com Twitter: @consol_de
  • 21. Slide Krakow / Poland Vienna / Austria Dubai / UAE Dusseldorf Munich San Francisco / USA