SlideShare a Scribd company logo
1 of 42
Download to read offline
Ansible: the good parts
Alex Chistyakov, a fool on the hill
Outline
- Ansible was good, now it’s dead
- Ansible was never good
- Miscellaneous
2
Ansible was good
- I’ve been using Ansible past four years
3
Ansible was good
- I’ve been using Ansible past four years
- Is it even legal?
4
Ansible was good
- I’ve been using Ansible past four years
- Is it even legal?
- Authored and co-authored 200+ publicly available Ansible
roles in various repos
5
Ansible was never good
- How come, Red Hat Inc.?
6
Ansible was never good
- How come, Red Hat Inc.?
- 6 years since initial release
7
Ansible was never good
- How come, Red Hat Inc.?
- 6 years since initial release
- And still no decent Linux firewall configuration module?
8
A perfect escape plan: Stonic
- https://github.com/stonicio/stonic
9
A perfect escape plan: Stonic
- https://github.com/stonicio/stonic
- 0 security bugs so far
10
A perfect escape plan: Stonic
- https://github.com/stonicio/stonic
- 0 security bugs so far
- 100% reliability
11
A perfect escape plan: Stonic
- https://github.com/stonicio/stonic
- 0 security bugs so far
- 100% reliability
- https://github.com/kelseyhightower/nocode
12
Stonic was never good
- Originally intended to be Python-based
13
Stonic was never good
- Originally intended to be Python-based
- Probably only Golang is worse than Python
14
Stonic was never good
- Originally intended to be Python-based
- Probably only Golang is worse than Python
- (PHP does not count because it’s not a programming
language)
15
Stonic was never good
- Originally intended to be Python-based
- Probably only Golang is worse than Python
- (PHP does not count because it’s not a programming
language)
- And if it is, why there is no local PHP Meetup in SPb.?
16
Even better escape plan: s1onique
- Probably a French word meaning “Let’s write it from the
ground up”
17
Even better escape plan: s1onique
- Probably a French word meaning “Let’s write it from the
ground up”
- 0 lines of code so far
18
Even better escape plan: s1onique
- Probably a French word meaning “Let’s write it from the
ground up”
- 0 lines of code so far
- An umbrella organization for some future PoCs
(Inshallah)
19
Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
20
Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Haskell
21
Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Kotlin
22
Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Scala/Native
23
Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Racket
24
Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Rust (QUIA POSSUMUS!)
25
Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Rust (QUIA POSSUMUS!)
- We Release When It’s Ready (mañana)
26
I’m agile
- Rewriting Ansible in any language is like this:
27
Let’s collect some requirements
- We need a way to describe a desired state declaratively
28
Let’s collect some requirements
- We need a way to describe a desired state declaratively
- … and safely! (so, static typing or a linter)
29
Let’s collect some requirements
- We need a way to describe a desired state declaratively
- … and safely! (so, static typing or a linter)
- We need a way to enforce the desired state
30
Let’s collect some requirements
- We need a way to describe a desired state declaratively
- … and safely! (so, static typing or a linter)
- We need a way to enforce the desired state
- Ansible, really? Are you kidding?
31
OK, but the firewall is still there
- Writing an Ansible module seems to be simple
32
OK, but the firewall is still there
- Writing an Ansible module seems to be simple
- Except when it’s not
33
OK, but the firewall is still there
- Writing an Ansible module seems to be simple
- Except when it’s not
- The desired state should be clearly defined (how?)
34
OK, but the firewall is still there
- Writing an Ansible module seems to be simple
- Except when it’s not
- The desired state should be clearly defined (how?)
- The desired state should be enforced unambiguously
35
We need a plan again
- A desired state is just a complex data structure
expressed in YAML
36
We need a plan again
- A desired state is just a complex data structure
expressed in YAML
- An Ansible module is just a Python program
37
We need a plan again
- A desired state is just a complex data structure
expressed in YAML
- An Ansible module is just a Hylang program
38
We need a plan again
- A desired state is just a complex data structure
expressed in YAML
- An Ansible module is just a MAL program
39
We need a plan again
- A desired state is just a complex data structure
expressed in YAML
- An Ansible module is just a MAL program
- Because this world was written in Lisp!
40
Conclusions
- No CM system for old men
- I’m so tired
41
Questions?
- alexclear@gmail.com
- Skype, Telegram: demeliorator
- A Telegram channel (updated occasionally):
http://t.me/lhommequipleure
42

More Related Content

More from Alex Chistyakov

My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 Alex Chistyakov
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018Alex Chistyakov
 
My slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtMy slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtAlex Chistyakov
 
My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019Alex Chistyakov
 
My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019Alex Chistyakov
 
My talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMMy talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMAlex Chistyakov
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017Alex Chistyakov
 
My talk on GitHub open data at ITGM #10
 My talk on GitHub open data at ITGM #10 My talk on GitHub open data at ITGM #10
My talk on GitHub open data at ITGM #10Alex Chistyakov
 
My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017Alex Chistyakov
 
My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017Alex Chistyakov
 
My talk at DevParty 2017
My talk at DevParty 2017My talk at DevParty 2017
My talk at DevParty 2017Alex Chistyakov
 
My talk at Linux Piter 2016
My talk at Linux Piter 2016My talk at Linux Piter 2016
My talk at Linux Piter 2016Alex Chistyakov
 
My talk at CEE-SECR 2016
My talk at CEE-SECR 2016My talk at CEE-SECR 2016
My talk at CEE-SECR 2016Alex Chistyakov
 

More from Alex Chistyakov (20)

My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018
 
My slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArtMy slides from the first SPb SRE community meetup at DataArt
My slides from the first SPb SRE community meetup at DataArt
 
My slides from CC'2019
My slides from CC'2019My slides from CC'2019
My slides from CC'2019
 
My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019My slides from BMM №4 Nov 2019
My slides from BMM №4 Nov 2019
 
My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019My slides from DevOps-40 meetup Oct 2019
My slides from DevOps-40 meetup Oct 2019
 
My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019My slides from DevOps-40 meetup Dec 2019
My slides from DevOps-40 meetup Dec 2019
 
My talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGMMy talk at SPb SQA sub-meetup of ITGM
My talk at SPb SQA sub-meetup of ITGM
 
My talk at SECR 2017
My talk at SECR 2017My talk at SECR 2017
My talk at SECR 2017
 
On scaling teams
On scaling teamsOn scaling teams
On scaling teams
 
MariaDB workshop
MariaDB workshopMariaDB workshop
MariaDB workshop
 
Docker for JS people
Docker for JS peopleDocker for JS people
Docker for JS people
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
 
My talk on GitHub open data at ITGM #10
 My talk on GitHub open data at ITGM #10 My talk on GitHub open data at ITGM #10
My talk on GitHub open data at ITGM #10
 
My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017My talk on DevOps :) at Stachka 2017
My talk on DevOps :) at Stachka 2017
 
My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017My talk on programming languages at SPbLUG Mar 2017
My talk on programming languages at SPbLUG Mar 2017
 
My talk at DevParty 2017
My talk at DevParty 2017My talk at DevParty 2017
My talk at DevParty 2017
 
My talk at Linux Piter 2016
My talk at Linux Piter 2016My talk at Linux Piter 2016
My talk at Linux Piter 2016
 
My talk at CEE-SECR 2016
My talk at CEE-SECR 2016My talk at CEE-SECR 2016
My talk at CEE-SECR 2016
 

Recently uploaded

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 

Recently uploaded (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

Ansible and other stuff

  • 1. Ansible: the good parts Alex Chistyakov, a fool on the hill
  • 2. Outline - Ansible was good, now it’s dead - Ansible was never good - Miscellaneous 2
  • 3. Ansible was good - I’ve been using Ansible past four years 3
  • 4. Ansible was good - I’ve been using Ansible past four years - Is it even legal? 4
  • 5. Ansible was good - I’ve been using Ansible past four years - Is it even legal? - Authored and co-authored 200+ publicly available Ansible roles in various repos 5
  • 6. Ansible was never good - How come, Red Hat Inc.? 6
  • 7. Ansible was never good - How come, Red Hat Inc.? - 6 years since initial release 7
  • 8. Ansible was never good - How come, Red Hat Inc.? - 6 years since initial release - And still no decent Linux firewall configuration module? 8
  • 9. A perfect escape plan: Stonic - https://github.com/stonicio/stonic 9
  • 10. A perfect escape plan: Stonic - https://github.com/stonicio/stonic - 0 security bugs so far 10
  • 11. A perfect escape plan: Stonic - https://github.com/stonicio/stonic - 0 security bugs so far - 100% reliability 11
  • 12. A perfect escape plan: Stonic - https://github.com/stonicio/stonic - 0 security bugs so far - 100% reliability - https://github.com/kelseyhightower/nocode 12
  • 13. Stonic was never good - Originally intended to be Python-based 13
  • 14. Stonic was never good - Originally intended to be Python-based - Probably only Golang is worse than Python 14
  • 15. Stonic was never good - Originally intended to be Python-based - Probably only Golang is worse than Python - (PHP does not count because it’s not a programming language) 15
  • 16. Stonic was never good - Originally intended to be Python-based - Probably only Golang is worse than Python - (PHP does not count because it’s not a programming language) - And if it is, why there is no local PHP Meetup in SPb.? 16
  • 17. Even better escape plan: s1onique - Probably a French word meaning “Let’s write it from the ground up” 17
  • 18. Even better escape plan: s1onique - Probably a French word meaning “Let’s write it from the ground up” - 0 lines of code so far 18
  • 19. Even better escape plan: s1onique - Probably a French word meaning “Let’s write it from the ground up” - 0 lines of code so far - An umbrella organization for some future PoCs (Inshallah) 19
  • 20. Breakdown and milestones - Develop a firewall configuration module for Ansible finally 20
  • 21. Breakdown and milestones - Develop a firewall configuration module for Ansible finally - Rewrite Ansible in Haskell 21
  • 22. Breakdown and milestones - Develop a firewall configuration module for Ansible finally - Rewrite Ansible in Kotlin 22
  • 23. Breakdown and milestones - Develop a firewall configuration module for Ansible finally - Rewrite Ansible in Scala/Native 23
  • 24. Breakdown and milestones - Develop a firewall configuration module for Ansible finally - Rewrite Ansible in Racket 24
  • 25. Breakdown and milestones - Develop a firewall configuration module for Ansible finally - Rewrite Ansible in Rust (QUIA POSSUMUS!) 25
  • 26. Breakdown and milestones - Develop a firewall configuration module for Ansible finally - Rewrite Ansible in Rust (QUIA POSSUMUS!) - We Release When It’s Ready (mañana) 26
  • 27. I’m agile - Rewriting Ansible in any language is like this: 27
  • 28. Let’s collect some requirements - We need a way to describe a desired state declaratively 28
  • 29. Let’s collect some requirements - We need a way to describe a desired state declaratively - … and safely! (so, static typing or a linter) 29
  • 30. Let’s collect some requirements - We need a way to describe a desired state declaratively - … and safely! (so, static typing or a linter) - We need a way to enforce the desired state 30
  • 31. Let’s collect some requirements - We need a way to describe a desired state declaratively - … and safely! (so, static typing or a linter) - We need a way to enforce the desired state - Ansible, really? Are you kidding? 31
  • 32. OK, but the firewall is still there - Writing an Ansible module seems to be simple 32
  • 33. OK, but the firewall is still there - Writing an Ansible module seems to be simple - Except when it’s not 33
  • 34. OK, but the firewall is still there - Writing an Ansible module seems to be simple - Except when it’s not - The desired state should be clearly defined (how?) 34
  • 35. OK, but the firewall is still there - Writing an Ansible module seems to be simple - Except when it’s not - The desired state should be clearly defined (how?) - The desired state should be enforced unambiguously 35
  • 36. We need a plan again - A desired state is just a complex data structure expressed in YAML 36
  • 37. We need a plan again - A desired state is just a complex data structure expressed in YAML - An Ansible module is just a Python program 37
  • 38. We need a plan again - A desired state is just a complex data structure expressed in YAML - An Ansible module is just a Hylang program 38
  • 39. We need a plan again - A desired state is just a complex data structure expressed in YAML - An Ansible module is just a MAL program 39
  • 40. We need a plan again - A desired state is just a complex data structure expressed in YAML - An Ansible module is just a MAL program - Because this world was written in Lisp! 40
  • 41. Conclusions - No CM system for old men - I’m so tired 41
  • 42. Questions? - alexclear@gmail.com - Skype, Telegram: demeliorator - A Telegram channel (updated occasionally): http://t.me/lhommequipleure 42