https://youtu.be/oo24caqVgMk
Idem is an open source, stateful configuration management platform written in Python from the inventor of Salt. This talk will go over:
- Plugin Oriented Programming (POP) brief overview
- Idem's place in the POP ecosystem
- Idem syntax and workflow
- Microsoft Azure Infrastructure as Code (IaC)
- Idem Roadmap
2. Who is this guy?
Nicholas Hughes - Just A Guy
● Automation Consultant and CEO, EITR Technologies
● Nearly 20 years in IT
● Salt user/contributor for 5 years
● Salt Cloud Working Group Captain
● Experience with other automation frameworks
● Extremely lazy
2
3. Topics
● The History of Salt Cloud
● Plugin Oriented Programming (POP)
● The POP Ecosystem
● Idem Syntax and Workflow
● Microsoft Azure Infrastructure as Code (IaC)
● Idem Roadmap
3
5. Salt Cloud
● Only for cloud "compute" (instances, virtual machines)
● Different workflow than the rest of Salt
○ Providers
○ Profiles
○ Maps
● Not the same Jinja "support" as the rest of Salt (no execution modules)
● Usually implemented in orchestration states
○ Infrastructure with state modules
○ Virtual machineswith Salt Cloud maps
● Some state modules exist for compute
5
9. Plugin Oriented Programming (POP)
● Unix Philosophy
○ Do one thing. Do it well.
○ Write programs that work together.
○ Write programs that talk the same language (common interface).
● Everything is a plugin!
● Merge all the things!
● Result:
○ Smallerprojects
○ Fasterreleases
○ More innovation
9
12. Idem
● Short for "Idempotent"
● Configuration management
● Execution Modules - “do things”
● State Modules - “do things”, but only if they need to be done
● Perfect for cloud... separate repositories
12
13. Idem: Terminology
● Execution Modules - “do things”
DISCLAIMER:
This is not an Idem module.
This is only for learning the concepts.
13
14. Idem: Terminology
● State Modules - “do things”, but only if they need to be done
DISCLAIMER:
This is not an Idem module.
This is only for learning the concepts.
14
15. Idem Cloud
● For all cloud services and APIs
○ IaaS
○ PaaS
○ FaaS
○ DBaaS
○ etc.
● Same workflow for all the things
15
19. The Future of Idem
● More "clouds"!
○ libvirt, vagrant, virtualbox, vultr
○ AWS, GCP, OCI, etc.
○ Linode, DigitalOcean, etc.
○ OpenStack, VMware, etc.
● More configuration management!
○ System: file, service, package, etc.
● More easy...er...ness!
19