The document discusses the benefits of using infrastructure as code (IAC) to provision and manage infrastructure. It provides examples of using tools like Ansible, Terraform, and CloudFormation to automate the configuration of servers and cloud resources rather than manually configuring them. Some benefits mentioned are reusability, automation, version control, reviewability, documentation, and ease of migrating to another cloud system. Potential issues discussed include state files, manual configuration when using tools, maturity of some tools, and social challenges when changing processes.
6. > gem install rails
Fetching: i18n-0.7.0.gem (100%)
Fetching: json-1.8.3.gem (100%)
Building native extensions. This could take a while…
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
creating Makefile
make
sh: 1: make: not found
10. > gem install rails
Fetching: nokogiri-1.6.7.2.gem (100%)
Building native extensions. This could take a while…
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.0.0.rc2
checking for gzdopen() in -lz... no
zlib is missing; necessary for building libxml2
*** extconf.rb failed ***
14. > gem install rails
Building native extensions. This could take a while…
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.0.0.rc2
checking for gzdopen() in -lz... yes
checking for iconv... yes
Extracting libxml2-2.9.2.tar.gz into tmp/x86_64-pc-linux-
gnu/ports/libxml2/2.9.2... OK
*** extconf.rb failed ***
26. > bundle update rails
Building native extensions. This could take a while…
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.0.0.rc2
checking for gzdopen() in -lz... yes
checking for iconv... yes
Extracting libxml2-2.9.2.tar.gz into tmp/x86_64-pc-linux-
gnu/ports/libxml2/2.9.2... OK
*** extconf.rb failed ***
54. Olası Sorunlar
- state dosyası!
- araç kullanırken elle yapılandırma!
- hala tam anlamıyla olgunlaşmış değil!
- uygulama yöntemindeki muhtemel sosyal sorunlar!
- var olan bir projeyi IAC’a taşıma(!)
55. Chef Puppet Ansible SaltStack CloudFormation Terraform
Code Open Source Open Source Open Source Open
Source
Closed Source Open Source
Cloud All All All All AWS Only All
Type Config Mngt Config Mngt Config Mngt Config Mngt Provisioning Provisioning
Infrastructure Mutable Mutable Mutable Mutable Immutable Immutable
Language Procedural Declarative Procedural Declarative Declarative Declarative
Architecture Client/Server Client/Server Client-Only Client/Server Client-Only Client-Only
56.
57. Kaynaklar
- Infrastructure as code: running microservices on
AWS using Docker, Terraform and ECS
- Why we use Terraform and not Chef, Puppet,
Ansible, SaltStack, or CloudFormation
- https://www.ybrikman.com/writing/2016/03/31/i
nfrastructure-as-code-microservices-aws-docker-
terraform-ecs/