DevOps in the clouds

Post on 06-May-2015

867 views 3 download

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

DevOps in the clouds

Alexey Migutsky : Senior Software Developer @ Lohika

What do we do?

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

Ubix.io

What do we use?

What do we use?

Scala

Python

Bash

Javascript

What do we use?

BDAS (Spark + Shark)

AWS

Black Voodoo Magic™

Velocipede™

Brains

What’s next?

What’s next?

DevOps WAT?

AWS

CI

Orchestration

?

What is DevOps?

What is DevOps?

- Methodology

- Agile Infrastructure

- Infrastructure == Code

- Automation

- « Unified pipeline »

How to DevOps?

How to DevOps?

- Continuous Integration

- Automate everything

- Declarative orchestration

- « Pipeline »

How come?

How come?

- AWS (cloud env)

- Startup

- Laziness

- « We wanna code! »

AWS

AWS

- EC2

- Route53

- DynamoDB

- S3

- IAM

Black Voodoo Magic™

Black Voodoo Magic™

- « micro cloud » per user

- Node per module

- Easy CI

- No multitenancy

- Velocipede™ deployment

CI

CI

1. Github

2. Jenkins (scala, node.js,

tests)

3. S3

4. Velocipede™ deployments

CI How-To

« do work »

push code

push codepost-commit hook

push codepost-commit hook

build & test

push codepost-commit hook

build & test

store

push codepost-commit hook

build & test

store

push codepost-commit hook

build & test

store

take

push codepost-commit hook

build & test

store

take

deploy

Velocipede™

Velocipede™

1. Self-made legacy Python/Bash deployment scripts

2. Scala-based Web Service

3. No Chef, no Puppet, no hope…

Velocipede™

1. Deploy using local scripts (devs do this)

2. RESTful API calls (modules do this)

3. Deploy by client creation

Orchestration

Orchestration

Velocipede™ uses self-made AMIs

No Chef, no Puppet, no hope…

Plans

Ansible / Salt

Ansible / Salt

Apache jclouds

jclouds

jclouds

- Java-based cloud API

- 30 cloud providers

- « Portable abstractions »

Ansible

Ansible

- No master server and

agents

- SSH

- Simple DSL

- Python

- YAML « playbooks »

Salt

Salt

- Has master and « minions

»

- YAML « states »

- Simple DSL

- We found it a bit

complicated

That’s it!

That’s it!

Thanks

@mr_mig_bybit.ly/mr_mig