Top Banner
How Docker Quickly Advanced Development of an IoT Application Presented by Aater Suleman November 5, 2014
25

How Docker Quickly Advanced Development of an IoT Application

Jul 12, 2015

Download

Technology

Flux7
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How Docker Quickly Advanced Development of an IoT Application

How Docker Quickly Advanced Development of an IoT Application

Presented byAater Suleman

November 5, 2014

Page 2: How Docker Quickly Advanced Development of an IoT Application

Today’s Presenter

Aater Suleman Co-founder & CEO Flux7

Faculty, University of Texas at Austin

Flux7: Cloud and DevOps SolutionsCloud and Devops for Web TeamsEnterprise DevOps Management AWS Certified Team

ClientsPartners

Page 3: How Docker Quickly Advanced Development of an IoT Application

Australia’s 5th Largest Solar Panel Installer

Application: Solar Panel Monitoring

Page 4: How Docker Quickly Advanced Development of an IoT Application

Business Problems

Low customer engagement → limited upsell opportunities

Unhappy customers stuck with large electricity bills

Low collection rates on leased units

Page 5: How Docker Quickly Advanced Development of an IoT Application

Measure power output at solar panels

Store dataCreate reports

Status Indicator

Monitoring

Mail

Customer 1 Customer 2

Customer n

Controlling

Page 6: How Docker Quickly Advanced Development of an IoT Application

Customer 2Customer 1

Measure power output at solar panels

Customer n

Status Indicator

Monitoring

Mail

Store dataCreate reports

Controlling

Page 7: How Docker Quickly Advanced Development of an IoT Application

Mail

Status indicator

Monitoring

Mail

Store dataCreate reports

Customer 2Customer 1

Measure power output at solar panels

Customer n

Controlling

Store dataCreate reports

Measure power output at solar panels

Customer 1 Customer 2

Customer n

Page 8: How Docker Quickly Advanced Development of an IoT Application

What Did Flux7 Do?

Multi-tenancy Developer Workflows

Page 9: How Docker Quickly Advanced Development of an IoT Application

Multi-tenancy

Scenario

...

Page 10: How Docker Quickly Advanced Development of an IoT Application

Dev Solution

Add Tenant ID in Code and Database

Page 11: How Docker Quickly Advanced Development of an IoT Application

Tedious Error Prone Code

Changes

Downsides

Page 12: How Docker Quickly Advanced Development of an IoT Application

Ops Solution

New set of servers per tenant

Page 13: How Docker Quickly Advanced Development of an IoT Application

Low Utilization High Cost

Downsides

High Maintenance

Page 14: How Docker Quickly Advanced Development of an IoT Application

Page load time

Why Not Leaner Servers?

> 5 seconds

Page 15: How Docker Quickly Advanced Development of an IoT Application

DevOps Solution

New Docker containers for every tenant

Page 16: How Docker Quickly Advanced Development of an IoT Application

Inexpensive: Up to 30 tenants per large AWS instance

Page loads under 1 second

Benefits

Fast: Implemented in less than2 weeks with NO code changes

Page 17: How Docker Quickly Advanced Development of an IoT Application

DevOps

Take Aways

Dev or Ops alone

Page 18: How Docker Quickly Advanced Development of an IoT Application

What Did Flux7 Do?

Multi-tenancy Developer Workflows

Page 19: How Docker Quickly Advanced Development of an IoT Application

Improved Developer Workflows

Developer Local Test QA Production

DockerFile DockerFile

Page 20: How Docker Quickly Advanced Development of an IoT Application

One Docker container for each application tier

Run a VM with folder sync and port forwarding

Installs Docker Downloads containers (if not available)

Page 21: How Docker Quickly Advanced Development of an IoT Application

Shared folder for code and

logsAppWeb

DB

LogStashMem$

HTTP

SSH

Virtualbox VM

App Code and Logs

Laptop

run scripts on the laptop for

interacting with the environment

Docker Containers

Page 22: How Docker Quickly Advanced Development of an IoT Application

Who Sees the benefit?

Backend Developers

● Homogenous environment● Quick feedback● Agile; break it fearlessly

Front-end HTML Devs

● Quick visual feedback with populated data

● Avoid installations

Ops

Only one standardized dev environment to support

Management

● Less conflict● Faster time to market● Happier engineers● Easier hiring

Page 23: How Docker Quickly Advanced Development of an IoT Application

Why We Used Docker?

Minimal Performance

Overhead

Fast Boot and Shutdown

Smaller Files Sizes and Ability to Diff Containers

Container will run in the

Cloud

Page 24: How Docker Quickly Advanced Development of an IoT Application

Vision

Docker can speed up the Cloud side of IoT

Docker can also speed up the development and code delivery to the “Things”

✓ ARM’s & Intel’s devices run Docker

✓ Code can be delivered to devices as container layers

✓ Code can be tested via emulators encompassing the

containers

Page 25: How Docker Quickly Advanced Development of an IoT Application

Thank You!

Twitter: @Flux7Labs

Blog: blog.flux7.com