Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading content…
Transcript

T

ENTRY

WHAT IS IT?

What is this presentation about

ENTRY LEVEL

ENTRY LEVEL

★✩✩✩✩

OVERALL INFO

sarcasm

OVERALL INFO

1. SCM Capabilites

- When? Where? Who? With?

2. IaC notes

- And why this subject?

3. Related issues

- Deuce take it!!1

IMPORTANT

NOTICE

Topic may mislead

LETS GO

NEXT ONE:

Software Configuration Managment (SCM)

SCM

PURPOSES

It's about this bunch of different things

SCM OVERALL

DETECT

Discover and observe

DETECT

CONFIGURE

Configure all your inventory

LOG

Tell to engineers about everything

VERSION CONTROL

It gets painfully when someone wants revert previous configuration

CHANGE CONTROL

Prevent unexpected troubles

WHY ANSIBLE?

Because i'ts a common, agentless tool?

or not?

WHY ANSIBLE?

AGENTLESS!

You need only python package on your server*

*but there is various crutches for passing through

Simple as F!

Your inventory is just a text file

Simple as F!

INVENTORY

[web]

a.webserver.com

b.webserver.com

[db]

c.behind.webserver.com

ROLES

Everything can play own role... or more than one

PLAYBOOKS

Do your best and don't sink with spaces!*

PLAYBOOKS

*I'ts very uncommon for first time**, but when some time passes you will get it.

**like python

Your playbook

---

- hosts: webservers

remote_user: root

tasks:

- name: Apache is latest

yum: name=httpd state=latest

- name: Add config file

template: src=/srv/httpd.j2 dest=/etc/httpd.conf

Extend-o-matic

If your preffered language can return JSON - you do.

Extend-o-matic

BUT...

Everything is gross and weird with cloud inventory.

EC2:

May(will) piss off you

With states

It won't preserve state of your infrastructure. Literally, you won't be able to interact with your infrastructure without

reloading inventory in memory.*

*ec2.py do, when this script is executable inventory

Preview changes

Your wont be able to preview changes on your infrastructure.*

*it will not work even with conditions!

*--check key will not be usefull there

*or use your best cruthes

???

State locking? Change previews? Others jobs that ansible should't do?

Important notice

You still can use ansible for every routine, but when you do it, you will mix cutlets with flies

Important notice

Infrastracture as

Code

IaC

IaC isn't just automation

IaC isn't just automation

Source control

Manage infrastructure via source control

Source control

Apply testing to infrastructure

TERRAFORM

PROFITS

OR CAN I?

FEATURES

Lots of providers

From AWS, Azure, Google Cloud to DigitalOcean and CloudStack

Lots of providers

Import Existing Resources

Terraform allows you to deal with existing infrastructure without any headache

Import Existing Resources

State locking

Lock state of your infrastructure

Keep this away from unaware changes

Change preview

You can preview your infrastructure before

executing

Change preview

Again, easy as f!

Wake up single server*

resource "aws_instance" "hello" {

ami = "ami-XXXXXXX"

instance_type = "t2.micro"

}

*Assuming that you have Amazon secrets

Execute

Terraform plan

The plan command lets you see what Terraform will

do before actually doing it.

Apply

To actually create the instance, run the “terraform apply” command:

Provision*

provisioner "local-exec" {

command = "ansible-playbook -i \

'${aws_instance.hello.public_ip},' site.yml"

}

Provision*

*or use packer and abandon ansible

It's still posible to do provision/configuration with/without a SCM

It's still possible to set up infrastructure with/without a IaC. And sometimes it's very good decision

SUMMARY

Provocative topic sometimes summons listeners with tricky questions. Think about it carefully

Questions?

FINAL

THANK YOU!

Learn more about creating dynamic, engaging presentations with Prezi