DevOps in the clouds

50
DevOps in the clouds Alexey Migutsky : Senior Software Developer @ Lohika

description

DevOps in the clouds covers the usage of DevOps methodology to make managing cloud environments easy for developers.

Transcript of DevOps in the clouds

Page 1: DevOps in the clouds

DevOps in the clouds

Alexey Migutsky : Senior Software Developer @ Lohika

Page 2: DevOps in the clouds

What do we do?

Page 3: DevOps in the clouds

What do we do?PaaS for BigData analytics in cloud environments.

Ubix.io

Page 4: DevOps in the clouds

What do we use?

Page 5: DevOps in the clouds

What do we use?

Scala

Python

Bash

Javascript

Page 6: DevOps in the clouds

What do we use?

BDAS (Spark + Shark)

AWS

Black Voodoo Magic™

Velocipede™

Brains

Page 7: DevOps in the clouds

What’s next?

Page 8: DevOps in the clouds

What’s next?

DevOps WAT?

AWS

CI

Orchestration

Page 9: DevOps in the clouds

?

Page 10: DevOps in the clouds

What is DevOps?

Page 11: DevOps in the clouds

What is DevOps?

- Methodology

- Agile Infrastructure

- Infrastructure == Code

- Automation

- « Unified pipeline »

Page 12: DevOps in the clouds

How to DevOps?

Page 13: DevOps in the clouds

How to DevOps?

- Continuous Integration

- Automate everything

- Declarative orchestration

- « Pipeline »

Page 14: DevOps in the clouds

How come?

Page 15: DevOps in the clouds

How come?

- AWS (cloud env)

- Startup

- Laziness

- « We wanna code! »

Page 16: DevOps in the clouds

AWS

Page 17: DevOps in the clouds

AWS

- EC2

- Route53

- DynamoDB

- S3

- IAM

Page 18: DevOps in the clouds

Black Voodoo Magic™

Page 19: DevOps in the clouds

Black Voodoo Magic™

- « micro cloud » per user

- Node per module

- Easy CI

- No multitenancy

- Velocipede™ deployment

Page 20: DevOps in the clouds

CI

Page 21: DevOps in the clouds

CI

1. Github

2. Jenkins (scala, node.js,

tests)

3. S3

4. Velocipede™ deployments

Page 22: DevOps in the clouds

CI How-To

Page 23: DevOps in the clouds
Page 24: DevOps in the clouds

« do work »

Page 25: DevOps in the clouds

push code

Page 26: DevOps in the clouds

push codepost-commit hook

Page 27: DevOps in the clouds

push codepost-commit hook

build & test

Page 28: DevOps in the clouds

push codepost-commit hook

build & test

store

Page 29: DevOps in the clouds

push codepost-commit hook

build & test

store

Page 30: DevOps in the clouds

push codepost-commit hook

build & test

store

take

Page 31: DevOps in the clouds

push codepost-commit hook

build & test

store

take

deploy

Page 32: DevOps in the clouds

Velocipede™

Page 33: DevOps in the clouds

Velocipede™

1. Self-made legacy Python/Bash deployment scripts

2. Scala-based Web Service

3. No Chef, no Puppet, no hope…

Page 34: DevOps in the clouds

Velocipede™

1. Deploy using local scripts (devs do this)

2. RESTful API calls (modules do this)

3. Deploy by client creation

Page 35: DevOps in the clouds

Orchestration

Page 36: DevOps in the clouds

Orchestration

Velocipede™ uses self-made AMIs

No Chef, no Puppet, no hope…

Page 37: DevOps in the clouds

Plans

Page 38: DevOps in the clouds
Page 39: DevOps in the clouds
Page 40: DevOps in the clouds

Ansible / Salt

Page 41: DevOps in the clouds

Ansible / Salt

Apache jclouds

Page 42: DevOps in the clouds

jclouds

Page 43: DevOps in the clouds

jclouds

- Java-based cloud API

- 30 cloud providers

- « Portable abstractions »

Page 44: DevOps in the clouds

Ansible

Page 45: DevOps in the clouds

Ansible

- No master server and

agents

- SSH

- Simple DSL

- Python

- YAML « playbooks »

Page 46: DevOps in the clouds

Salt

Page 47: DevOps in the clouds

Salt

- Has master and « minions

»

- YAML « states »

- Simple DSL

- We found it a bit

complicated

Page 48: DevOps in the clouds
Page 49: DevOps in the clouds

That’s it!

Page 50: DevOps in the clouds

That’s it!

Thanks

@mr_mig_bybit.ly/mr_mig