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

DevOps in the clouds

Embed Size (px)

Citation preview

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 code

Page 27: DevOps in the clouds

push code

build & test

Page 28: DevOps in the clouds

push code

build & test

store

Page 29: DevOps in the clouds

push code

build & test

store

Page 30: DevOps in the clouds

push code

build & test

store

Page 31: DevOps in the clouds

push code

build & test

store

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_by bit.ly/mr_mig