I will present Terraform, a tool that allows you to manage the infrastructure as a code. We will know the characteristics, features, history and paradigm shift. Two cases of use of Terraform will be demonstrated: How to manage the installation of Zabbix with Docker containers and how to interact with the Zabbix API.
3. Theculture
Talk: A relação entre o ágil e o DevOps
Marcell Castelo Branco https://www.youtube.com/watch?v=XrRrc37lUzk
Talk: O poder da abstração: desafios técnicos e culturais do “Ops” para o DevOps
Daniel Requena https://t.co/soyugYTeC3
3
10. 10
Infra as Code - IaC
Uses techniques, practices, and tools from the
software development world, this allows
actions to be properly tested before they are
applied in production.
11. 11
Infra as Code - IaC
So we can think of versioning, continuous
integration, refactoring, pair programming and
other techniques to develop our infra.
13. 13
Whatis ?
It is a tool that manages the infrastructure as
code provisioning a complete environment
for an application to work, whether in a
cloud, LAN, conteiner or desktop.
It is not a configuration management tool ...
14. 14
It is not a configuration management tool ...
Refence: https://goo.gl/nC4fgY
15. enable...
15
● Plan,
● Build,
● Expose,
● Modify,
● Apply versioning,
● Delete,
● Manage an infrastructure (from components needed
to run an application to a datacenter).
● Can manage IaaS, SaaS, storage, network devices, DNS
entries and more...
17. History
17
● First release publised in 2014.
● Current version: 0.11.13
● Open Source: https://github.com/hashicorp/terraform
● Written in Go https://en.wikipedia.org/wiki/Terraform_(software)
● Created by Mitchell Hashimoto and maintained by
https://www.hashicorp.com
● License: Mozilla Public 2.0
18. Features
18
● Support to: Windows, Linux, MacOS, Solaris, FreeBSD,
OpenBSD.
● More of 125 providers:
https://www.terraform.io/docs/providers/index.html
https://www.terraform.io/docs/providers/type/community-index.html
● Available in version Open Source and Enterprise
● Integration with provisioners: Puppet, Ansible, SaltStack, Cheff,
Shell Script…
https://www.terraform.io/docs/provisioners/index.html
26. Pros&Cons
26
● Productivity
● Efficiency
● Scalability
● Quality standard
● Integration with configuration
management tools and scripts
● Versioning
● Rollback
● Documentation as Code
● Backup
● Continuous Integration
● Continuous Delivery
● Continuous Deployment
In the free version of Terraform:
● No web interface
● No reporting chart, PDF, CSV...
● No visual effects
● No notifications
● Does not monitor infrastructure
events
28. Futureworks
28
● Zabbix Configuration as a Code in YAML files (ZCasC)
(Alexey - Zabbix SIA??!!)
●https://support.zabbix.com/browse/ZBXNEXT-4863
●https://support.zabbix.com/browse/ZBXNEXT-4862
●https://gitlab.com/devopshq/zabbix-review-export
● Community Initiative: Terraform zabbix provider
●https://github.com/dainis/terraform-provider-zabbix
● Create a web interface free for reports, dashboards,
notifications, alternative to Terraform Enterprise.
30. References
30
● Hashicorp Terraform
https://goo.gl/UyGCTx
https://goo.gl/keWFrD
● Mario J. Inga Cahuana - Infrastructure as Code with Terraform
https://www.slideshare.net/mario21ic/infrastructure-as-code-with-terraform-74279471
● Martin Schütte - Terraform: Infrastructure as Code
https://www.slideshare.net/mschuett/terraform-infrastructure-as-code-78992829
● Payam Moghaddam- State Drift Detection using Terraform
https://goo.gl/QRBhtE
● Terraform - https://www.terraform.io/intro/index.html
● Yevgeniy Brikman - Why we use Terraform and not Chef, Puppet, Ansible, SaltStack, or
CloudFormation https://goo.gl/wxH3pu