16

WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

  • Upload
    webcamp

  • View
    63

  • Download
    2

Embed Size (px)

Citation preview

Page 1: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm
Page 2: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

Elastic streaming Cloud How we build it .

Page 3: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

Speaker

Nick Doikov

Sr.Devops Engineer @

[email protected]

Page 4: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

Introductory

- Over 1000 companies- Over 4000 separate users- Over 6000 streaming instances (cloud based and cloud attached)

One

Page 5: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

- update mess (application and base OS )- partial access to client's infrastructure- To many resources need to support all this infrastructure- Instances are in active usage approx 10% max (3% in general) time- Users deploy own local servers (Distro? Kernel?)

Page 6: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

- operational expenses - constant resource freeze (used or not) - core resources allocation (stats etc ...)- not suitable for rapid start-stop (can`t be used for instant start on connection)

What we can do with all of this?

Page 7: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

Docker containers :

- Can be runned in a seconds - Real transparent start/stop for end customer- No os CPU,RAM overhead- Easily to update via images versioning

Page 8: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

Streaming devices with bonding

Bonding and streaming server

Page 9: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

Previous flow with binding streaming server (Sputnik) in Amazon EC2

Page 10: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

Goals

- launch on device connect- Stop after streaming finished and all files uploaded- Centralized logging- Every time up to date container (no problems with software updates)- Oversell %)- Multi regions - Easy maintain and provisioning new points of presence

Page 11: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

What we need

- Static entry point that do not change due device unregister in Core- Static ports for stream capturing by 3rd party devices

Page 12: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm
Page 13: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm
Page 14: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm
Page 15: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

Few notes :

- Consul cluster behind elb- Swarm nodes announce themselves to Consul- Regions separated by DOCKER_OPTS Label- Container starts with region constraint- Inside container there are monitors that check application status and send

metrics to core.- After connections from devices and upload connections was closed container

“dies” after 30 minutes idle- Jobber delete stopped containers each 5 second - Centralized logging /alerting using async redis pubsub as a buffer and

elasticsearch as a storage

Page 16: WebCamp 2016: DevOps. Николай Дойков: Опыт создания клауда для потокового видео на docker swarm

What we get :

- End user value (customer get enough resources exactly when he need it )- Easy few steps node deploy (can be deployed on cloud providers as well as

on colo)- Easy reached hybrid cloud model (cloud core and hardware calculation

nodes)- Oversell %)- Now we have 9 regions (cloud providers + hardware POP)