SlideShare a Scribd company logo
1 of 128
Download to read offline
Maciej Lasyk
DevopsKRK meetup #9
Kraków 2016-04-14
Ansible + Rundeck = śpij adminie, śpij
Dołącz do projektu Fedora!
http://fedoraproject.org/en/join-fedora
https://fedoramagazine.org/flock-2016-krakow-poland/
Ansible & Rundeck?
→ monolityczne instalacje (np. CI)
→ a gdyby tak developerzy sami zarządzali CI?
→ i do tego są potrzebne narzędzia
→ ansible jest prosty
→ rundeck jest jeszcze prostszy
Ansible & Rundeck?
→ monolityczne instalacje (np. CI)
→ a gdyby tak developerzy sami zarządzali CI?
→ i do tego są potrzebne narzędzia
→ ansible jest prosty
→ rundeck jest jeszcze prostszy
Ansible & Rundeck?
→ monolityczne instalacje (np. CI)
→ a gdyby tak developerzy sami zarządzali CI?
→ i do tego są potrzebne narzędzia
→ ansible jest prosty
→ rundeck jest jeszcze prostszy
Ansible & Rundeck?
→ monolityczne instalacje (np. CI)
→ a gdyby tak developerzy sami zarządzali CI?
→ i do tego są potrzebne narzędzia
→ ansible jest prosty
→ rundeck jest jeszcze prostszy
Ansible & Rundeck?
→ monolityczne instalacje (np. CI)
→ a gdyby tak developerzy sami zarządzali CI?
→ i do tego są potrzebne narzędzia
→ ansible jest prosty
→ rundeck jest jeszcze prostszy
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Model współpracy dev ↔ ops
Czym jest Ansible?
→ prosty orkiestrator
→ tworzymy playbooki
→ posiada inventory hostów
→ używa ssh
→ pod spodem Python
→ przykładowy playbook I inventory
Czym jest Ansible?
→ prosty orkiestrator
→ tworzymy playbooki
→ posiada inventory hostów
→ używa ssh
→ pod spodem Python
→ przykładowy playbook I inventory
Czym jest Ansible?
→ prosty orkiestrator
→ tworzymy playbooki
→ posiada inventory hostów
→ używa ssh
→ pod spodem Python
→ przykładowy playbook I inventory
Czym jest Ansible?
→ prosty orkiestrator
→ tworzymy playbooki
→ posiada inventory hostów
→ używa ssh
→ pod spodem Python
→ przykładowy playbook I inventory
Czym jest Ansible?
→ prosty orkiestrator
→ tworzymy playbooki
→ posiada inventory hostów
→ używa ssh
→ pod spodem Python
→ przykładowy playbook I inventory
Czym jest Ansible?
→ prosty orkiestrator
→ tworzymy playbooki
→ posiada inventory hostów
→ używa ssh
→ pod spodem Python
→ przykładowy playbook I inventory
Czym jest Rundeck?
→ “Turn your operations procedures into self-service jobs.”
→ “Safely give others the control and visibility they need.”
→ "...it's the swiss army knife for ops."
→ biblioteka procedur
→ scheduler
→ łatwa integracja z systemami do incydentów
→ po CI / buildzie nadchodzi deployment
→ GUI & API
Czym jest Rundeck?
→ “Turn your operations procedures into self-service jobs.”
→ “Safely give others the control and visibility they need.”
→ "...it's the swiss army knife for ops."
→ biblioteka procedur
→ scheduler
→ łatwa integracja z systemami do incydentów
→ po CI / buildzie nadchodzi deployment
→ GUI & API
Czym jest Rundeck?
→ “Turn your operations procedures into self-service jobs.”
→ “Safely give others the control and visibility they need.”
→ "...it's the swiss army knife for ops."
→ biblioteka procedur
→ scheduler
→ łatwa integracja z systemami do incydentów
→ po CI / buildzie nadchodzi deployment
→ GUI & API
Czym jest Rundeck?
→ “Turn your operations procedures into self-service jobs.”
→ “Safely give others the control and visibility they need.”
→ "...it's the swiss army knife for ops."
→ biblioteka procedur
→ scheduler
→ łatwa integracja z systemami do incydentów
→ po CI / buildzie nadchodzi deployment
→ GUI & API
Czym jest Rundeck?
→ “Turn your operations procedures into self-service jobs.”
→ “Safely give others the control and visibility they need.”
→ "...it's the swiss army knife for ops."
→ biblioteka procedur
→ scheduler
→ łatwa integracja z systemami do incydentów
→ po CI / buildzie nadchodzi deployment
→ GUI & API
Czym jest Rundeck?
→ “Turn your operations procedures into self-service jobs.”
→ “Safely give others the control and visibility they need.”
→ "...it's the swiss army knife for ops."
→ biblioteka procedur
→ scheduler
→ łatwa integracja z systemami do incydentów
→ po CI / buildzie nadchodzi deployment
→ GUI & API
Czym jest Rundeck?
→ “Turn your operations procedures into self-service jobs.”
→ “Safely give others the control and visibility they need.”
→ "...it's the swiss army knife for ops."
→ biblioteka procedur
→ scheduler
→ łatwa integracja z systemami do incydentów
→ po CI / buildzie nadchodzi deployment
→ GUI & API
Czym jest Rundeck?
→ “Turn your operations procedures into self-service jobs.”
→ “Safely give others the control and visibility they need.”
→ "...it's the swiss army knife for ops."
→ biblioteka procedur
→ scheduler
→ łatwa integracja z systemami do incydentów
→ po CI / buildzie nadchodzi deployment
→ GUI & API
Czym jest Rundeck?
→ stworzony w Javie + Grails + Jetty + Bootstrap
→ początki w roku 2010
→ Apache license v2.0
→ Copyright 2010 DTO Solutions
→ “DevOps and Automation Specialists”
→ “RunDeck is a command dispatcher with a
modern web console. It lets you easily run commands
across a set of nodes.”
Czym jest Rundeck?
→ stworzony w Javie + Grails + Jetty + Bootstrap
→ początki w roku 2010
→ Apache license v2.0
→ Copyright 2010 DTO Solutions
→ “DevOps and Automation Specialists”
→ “RunDeck is a command dispatcher with a
modern web console. It lets you easily run commands
across a set of nodes.”
Czym jest Rundeck?
→ stworzony w Javie + Grails + Jetty + Bootstrap
→ początki w roku 2010
→ Apache license v2.0
→ Copyright 2010 DTO Solutions
→ “DevOps and Automation Specialists”
→ “RunDeck is a command dispatcher with a
modern web console. It lets you easily run commands
across a set of nodes.”
Czym jest Rundeck?
→ stworzony w Javie + Grails + Jetty + Bootstrap
→ początki w roku 2010
→ Apache license v2.0
→ Copyright 2010 DTO Solutions
→ “DevOps and Automation Specialists”
→ “RunDeck is a command dispatcher with a
modern web console. It lets you easily run commands
across a set of nodes.”
Czym jest Rundeck?
→ stworzony w Javie + Grails + Jetty + Bootstrap
→ początki w roku 2010
→ Apache license v2.0
→ Copyright 2010 DTO Solutions
→ “DevOps and Automation Specialists”
→ “RunDeck is a command dispatcher with a
modern web console. It lets you easily run commands
across a set of nodes.”
Czym jest Rundeck?
→ stworzony w Javie + Grails + Jetty + Bootstrap
→ początki w roku 2010
→ Apache license v2.0
→ Copyright 2010 DTO Solutions
→ “DevOps and Automation Specialists”
→ “RunDeck is a command dispatcher with a
modern web console. It lets you easily run commands
across a set of nodes.”
Główne koncepty Rundecka
→ projekt (kontener jobów, node'ów I konfiguracji)
→ job (sekwencja komend, skryptów)
→ workflow (sekwencja jobów)
→ nodes (hosty dostępne przez SSH)
→ wykonanie (uruchomienia jobów)
→ użytkownicy
→ uprawnienia
→ API
Główne koncepty Rundecka
→ projekt (kontener jobów, node'ów I konfiguracji)
→ job (sekwencja komend, skryptów)
→ workflow (sekwencja jobów)
→ nodes (hosty dostępne przez SSH)
→ wykonanie (uruchomienia jobów)
→ użytkownicy
→ uprawnienia
→ API
Główne koncepty Rundecka
→ projekt (kontener jobów, node'ów I konfiguracji)
→ job (sekwencja komend, skryptów)
→ workflow (sekwencja jobów)
→ nodes (hosty dostępne przez SSH)
→ wykonanie (uruchomienia jobów)
→ użytkownicy
→ uprawnienia
→ API
Główne koncepty Rundecka
→ projekt (kontener jobów, node'ów I konfiguracji)
→ job (sekwencja komend, skryptów)
→ workflow (sekwencja jobów)
→ nodes (hosty dostępne przez SSH)
→ wykonanie (uruchomienia jobów)
→ użytkownicy
→ uprawnienia
→ API
Główne koncepty Rundecka
→ projekt (kontener jobów, node'ów I konfiguracji)
→ job (sekwencja komend, skryptów)
→ workflow (sekwencja jobów)
→ nodes (hosty dostępne przez SSH)
→ wykonanie (uruchomienia jobów)
→ użytkownicy
→ uprawnienia
→ API
Główne koncepty Rundecka
→ projekt (kontener jobów, node'ów I konfiguracji)
→ job (sekwencja komend, skryptów)
→ workflow (sekwencja jobów)
→ nodes (hosty dostępne przez SSH)
→ wykonanie (uruchomienia jobów)
→ użytkownicy
→ uprawnienia
→ API
Główne koncepty Rundecka
→ projekt (kontener jobów, node'ów I konfiguracji)
→ job (sekwencja komend, skryptów)
→ workflow (sekwencja jobów)
→ nodes (hosty dostępne przez SSH)
→ wykonanie (uruchomienia jobów)
→ użytkownicy
→ uprawnienia
→ API
Główne koncepty Rundecka
→ projekt (kontener jobów, node'ów I konfiguracji)
→ job (sekwencja komend, skryptów)
→ workflow (sekwencja jobów)
→ nodes (hosty dostępne przez SSH)
→ wykonanie (uruchomienia jobów)
→ użytkownicy
→ uprawnienia
→ API
Wysokopoziomowe zalety Rundecka
→ Formalizacja procedur w spójnej formie
→ Przejrzysty dashboard
→ Logowanie, audyt, widoczność
→ Elastyczna granulacja uprawnień
→ Interfejs współpracy pomiędzy zespołami
Wysokopoziomowe zalety Rundecka
→ Formalizacja procedur w spójnej formie
→ Przejrzysty dashboard
→ Logowanie, audyt, widoczność
→ Elastyczna granulacja uprawnień
→ Interfejs współpracy pomiędzy zespołami
Wysokopoziomowe zalety Rundecka
→ Formalizacja procedur w spójnej formie
→ Przejrzysty dashboard
→ Logowanie, audyt, widoczność
→ Elastyczna granulacja uprawnień
→ Interfejs współpracy pomiędzy zespołami
Wysokopoziomowe zalety Rundecka
→ Formalizacja procedur w spójnej formie
→ Przejrzysty dashboard
→ Logowanie, audyt, widoczność
→ Elastyczna granulacja uprawnień
→ Interfejs współpracy pomiędzy zespołami
Wysokopoziomowe zalety Rundecka
→ Formalizacja procedur w spójnej formie
→ Przejrzysty dashboard
→ Logowanie, audyt, widoczność
→ Elastyczna granulacja uprawnień
→ Interfejs współpracy pomiędzy zespołami
http://www.slideshare.net/dev2ops/rundecks-history-and-future
Niskopoziomowe zalety Rundecka
→ Spora liczb pluginów I integracji
→ webhooki
→ Jira, IRC
→ Pagerduty, Slack, Hipchat, Redmine
→ Puppet, Salt, Ansible, Chef
→ Nexus, Jenkins
→ AWS EC2, S3
→ Paczki w popularnych dystrybucjach
Niskopoziomowe zalety Rundecka
→ Spora liczb pluginów I integracji
→ webhooki
→ Jira, IRC
→ Pagerduty, Slack, Hipchat, Redmine
→ Puppet, Salt, Ansible, Chef
→ Nexus, Jenkins
→ AWS EC2, S3
→ Paczki w popularnych dystrybucjach
Niskopoziomowe zalety Rundecka
→ Spora liczb pluginów I integracji
→ webhooki
→ Jira, IRC
→ Pagerduty, Slack, Hipchat, Redmine
→ Puppet, Salt, Ansible, Chef
→ Nexus, Jenkins
→ AWS EC2, S3
→ Paczki w popularnych dystrybucjach
Niskopoziomowe zalety Rundecka
→ Spora liczb pluginów I integracji
→ webhooki
→ Jira, IRC
→ Pagerduty, Slack, Hipchat, Redmine
→ Puppet, Salt, Ansible, Chef
→ Nexus, Jenkins
→ AWS EC2, S3
→ Paczki w popularnych dystrybucjach
Niskopoziomowe zalety Rundecka
→ Spora liczb pluginów I integracji
→ webhooki
→ Jira, IRC
→ Pagerduty, Slack, Hipchat, Redmine
→ Puppet, Salt, Ansible, Chef
→ Nexus, Jenkins
→ AWS EC2, S3
→ Paczki w popularnych dystrybucjach
Niskopoziomowe zalety Rundecka
→ Spora liczb pluginów I integracji
→ webhooki
→ Jira, IRC
→ Pagerduty, Slack, Hipchat, Redmine
→ Puppet, Salt, Ansible, Chef
→ Nexus, Jenkins
→ AWS EC2, S3
→ Paczki w popularnych dystrybucjach
Niskopoziomowe zalety Rundecka
→ Spora liczb pluginów I integracji
→ webhooki
→ Jira, IRC
→ Pagerduty, Slack, Hipchat, Redmine
→ Puppet, Salt, Ansible, Chef
→ Nexus, Jenkins
→ AWS EC2, S3
→ Paczki w popularnych dystrybucjach
Niskopoziomowe zalety Rundecka
→ Spora liczb pluginów I integracji
→ webhooki
→ Jira, IRC
→ Pagerduty, Slack, Hipchat, Redmine
→ Puppet, Salt, Ansible, Chef
→ Nexus, Jenkins
→ AWS EC2, S3
→ Paczki w popularnych dystrybucjach
→ Jenkins is for Development (software builds)
→ Rundeck is for Operations (executing operational tasks)
→ Both are complementary
→ Rundeck has nodes (hosts) and inventory concept
→ Rundeck executes jobs / workflows on nodes (inventory)
→ Rundeck has ad-hoc commands (you can run those on nodes)
→ Rundeck provides you with fain – grained ACLs
Rundeck vs Jenkins?
→ Jenkins is for Development (software builds)
→ Rundeck is for Operations (executing operational tasks)
→ Both are complementary
→ Rundeck has nodes (hosts) and inventory concept
→ Rundeck executes jobs / workflows on nodes (inventory)
→ Rundeck has ad-hoc commands (you can run those on nodes)
→ Rundeck provides you with fain – grained ACLs
Rundeck vs Jenkins?
→ Jenkins is for Development (software builds)
→ Rundeck is for Operations (executing operational tasks)
→ Both are complementary
→ Rundeck has nodes (hosts) and inventory concept
→ Rundeck executes jobs / workflows on nodes (inventory)
→ Rundeck has ad-hoc commands (you can run those on nodes)
→ Rundeck provides you with fain – grained ACLs
Rundeck vs Jenkins?
→ Jenkins is for Development (software builds)
→ Rundeck is for Operations (executing operational tasks)
→ Both are complementary
→ Rundeck has nodes (hosts) and inventory concept
→ Rundeck executes jobs / workflows on nodes (inventory)
→ Rundeck has ad-hoc commands (you can run those on nodes)
→ Rundeck provides you with fain – grained ACLs
Rundeck vs Jenkins?
→ Jenkins is for Development (software builds)
→ Rundeck is for Operations (executing operational tasks)
→ Both are complementary
→ Rundeck has nodes (hosts) and inventory concept
→ Rundeck executes jobs / workflows on nodes (inventory)
→ Rundeck has ad-hoc commands (you can run those on nodes)
→ Rundeck provides you with fain – grained ACLs
Rundeck vs Jenkins?
→ Jenkins is for Development (software builds)
→ Rundeck is for Operations (executing operational tasks)
→ Both are complementary
→ Rundeck has nodes (hosts) and inventory concept
→ Rundeck executes jobs / workflows on nodes (inventory)
→ Rundeck has ad-hoc commands (you can run those on nodes)
→ Rundeck provides you with fain – grained ACLs
Rundeck vs Jenkins?
Rundeck vs Jenkins?
→ Jenkins is for Development (software builds)
→ Rundeck is for Operations (executing operational tasks)
→ Both are complementary
→ Rundeck has nodes (hosts) and inventory concept
→ Rundeck executes jobs / workflows on nodes (inventory)
→ Rundeck has ad-hoc commands (you can run those on nodes)
→ Rundeck provides you with fain – grained ACLs
Rundeck and Jenkins
http://rundeck.org/news/2014/01/08/Jenkins-is-for-development-Rundeck-is-for-operations.html
Architektura Rundecka
http://rundeck.org/docs/administration/installation.html
Lab for demo
https://github.com/docent-net/sesja-linuksowa-2016-rundeck
Rundeck: przegląd
→ konfiguracja ogólna
→ projekt
→ job
→ nodes
→ command
Rundeck: przegląd
→ konfiguracja ogólna
→ projekt
→ job
→ nodes
→ command
Rundeck: przegląd
→ konfiguracja ogólna
→ projekt
→ job
→ nodes
→ command
Rundeck: przegląd
→ konfiguracja ogólna
→ projekt
→ job
→ nodes
→ command
Rundeck: przegląd
→ konfiguracja ogólna
→ projekt
→ job
→ nodes
→ command
Rundeck adhocs
demo (bez ansible'a)
Rundeck & Ansible
→ Use Rundeck only as GUI, API and scheduler
→ Bring Rundeck inventory to common with Ansible
→ Remember that Rundeck is stupid
→ Create workspace for jobs
→ Clean up this workspace automatically
→ Only run ansible-playbooks
→ Good practices (in my opinion)?
→ Common provisioning core jobs
→ Common “playbook-runner” job
→ Integrate Rundeck & Ansible debug
Rundeck & Ansible
→ Use Rundeck only as GUI, API and scheduler
→ Bring Rundeck inventory to common with Ansible
→ Remember that Rundeck is stupid
→ Create workspace for jobs
→ Clean up this workspace automatically
→ Only run ansible-playbooks
→ Good practices (in my opinion)?
→ Common provisioning core jobs
→ Common “playbook-runner” job
→ Integrate Rundeck & Ansible debug
Rundeck & Ansible
→ Use Rundeck only as GUI, API and scheduler
→ Bring Rundeck inventory to common with Ansible
→ Remember that Rundeck is stupid
→ Create workspace for jobs
→ Clean up this workspace automatically
→ Only run ansible-playbooks
→ Good practices (in my opinion)?
→ Common provisioning core jobs
→ Common “playbook-runner” job
→ Integrate Rundeck & Ansible debug
Rundeck & Ansible
→ Use Rundeck only as GUI, API and scheduler
→ Bring Rundeck inventory to common with Ansible
→ Remember that Rundeck is stupid
→ Create workspace for jobs
→ Clean up this workspace automatically
→ Only run ansible-playbooks
→ Good practices (in my opinion)?
→ Common provisioning core jobs
→ Common “playbook-runner” job
→ Integrate Rundeck & Ansible debug
Rundeck & Ansible
→ Use Rundeck only as GUI, API and scheduler
→ Bring Rundeck inventory to common with Ansible
→ Remember that Rundeck is stupid
→ Create workspace for jobs
→ Clean up this workspace automatically
→ Only run ansible-playbooks
→ Good practices (in my opinion)?
→ Common provisioning core jobs
→ Common “playbook-runner” job
→ Integrate Rundeck & Ansible debug
Rundeck & Ansible
→ Use Rundeck only as GUI, API and scheduler
→ Bring Rundeck inventory to common with Ansible
→ Remember that Rundeck is stupid
→ Create workspace for jobs
→ Clean up this workspace automatically
→ Only run ansible-playbooks
→ Good practices (in my opinion)?
→ Common provisioning core jobs
→ Common “playbook-runner” job
→ Integrate Rundeck & Ansible debug
Rundeck & Ansible
→ Use Rundeck only as GUI, API and scheduler
→ Bring Rundeck inventory to common with Ansible
→ Remember that Rundeck is stupid
→ Create workspace for jobs
→ Clean up this workspace automatically
→ Only run ansible-playbooks
→ Good practices (in my opinion)?
→ Common provisioning core jobs
→ Common “playbook-runner” job
→ Integrate Rundeck & Ansible debug
Rundeck & Ansible
→ Use Rundeck only as GUI, API and scheduler
→ Bring Rundeck inventory to common with Ansible
→ Remember that Rundeck is stupid
→ Create workspace for jobs
→ Clean up this workspace automatically
→ Only run ansible-playbooks
→ Good practices (in my opinion)?
→ Common provisioning core jobs
→ Common “playbook-runner” job
→ Integrate Rundeck & Ansible debug
Rundeck & Ansible
→ Use Rundeck only as GUI, API and scheduler
→ Bring Rundeck inventory to common with Ansible
→ Remember that Rundeck is stupid
→ Create workspace for jobs
→ Clean up this workspace automatically
→ Only run ansible-playbooks
→ Good practices (in my opinion)?
→ Common provisioning core jobs
→ Common “playbook-runner” job
→ Integrate Rundeck & Ansible debug
Rundeck & Ansible
→ Use Rundeck only as GUI, API and scheduler
→ Bring Rundeck inventory to common with Ansible
→ Remember that Rundeck is stupid
→ Create workspace for jobs
→ Clean up this workspace automatically
→ Only run ansible-playbooks
→ Good practices (in my opinion)?
→ Common provisioning core jobs
→ Common “playbook-runner” job
→ Integrate Rundeck & Ansible debug
Rundeck & Ansible
run job on localhost node
this job actually invokes ansible-playbook
on choosen hosts
Rundeck & Ansible
demo
Rundeck & Ansible plugin
I'm new to both Rundeck and Ansible so I expect
there to be room for improvements.
Only basic features have been implemented
in this first pass, so I can play around with both tools.
Liking it very much so far! :)
https://github.com/Batix/rundeck-ansible-plugin
Rundeck API
→ nieoficjalny wrapper pythonowy:
https://github.com/marklap/rundeckrun
→ rundeck_api_helper.py
→ apitoken.policy vs JSESSIONID
Rundeck API
→ nieoficjalny wrapper pythonowy:
https://github.com/marklap/rundeckrun
→ rundeck_api_helper.py
→ apitoken.policy vs JSESSIONID
Rundeck API
→ nieoficjalny wrapper pythonowy:
https://github.com/marklap/rundeckrun
→ rundeck_api_helper.py
→ apitoken.policy vs JSESSIONID
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
provisioning jobs, rundeck maintenance
To jak z tą współpracą DEV ↔ OPS?
(aka Ocado – use case)
provisioning jobs, rundeck maintenance
maintenance of own app clusters
creating app clusters
costs supervision
To jak z tą współpracą DEV ↔ OPS?
Dobre praktyki utrzymania Rundecka w środowisku dev – ops?
→ **nie** edytujcie jobów na codzień w UI
→ joby definiujcie w repo i importujcie (np. przez wrapper API)
→ dzielcie się między sobą swoimi jobami / template'ami
→ trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie
w definicjach jobów rundeckowych
→ testujcie automatycznie wykonanie swoich jobów
→ przekręcajcie często całą instancję Rundecka (powtarzalność)
To jak z tą współpracą DEV ↔ OPS?
Dobre praktyki utrzymania Rundecka w środowisku dev – ops?
→ **nie** edytujcie jobów na codzień w UI
→ joby definiujcie w repo i importujcie (np. przez wrapper API)
→ dzielcie się między sobą swoimi jobami / template'ami
→ trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie
w definicjach jobów rundeckowych
→ testujcie automatycznie wykonanie swoich jobów
→ przekręcajcie często całą instancję Rundecka (powtarzalność)
To jak z tą współpracą DEV ↔ OPS?
Dobre praktyki utrzymania Rundecka w środowisku dev – ops?
→ **nie** edytujcie jobów na codzień w UI
→ joby definiujcie w repo i importujcie (np. przez wrapper API)
→ dzielcie się między sobą swoimi jobami / template'ami
→ trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie
w definicjach jobów rundeckowych
→ testujcie automatycznie wykonanie swoich jobów
→ przekręcajcie często całą instancję Rundecka (powtarzalność)
To jak z tą współpracą DEV ↔ OPS?
Dobre praktyki utrzymania Rundecka w środowisku dev – ops?
→ **nie** edytujcie jobów na codzień w UI
→ joby definiujcie w repo i importujcie (np. przez wrapper API)
→ dzielcie się między sobą swoimi jobami / template'ami
→ trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie
w definicjach jobów rundeckowych
→ testujcie automatycznie wykonanie swoich jobów
→ przekręcajcie często całą instancję Rundecka (powtarzalność)
To jak z tą współpracą DEV ↔ OPS?
Dobre praktyki utrzymania Rundecka w środowisku dev – ops?
→ **nie** edytujcie jobów na codzień w UI
→ joby definiujcie w repo i importujcie (np. przez wrapper API)
→ dzielcie się między sobą swoimi jobami / template'ami
→ trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie
w definicjach jobów rundeckowych
→ testujcie automatycznie wykonanie swoich jobów
→ przekręcajcie często całą instancję Rundecka (powtarzalność)
To jak z tą współpracą DEV ↔ OPS?
Dobre praktyki utrzymania Rundecka w środowisku dev – ops?
→ **nie** edytujcie jobów na codzień w UI
→ joby definiujcie w repo i importujcie (np. przez wrapper API)
→ dzielcie się między sobą swoimi jobami / template'ami
→ trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie
w definicjach jobów rundeckowych
→ testujcie automatycznie wykonanie swoich jobów
→ przekręcajcie często całą instancję Rundecka (powtarzalność)
To jak z tą współpracą DEV ↔ OPS?
Rundeck per zespół? Czemu nie
To jak z tą współpracą DEV ↔ OPS?
Rundeck per zespół? Czemu nie
To jak z tą współpracą DEV ↔ OPS?
Rundeck per zespół? Czemu nie
Jak chciałem to podsumować?
Jak chciałem to podsumować?
Maciej Lasyk
DevopsKRK meetup #9
Kraków 2016-04-14
Ansible + Rundeck = śpij adminie, śpij
Dzięki :)

More Related Content

What's hot

Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackThe Software House
 
Kubernetes: from zero to be hero
Kubernetes: from zero to be heroKubernetes: from zero to be hero
Kubernetes: from zero to be heroThe Software House
 
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...Kainos Polska
 
Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6The Software House
 
Kubernetes (Canary) Deployments
Kubernetes (Canary) DeploymentsKubernetes (Canary) Deployments
Kubernetes (Canary) DeploymentsThe Software House
 
Szybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkSzybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkThe Software House
 
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobami
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobamiElasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobami
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobamiEnterprise Search Warsaw Meetup
 
Ansible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITAnsible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITKamil Grabowski
 
Aplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/ReduxAplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/ReduxDawid Rusnak
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegroallegro.tech
 
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.Meet Magento Poland
 
2019.10.08 share con365 2019 open source in azure devops, on the example open...
2019.10.08 share con365 2019 open source in azure devops, on the example open...2019.10.08 share con365 2019 open source in azure devops, on the example open...
2019.10.08 share con365 2019 open source in azure devops, on the example open...Janusz Nowak
 
Jak poprawić Core Web Vitals w aplikacji Next.js
Jak poprawić Core Web Vitals w aplikacji Next.jsJak poprawić Core Web Vitals w aplikacji Next.js
Jak poprawić Core Web Vitals w aplikacji Next.jsThe Software House
 
Deployment kodu z Capistrano
Deployment kodu z CapistranoDeployment kodu z Capistrano
Deployment kodu z CapistranoMichał Szajbe
 
Hugo - make webdev fun again
Hugo - make webdev fun againHugo - make webdev fun again
Hugo - make webdev fun againMarcin Gajda
 

What's hot (20)

Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
Kubernetes: from zero to be hero
Kubernetes: from zero to be heroKubernetes: from zero to be hero
Kubernetes: from zero to be hero
 
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
 
Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6Wprowadzenie do testów wydajnościowych w k6
Wprowadzenie do testów wydajnościowych w k6
 
Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?
 
Kubernetes (Canary) Deployments
Kubernetes (Canary) DeploymentsKubernetes (Canary) Deployments
Kubernetes (Canary) Deployments
 
Szybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic BeanstalkSzybkie stawianie aplikacji z Elastic Beanstalk
Szybkie stawianie aplikacji z Elastic Beanstalk
 
Websockety w PHP
Websockety w PHPWebsockety w PHP
Websockety w PHP
 
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobami
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobamiElasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobami
Elasticsearch i Docker - skalowalność, wysoka dostępność i zarządzanie zasobami
 
Ansible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITAnsible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań IT
 
Aplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/ReduxAplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/Redux
 
Monitoring sieci
Monitoring sieciMonitoring sieci
Monitoring sieci
 
Infrastructure As Code
Infrastructure As CodeInfrastructure As Code
Infrastructure As Code
 
Ansible w praktyce
Ansible w praktyceAnsible w praktyce
Ansible w praktyce
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
 
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
 
2019.10.08 share con365 2019 open source in azure devops, on the example open...
2019.10.08 share con365 2019 open source in azure devops, on the example open...2019.10.08 share con365 2019 open source in azure devops, on the example open...
2019.10.08 share con365 2019 open source in azure devops, on the example open...
 
Jak poprawić Core Web Vitals w aplikacji Next.js
Jak poprawić Core Web Vitals w aplikacji Next.jsJak poprawić Core Web Vitals w aplikacji Next.js
Jak poprawić Core Web Vitals w aplikacji Next.js
 
Deployment kodu z Capistrano
Deployment kodu z CapistranoDeployment kodu z Capistrano
Deployment kodu z Capistrano
 
Hugo - make webdev fun again
Hugo - make webdev fun againHugo - make webdev fun again
Hugo - make webdev fun again
 

Viewers also liked

Viewers also liked (10)

Garbage Collection en el JVM
Garbage Collection en el JVMGarbage Collection en el JVM
Garbage Collection en el JVM
 
Junho jardim
Junho jardimJunho jardim
Junho jardim
 
Open Legal Data Workshop at Stanford
Open Legal Data Workshop at StanfordOpen Legal Data Workshop at Stanford
Open Legal Data Workshop at Stanford
 
Online Harassment 2017
Online Harassment 2017Online Harassment 2017
Online Harassment 2017
 
Harry Surden - Artificial Intelligence and Law Overview
Harry Surden - Artificial Intelligence and Law OverviewHarry Surden - Artificial Intelligence and Law Overview
Harry Surden - Artificial Intelligence and Law Overview
 
2017 holiday survey: An annual analysis of the peak shopping season
2017 holiday survey: An annual analysis of the peak shopping season2017 holiday survey: An annual analysis of the peak shopping season
2017 holiday survey: An annual analysis of the peak shopping season
 
10 facts about jobs in the future
10 facts about jobs in the future10 facts about jobs in the future
10 facts about jobs in the future
 
Inside Google's Numbers in 2017
Inside Google's Numbers in 2017Inside Google's Numbers in 2017
Inside Google's Numbers in 2017
 
The AI Rush
The AI RushThe AI Rush
The AI Rush
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
 

Similar to Rundeck & Ansible

Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wojciech Barczyński
 
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...Chris Suszyński
 
Kivy na Androidzie
Kivy na AndroidzieKivy na Androidzie
Kivy na AndroidzieDaftcode
 
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...PROIDEA
 
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...Future Processing
 
PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...
PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...
PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...PROIDEA
 
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Lukasz Kaluzny
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlSebastian Marek
 
4 lata z Azure okiem Architekta
4 lata z Azure okiem Architekta4 lata z Azure okiem Architekta
4 lata z Azure okiem ArchitektaLukasz Kaluzny
 
OSGi, deklaratywnie
OSGi, deklaratywnieOSGi, deklaratywnie
OSGi, deklaratywnieCode-House
 
Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2intive
 
Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryXSolve
 
PHP@Docker - w produkcji
PHP@Docker - w produkcjiPHP@Docker - w produkcji
PHP@Docker - w produkcjiMarcin Kurzyna
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Natalia Stanko
 
SQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze krokiSQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze krokiBartosz Ratajczyk
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...Michal Furmankiewicz
 

Similar to Rundeck & Ansible (20)

Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
 
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
 
Kivy na Androidzie
Kivy na AndroidzieKivy na Androidzie
Kivy na Androidzie
 
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
 
university day 1
university day 1university day 1
university day 1
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...
[Quality Meetup #9] TestOps, QAOps - czy ktoś taki istnieje? - Aleksandra Kor...
 
Docker
DockerDocker
Docker
 
Platforma Kontentowa
Platforma KontentowaPlatforma Kontentowa
Platforma Kontentowa
 
PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...
PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...
PLNOG15: 10 questions before you deploy Cisco ACI (or any other programmable ...
 
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPl
 
4 lata z Azure okiem Architekta
4 lata z Azure okiem Architekta4 lata z Azure okiem Architekta
4 lata z Azure okiem Architekta
 
OSGi, deklaratywnie
OSGi, deklaratywnieOSGi, deklaratywnie
OSGi, deklaratywnie
 
Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2
 
Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous Delivery
 
PHP@Docker - w produkcji
PHP@Docker - w produkcjiPHP@Docker - w produkcji
PHP@Docker - w produkcji
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010
 
SQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze krokiSQL Server + docker - pierwsze kroki
SQL Server + docker - pierwsze kroki
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 

More from Maciej Lasyk

Programowanie AWSa z CLI, boto, Ansiblem i libcloudem
Programowanie AWSa z CLI, boto, Ansiblem i libcloudemProgramowanie AWSa z CLI, boto, Ansiblem i libcloudem
Programowanie AWSa z CLI, boto, Ansiblem i libcloudemMaciej Lasyk
 
Co powinieneś wiedzieć na temat devops?f
Co powinieneś wiedzieć na temat devops?f Co powinieneś wiedzieć na temat devops?f
Co powinieneś wiedzieć na temat devops?f Maciej Lasyk
 
"Containers do not contain"
"Containers do not contain""Containers do not contain"
"Containers do not contain"Maciej Lasyk
 
Linux containers & Devops
Linux containers & DevopsLinux containers & Devops
Linux containers & DevopsMaciej Lasyk
 
Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)Maciej Lasyk
 
Continuous Security in DevOps
Continuous Security in DevOpsContinuous Security in DevOps
Continuous Security in DevOpsMaciej Lasyk
 
About cultural change w/Devops
About cultural change w/DevopsAbout cultural change w/Devops
About cultural change w/DevopsMaciej Lasyk
 
Orchestrating docker containers at scale (#DockerKRK edition)
Orchestrating docker containers at scale (#DockerKRK edition)Orchestrating docker containers at scale (#DockerKRK edition)
Orchestrating docker containers at scale (#DockerKRK edition)Maciej Lasyk
 
Orchestrating docker containers at scale (PJUG edition)
Orchestrating docker containers at scale (PJUG edition)Orchestrating docker containers at scale (PJUG edition)
Orchestrating docker containers at scale (PJUG edition)Maciej Lasyk
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scaleMaciej Lasyk
 
Ghost in the shell
Ghost in the shellGhost in the shell
Ghost in the shellMaciej Lasyk
 
Scaling and securing node.js apps
Scaling and securing node.js appsScaling and securing node.js apps
Scaling and securing node.js appsMaciej Lasyk
 
High Availability (HA) Explained - second edition
High Availability (HA) Explained - second editionHigh Availability (HA) Explained - second edition
High Availability (HA) Explained - second editionMaciej Lasyk
 
Monitoring with Nagios and Ganglia
Monitoring with Nagios and GangliaMonitoring with Nagios and Ganglia
Monitoring with Nagios and GangliaMaciej Lasyk
 
Stop disabling SELinux!
Stop disabling SELinux!Stop disabling SELinux!
Stop disabling SELinux!Maciej Lasyk
 
RHEL/Fedora + Docker (and SELinux)
RHEL/Fedora + Docker (and SELinux)RHEL/Fedora + Docker (and SELinux)
RHEL/Fedora + Docker (and SELinux)Maciej Lasyk
 
High Availability (HA) Explained
High Availability (HA) ExplainedHigh Availability (HA) Explained
High Availability (HA) ExplainedMaciej Lasyk
 

More from Maciej Lasyk (20)

Docker 1.11
Docker 1.11Docker 1.11
Docker 1.11
 
Programowanie AWSa z CLI, boto, Ansiblem i libcloudem
Programowanie AWSa z CLI, boto, Ansiblem i libcloudemProgramowanie AWSa z CLI, boto, Ansiblem i libcloudem
Programowanie AWSa z CLI, boto, Ansiblem i libcloudem
 
Co powinieneś wiedzieć na temat devops?f
Co powinieneś wiedzieć na temat devops?f Co powinieneś wiedzieć na temat devops?f
Co powinieneś wiedzieć na temat devops?f
 
"Containers do not contain"
"Containers do not contain""Containers do not contain"
"Containers do not contain"
 
Git Submodules
Git SubmodulesGit Submodules
Git Submodules
 
Linux containers & Devops
Linux containers & DevopsLinux containers & Devops
Linux containers & Devops
 
Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)Under the Dome (of failure driven pipeline)
Under the Dome (of failure driven pipeline)
 
Continuous Security in DevOps
Continuous Security in DevOpsContinuous Security in DevOps
Continuous Security in DevOps
 
About cultural change w/Devops
About cultural change w/DevopsAbout cultural change w/Devops
About cultural change w/Devops
 
Orchestrating docker containers at scale (#DockerKRK edition)
Orchestrating docker containers at scale (#DockerKRK edition)Orchestrating docker containers at scale (#DockerKRK edition)
Orchestrating docker containers at scale (#DockerKRK edition)
 
Orchestrating docker containers at scale (PJUG edition)
Orchestrating docker containers at scale (PJUG edition)Orchestrating docker containers at scale (PJUG edition)
Orchestrating docker containers at scale (PJUG edition)
 
Orchestrating Docker containers at scale
Orchestrating Docker containers at scaleOrchestrating Docker containers at scale
Orchestrating Docker containers at scale
 
Ghost in the shell
Ghost in the shellGhost in the shell
Ghost in the shell
 
Scaling and securing node.js apps
Scaling and securing node.js appsScaling and securing node.js apps
Scaling and securing node.js apps
 
Node.js security
Node.js securityNode.js security
Node.js security
 
High Availability (HA) Explained - second edition
High Availability (HA) Explained - second editionHigh Availability (HA) Explained - second edition
High Availability (HA) Explained - second edition
 
Monitoring with Nagios and Ganglia
Monitoring with Nagios and GangliaMonitoring with Nagios and Ganglia
Monitoring with Nagios and Ganglia
 
Stop disabling SELinux!
Stop disabling SELinux!Stop disabling SELinux!
Stop disabling SELinux!
 
RHEL/Fedora + Docker (and SELinux)
RHEL/Fedora + Docker (and SELinux)RHEL/Fedora + Docker (and SELinux)
RHEL/Fedora + Docker (and SELinux)
 
High Availability (HA) Explained
High Availability (HA) ExplainedHigh Availability (HA) Explained
High Availability (HA) Explained
 

Rundeck & Ansible

  • 1. Maciej Lasyk DevopsKRK meetup #9 Kraków 2016-04-14 Ansible + Rundeck = śpij adminie, śpij
  • 2. Dołącz do projektu Fedora! http://fedoraproject.org/en/join-fedora
  • 4. Ansible & Rundeck? → monolityczne instalacje (np. CI) → a gdyby tak developerzy sami zarządzali CI? → i do tego są potrzebne narzędzia → ansible jest prosty → rundeck jest jeszcze prostszy
  • 5. Ansible & Rundeck? → monolityczne instalacje (np. CI) → a gdyby tak developerzy sami zarządzali CI? → i do tego są potrzebne narzędzia → ansible jest prosty → rundeck jest jeszcze prostszy
  • 6. Ansible & Rundeck? → monolityczne instalacje (np. CI) → a gdyby tak developerzy sami zarządzali CI? → i do tego są potrzebne narzędzia → ansible jest prosty → rundeck jest jeszcze prostszy
  • 7. Ansible & Rundeck? → monolityczne instalacje (np. CI) → a gdyby tak developerzy sami zarządzali CI? → i do tego są potrzebne narzędzia → ansible jest prosty → rundeck jest jeszcze prostszy
  • 8. Ansible & Rundeck? → monolityczne instalacje (np. CI) → a gdyby tak developerzy sami zarządzali CI? → i do tego są potrzebne narzędzia → ansible jest prosty → rundeck jest jeszcze prostszy
  • 26. Czym jest Ansible? → prosty orkiestrator → tworzymy playbooki → posiada inventory hostów → używa ssh → pod spodem Python → przykładowy playbook I inventory
  • 27. Czym jest Ansible? → prosty orkiestrator → tworzymy playbooki → posiada inventory hostów → używa ssh → pod spodem Python → przykładowy playbook I inventory
  • 28. Czym jest Ansible? → prosty orkiestrator → tworzymy playbooki → posiada inventory hostów → używa ssh → pod spodem Python → przykładowy playbook I inventory
  • 29. Czym jest Ansible? → prosty orkiestrator → tworzymy playbooki → posiada inventory hostów → używa ssh → pod spodem Python → przykładowy playbook I inventory
  • 30. Czym jest Ansible? → prosty orkiestrator → tworzymy playbooki → posiada inventory hostów → używa ssh → pod spodem Python → przykładowy playbook I inventory
  • 31. Czym jest Ansible? → prosty orkiestrator → tworzymy playbooki → posiada inventory hostów → używa ssh → pod spodem Python → przykładowy playbook I inventory
  • 32. Czym jest Rundeck? → “Turn your operations procedures into self-service jobs.” → “Safely give others the control and visibility they need.” → "...it's the swiss army knife for ops." → biblioteka procedur → scheduler → łatwa integracja z systemami do incydentów → po CI / buildzie nadchodzi deployment → GUI & API
  • 33. Czym jest Rundeck? → “Turn your operations procedures into self-service jobs.” → “Safely give others the control and visibility they need.” → "...it's the swiss army knife for ops." → biblioteka procedur → scheduler → łatwa integracja z systemami do incydentów → po CI / buildzie nadchodzi deployment → GUI & API
  • 34. Czym jest Rundeck? → “Turn your operations procedures into self-service jobs.” → “Safely give others the control and visibility they need.” → "...it's the swiss army knife for ops." → biblioteka procedur → scheduler → łatwa integracja z systemami do incydentów → po CI / buildzie nadchodzi deployment → GUI & API
  • 35. Czym jest Rundeck? → “Turn your operations procedures into self-service jobs.” → “Safely give others the control and visibility they need.” → "...it's the swiss army knife for ops." → biblioteka procedur → scheduler → łatwa integracja z systemami do incydentów → po CI / buildzie nadchodzi deployment → GUI & API
  • 36. Czym jest Rundeck? → “Turn your operations procedures into self-service jobs.” → “Safely give others the control and visibility they need.” → "...it's the swiss army knife for ops." → biblioteka procedur → scheduler → łatwa integracja z systemami do incydentów → po CI / buildzie nadchodzi deployment → GUI & API
  • 37. Czym jest Rundeck? → “Turn your operations procedures into self-service jobs.” → “Safely give others the control and visibility they need.” → "...it's the swiss army knife for ops." → biblioteka procedur → scheduler → łatwa integracja z systemami do incydentów → po CI / buildzie nadchodzi deployment → GUI & API
  • 38. Czym jest Rundeck? → “Turn your operations procedures into self-service jobs.” → “Safely give others the control and visibility they need.” → "...it's the swiss army knife for ops." → biblioteka procedur → scheduler → łatwa integracja z systemami do incydentów → po CI / buildzie nadchodzi deployment → GUI & API
  • 39. Czym jest Rundeck? → “Turn your operations procedures into self-service jobs.” → “Safely give others the control and visibility they need.” → "...it's the swiss army knife for ops." → biblioteka procedur → scheduler → łatwa integracja z systemami do incydentów → po CI / buildzie nadchodzi deployment → GUI & API
  • 40. Czym jest Rundeck? → stworzony w Javie + Grails + Jetty + Bootstrap → początki w roku 2010 → Apache license v2.0 → Copyright 2010 DTO Solutions → “DevOps and Automation Specialists” → “RunDeck is a command dispatcher with a modern web console. It lets you easily run commands across a set of nodes.”
  • 41. Czym jest Rundeck? → stworzony w Javie + Grails + Jetty + Bootstrap → początki w roku 2010 → Apache license v2.0 → Copyright 2010 DTO Solutions → “DevOps and Automation Specialists” → “RunDeck is a command dispatcher with a modern web console. It lets you easily run commands across a set of nodes.”
  • 42. Czym jest Rundeck? → stworzony w Javie + Grails + Jetty + Bootstrap → początki w roku 2010 → Apache license v2.0 → Copyright 2010 DTO Solutions → “DevOps and Automation Specialists” → “RunDeck is a command dispatcher with a modern web console. It lets you easily run commands across a set of nodes.”
  • 43. Czym jest Rundeck? → stworzony w Javie + Grails + Jetty + Bootstrap → początki w roku 2010 → Apache license v2.0 → Copyright 2010 DTO Solutions → “DevOps and Automation Specialists” → “RunDeck is a command dispatcher with a modern web console. It lets you easily run commands across a set of nodes.”
  • 44. Czym jest Rundeck? → stworzony w Javie + Grails + Jetty + Bootstrap → początki w roku 2010 → Apache license v2.0 → Copyright 2010 DTO Solutions → “DevOps and Automation Specialists” → “RunDeck is a command dispatcher with a modern web console. It lets you easily run commands across a set of nodes.”
  • 45. Czym jest Rundeck? → stworzony w Javie + Grails + Jetty + Bootstrap → początki w roku 2010 → Apache license v2.0 → Copyright 2010 DTO Solutions → “DevOps and Automation Specialists” → “RunDeck is a command dispatcher with a modern web console. It lets you easily run commands across a set of nodes.”
  • 46. Główne koncepty Rundecka → projekt (kontener jobów, node'ów I konfiguracji) → job (sekwencja komend, skryptów) → workflow (sekwencja jobów) → nodes (hosty dostępne przez SSH) → wykonanie (uruchomienia jobów) → użytkownicy → uprawnienia → API
  • 47. Główne koncepty Rundecka → projekt (kontener jobów, node'ów I konfiguracji) → job (sekwencja komend, skryptów) → workflow (sekwencja jobów) → nodes (hosty dostępne przez SSH) → wykonanie (uruchomienia jobów) → użytkownicy → uprawnienia → API
  • 48. Główne koncepty Rundecka → projekt (kontener jobów, node'ów I konfiguracji) → job (sekwencja komend, skryptów) → workflow (sekwencja jobów) → nodes (hosty dostępne przez SSH) → wykonanie (uruchomienia jobów) → użytkownicy → uprawnienia → API
  • 49. Główne koncepty Rundecka → projekt (kontener jobów, node'ów I konfiguracji) → job (sekwencja komend, skryptów) → workflow (sekwencja jobów) → nodes (hosty dostępne przez SSH) → wykonanie (uruchomienia jobów) → użytkownicy → uprawnienia → API
  • 50. Główne koncepty Rundecka → projekt (kontener jobów, node'ów I konfiguracji) → job (sekwencja komend, skryptów) → workflow (sekwencja jobów) → nodes (hosty dostępne przez SSH) → wykonanie (uruchomienia jobów) → użytkownicy → uprawnienia → API
  • 51. Główne koncepty Rundecka → projekt (kontener jobów, node'ów I konfiguracji) → job (sekwencja komend, skryptów) → workflow (sekwencja jobów) → nodes (hosty dostępne przez SSH) → wykonanie (uruchomienia jobów) → użytkownicy → uprawnienia → API
  • 52. Główne koncepty Rundecka → projekt (kontener jobów, node'ów I konfiguracji) → job (sekwencja komend, skryptów) → workflow (sekwencja jobów) → nodes (hosty dostępne przez SSH) → wykonanie (uruchomienia jobów) → użytkownicy → uprawnienia → API
  • 53. Główne koncepty Rundecka → projekt (kontener jobów, node'ów I konfiguracji) → job (sekwencja komend, skryptów) → workflow (sekwencja jobów) → nodes (hosty dostępne przez SSH) → wykonanie (uruchomienia jobów) → użytkownicy → uprawnienia → API
  • 54. Wysokopoziomowe zalety Rundecka → Formalizacja procedur w spójnej formie → Przejrzysty dashboard → Logowanie, audyt, widoczność → Elastyczna granulacja uprawnień → Interfejs współpracy pomiędzy zespołami
  • 55. Wysokopoziomowe zalety Rundecka → Formalizacja procedur w spójnej formie → Przejrzysty dashboard → Logowanie, audyt, widoczność → Elastyczna granulacja uprawnień → Interfejs współpracy pomiędzy zespołami
  • 56. Wysokopoziomowe zalety Rundecka → Formalizacja procedur w spójnej formie → Przejrzysty dashboard → Logowanie, audyt, widoczność → Elastyczna granulacja uprawnień → Interfejs współpracy pomiędzy zespołami
  • 57. Wysokopoziomowe zalety Rundecka → Formalizacja procedur w spójnej formie → Przejrzysty dashboard → Logowanie, audyt, widoczność → Elastyczna granulacja uprawnień → Interfejs współpracy pomiędzy zespołami
  • 58. Wysokopoziomowe zalety Rundecka → Formalizacja procedur w spójnej formie → Przejrzysty dashboard → Logowanie, audyt, widoczność → Elastyczna granulacja uprawnień → Interfejs współpracy pomiędzy zespołami
  • 60. Niskopoziomowe zalety Rundecka → Spora liczb pluginów I integracji → webhooki → Jira, IRC → Pagerduty, Slack, Hipchat, Redmine → Puppet, Salt, Ansible, Chef → Nexus, Jenkins → AWS EC2, S3 → Paczki w popularnych dystrybucjach
  • 61. Niskopoziomowe zalety Rundecka → Spora liczb pluginów I integracji → webhooki → Jira, IRC → Pagerduty, Slack, Hipchat, Redmine → Puppet, Salt, Ansible, Chef → Nexus, Jenkins → AWS EC2, S3 → Paczki w popularnych dystrybucjach
  • 62. Niskopoziomowe zalety Rundecka → Spora liczb pluginów I integracji → webhooki → Jira, IRC → Pagerduty, Slack, Hipchat, Redmine → Puppet, Salt, Ansible, Chef → Nexus, Jenkins → AWS EC2, S3 → Paczki w popularnych dystrybucjach
  • 63. Niskopoziomowe zalety Rundecka → Spora liczb pluginów I integracji → webhooki → Jira, IRC → Pagerduty, Slack, Hipchat, Redmine → Puppet, Salt, Ansible, Chef → Nexus, Jenkins → AWS EC2, S3 → Paczki w popularnych dystrybucjach
  • 64. Niskopoziomowe zalety Rundecka → Spora liczb pluginów I integracji → webhooki → Jira, IRC → Pagerduty, Slack, Hipchat, Redmine → Puppet, Salt, Ansible, Chef → Nexus, Jenkins → AWS EC2, S3 → Paczki w popularnych dystrybucjach
  • 65. Niskopoziomowe zalety Rundecka → Spora liczb pluginów I integracji → webhooki → Jira, IRC → Pagerduty, Slack, Hipchat, Redmine → Puppet, Salt, Ansible, Chef → Nexus, Jenkins → AWS EC2, S3 → Paczki w popularnych dystrybucjach
  • 66. Niskopoziomowe zalety Rundecka → Spora liczb pluginów I integracji → webhooki → Jira, IRC → Pagerduty, Slack, Hipchat, Redmine → Puppet, Salt, Ansible, Chef → Nexus, Jenkins → AWS EC2, S3 → Paczki w popularnych dystrybucjach
  • 67. Niskopoziomowe zalety Rundecka → Spora liczb pluginów I integracji → webhooki → Jira, IRC → Pagerduty, Slack, Hipchat, Redmine → Puppet, Salt, Ansible, Chef → Nexus, Jenkins → AWS EC2, S3 → Paczki w popularnych dystrybucjach
  • 68. → Jenkins is for Development (software builds) → Rundeck is for Operations (executing operational tasks) → Both are complementary → Rundeck has nodes (hosts) and inventory concept → Rundeck executes jobs / workflows on nodes (inventory) → Rundeck has ad-hoc commands (you can run those on nodes) → Rundeck provides you with fain – grained ACLs Rundeck vs Jenkins?
  • 69. → Jenkins is for Development (software builds) → Rundeck is for Operations (executing operational tasks) → Both are complementary → Rundeck has nodes (hosts) and inventory concept → Rundeck executes jobs / workflows on nodes (inventory) → Rundeck has ad-hoc commands (you can run those on nodes) → Rundeck provides you with fain – grained ACLs Rundeck vs Jenkins?
  • 70. → Jenkins is for Development (software builds) → Rundeck is for Operations (executing operational tasks) → Both are complementary → Rundeck has nodes (hosts) and inventory concept → Rundeck executes jobs / workflows on nodes (inventory) → Rundeck has ad-hoc commands (you can run those on nodes) → Rundeck provides you with fain – grained ACLs Rundeck vs Jenkins?
  • 71. → Jenkins is for Development (software builds) → Rundeck is for Operations (executing operational tasks) → Both are complementary → Rundeck has nodes (hosts) and inventory concept → Rundeck executes jobs / workflows on nodes (inventory) → Rundeck has ad-hoc commands (you can run those on nodes) → Rundeck provides you with fain – grained ACLs Rundeck vs Jenkins?
  • 72. → Jenkins is for Development (software builds) → Rundeck is for Operations (executing operational tasks) → Both are complementary → Rundeck has nodes (hosts) and inventory concept → Rundeck executes jobs / workflows on nodes (inventory) → Rundeck has ad-hoc commands (you can run those on nodes) → Rundeck provides you with fain – grained ACLs Rundeck vs Jenkins?
  • 73. → Jenkins is for Development (software builds) → Rundeck is for Operations (executing operational tasks) → Both are complementary → Rundeck has nodes (hosts) and inventory concept → Rundeck executes jobs / workflows on nodes (inventory) → Rundeck has ad-hoc commands (you can run those on nodes) → Rundeck provides you with fain – grained ACLs Rundeck vs Jenkins?
  • 74. Rundeck vs Jenkins? → Jenkins is for Development (software builds) → Rundeck is for Operations (executing operational tasks) → Both are complementary → Rundeck has nodes (hosts) and inventory concept → Rundeck executes jobs / workflows on nodes (inventory) → Rundeck has ad-hoc commands (you can run those on nodes) → Rundeck provides you with fain – grained ACLs
  • 77.
  • 78.
  • 79.
  • 80.
  • 82. Rundeck: przegląd → konfiguracja ogólna → projekt → job → nodes → command
  • 83. Rundeck: przegląd → konfiguracja ogólna → projekt → job → nodes → command
  • 84. Rundeck: przegląd → konfiguracja ogólna → projekt → job → nodes → command
  • 85. Rundeck: przegląd → konfiguracja ogólna → projekt → job → nodes → command
  • 86. Rundeck: przegląd → konfiguracja ogólna → projekt → job → nodes → command
  • 88. Rundeck & Ansible → Use Rundeck only as GUI, API and scheduler → Bring Rundeck inventory to common with Ansible → Remember that Rundeck is stupid → Create workspace for jobs → Clean up this workspace automatically → Only run ansible-playbooks → Good practices (in my opinion)? → Common provisioning core jobs → Common “playbook-runner” job → Integrate Rundeck & Ansible debug
  • 89. Rundeck & Ansible → Use Rundeck only as GUI, API and scheduler → Bring Rundeck inventory to common with Ansible → Remember that Rundeck is stupid → Create workspace for jobs → Clean up this workspace automatically → Only run ansible-playbooks → Good practices (in my opinion)? → Common provisioning core jobs → Common “playbook-runner” job → Integrate Rundeck & Ansible debug
  • 90. Rundeck & Ansible → Use Rundeck only as GUI, API and scheduler → Bring Rundeck inventory to common with Ansible → Remember that Rundeck is stupid → Create workspace for jobs → Clean up this workspace automatically → Only run ansible-playbooks → Good practices (in my opinion)? → Common provisioning core jobs → Common “playbook-runner” job → Integrate Rundeck & Ansible debug
  • 91. Rundeck & Ansible → Use Rundeck only as GUI, API and scheduler → Bring Rundeck inventory to common with Ansible → Remember that Rundeck is stupid → Create workspace for jobs → Clean up this workspace automatically → Only run ansible-playbooks → Good practices (in my opinion)? → Common provisioning core jobs → Common “playbook-runner” job → Integrate Rundeck & Ansible debug
  • 92. Rundeck & Ansible → Use Rundeck only as GUI, API and scheduler → Bring Rundeck inventory to common with Ansible → Remember that Rundeck is stupid → Create workspace for jobs → Clean up this workspace automatically → Only run ansible-playbooks → Good practices (in my opinion)? → Common provisioning core jobs → Common “playbook-runner” job → Integrate Rundeck & Ansible debug
  • 93. Rundeck & Ansible → Use Rundeck only as GUI, API and scheduler → Bring Rundeck inventory to common with Ansible → Remember that Rundeck is stupid → Create workspace for jobs → Clean up this workspace automatically → Only run ansible-playbooks → Good practices (in my opinion)? → Common provisioning core jobs → Common “playbook-runner” job → Integrate Rundeck & Ansible debug
  • 94. Rundeck & Ansible → Use Rundeck only as GUI, API and scheduler → Bring Rundeck inventory to common with Ansible → Remember that Rundeck is stupid → Create workspace for jobs → Clean up this workspace automatically → Only run ansible-playbooks → Good practices (in my opinion)? → Common provisioning core jobs → Common “playbook-runner” job → Integrate Rundeck & Ansible debug
  • 95. Rundeck & Ansible → Use Rundeck only as GUI, API and scheduler → Bring Rundeck inventory to common with Ansible → Remember that Rundeck is stupid → Create workspace for jobs → Clean up this workspace automatically → Only run ansible-playbooks → Good practices (in my opinion)? → Common provisioning core jobs → Common “playbook-runner” job → Integrate Rundeck & Ansible debug
  • 96. Rundeck & Ansible → Use Rundeck only as GUI, API and scheduler → Bring Rundeck inventory to common with Ansible → Remember that Rundeck is stupid → Create workspace for jobs → Clean up this workspace automatically → Only run ansible-playbooks → Good practices (in my opinion)? → Common provisioning core jobs → Common “playbook-runner” job → Integrate Rundeck & Ansible debug
  • 97. Rundeck & Ansible → Use Rundeck only as GUI, API and scheduler → Bring Rundeck inventory to common with Ansible → Remember that Rundeck is stupid → Create workspace for jobs → Clean up this workspace automatically → Only run ansible-playbooks → Good practices (in my opinion)? → Common provisioning core jobs → Common “playbook-runner” job → Integrate Rundeck & Ansible debug
  • 98. Rundeck & Ansible run job on localhost node this job actually invokes ansible-playbook on choosen hosts
  • 100. Rundeck & Ansible plugin I'm new to both Rundeck and Ansible so I expect there to be room for improvements. Only basic features have been implemented in this first pass, so I can play around with both tools. Liking it very much so far! :) https://github.com/Batix/rundeck-ansible-plugin
  • 101. Rundeck API → nieoficjalny wrapper pythonowy: https://github.com/marklap/rundeckrun → rundeck_api_helper.py → apitoken.policy vs JSESSIONID
  • 102. Rundeck API → nieoficjalny wrapper pythonowy: https://github.com/marklap/rundeckrun → rundeck_api_helper.py → apitoken.policy vs JSESSIONID
  • 103. Rundeck API → nieoficjalny wrapper pythonowy: https://github.com/marklap/rundeckrun → rundeck_api_helper.py → apitoken.policy vs JSESSIONID
  • 104. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case)
  • 105. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case)
  • 106. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case)
  • 107. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case)
  • 108. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case)
  • 109. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case)
  • 110. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case)
  • 111. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case)
  • 112. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case)
  • 113. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case)
  • 114. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case)
  • 115. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case) provisioning jobs, rundeck maintenance
  • 116. To jak z tą współpracą DEV ↔ OPS? (aka Ocado – use case) provisioning jobs, rundeck maintenance maintenance of own app clusters creating app clusters costs supervision
  • 117. To jak z tą współpracą DEV ↔ OPS? Dobre praktyki utrzymania Rundecka w środowisku dev – ops? → **nie** edytujcie jobów na codzień w UI → joby definiujcie w repo i importujcie (np. przez wrapper API) → dzielcie się między sobą swoimi jobami / template'ami → trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie w definicjach jobów rundeckowych → testujcie automatycznie wykonanie swoich jobów → przekręcajcie często całą instancję Rundecka (powtarzalność)
  • 118. To jak z tą współpracą DEV ↔ OPS? Dobre praktyki utrzymania Rundecka w środowisku dev – ops? → **nie** edytujcie jobów na codzień w UI → joby definiujcie w repo i importujcie (np. przez wrapper API) → dzielcie się między sobą swoimi jobami / template'ami → trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie w definicjach jobów rundeckowych → testujcie automatycznie wykonanie swoich jobów → przekręcajcie często całą instancję Rundecka (powtarzalność)
  • 119. To jak z tą współpracą DEV ↔ OPS? Dobre praktyki utrzymania Rundecka w środowisku dev – ops? → **nie** edytujcie jobów na codzień w UI → joby definiujcie w repo i importujcie (np. przez wrapper API) → dzielcie się między sobą swoimi jobami / template'ami → trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie w definicjach jobów rundeckowych → testujcie automatycznie wykonanie swoich jobów → przekręcajcie często całą instancję Rundecka (powtarzalność)
  • 120. To jak z tą współpracą DEV ↔ OPS? Dobre praktyki utrzymania Rundecka w środowisku dev – ops? → **nie** edytujcie jobów na codzień w UI → joby definiujcie w repo i importujcie (np. przez wrapper API) → dzielcie się między sobą swoimi jobami / template'ami → trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie w definicjach jobów rundeckowych → testujcie automatycznie wykonanie swoich jobów → przekręcajcie często całą instancję Rundecka (powtarzalność)
  • 121. To jak z tą współpracą DEV ↔ OPS? Dobre praktyki utrzymania Rundecka w środowisku dev – ops? → **nie** edytujcie jobów na codzień w UI → joby definiujcie w repo i importujcie (np. przez wrapper API) → dzielcie się między sobą swoimi jobami / template'ami → trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie w definicjach jobów rundeckowych → testujcie automatycznie wykonanie swoich jobów → przekręcajcie często całą instancję Rundecka (powtarzalność)
  • 122. To jak z tą współpracą DEV ↔ OPS? Dobre praktyki utrzymania Rundecka w środowisku dev – ops? → **nie** edytujcie jobów na codzień w UI → joby definiujcie w repo i importujcie (np. przez wrapper API) → dzielcie się między sobą swoimi jobami / template'ami → trzymajcie logikę w Ansible'u (Puppecie / cokolwiek) – nie w definicjach jobów rundeckowych → testujcie automatycznie wykonanie swoich jobów → przekręcajcie często całą instancję Rundecka (powtarzalność)
  • 123. To jak z tą współpracą DEV ↔ OPS? Rundeck per zespół? Czemu nie
  • 124. To jak z tą współpracą DEV ↔ OPS? Rundeck per zespół? Czemu nie
  • 125. To jak z tą współpracą DEV ↔ OPS? Rundeck per zespół? Czemu nie
  • 126. Jak chciałem to podsumować?
  • 127. Jak chciałem to podsumować?
  • 128. Maciej Lasyk DevopsKRK meetup #9 Kraków 2016-04-14 Ansible + Rundeck = śpij adminie, śpij Dzięki :)