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

How Docker Quickly Advanced Development of an IoT Application

  • Upload
    flux7

  • View
    1.906

  • Download
    0

Embed Size (px)

Citation preview

How Docker Quickly Advanced Development of an IoT Application

Presented byAater Suleman

November 5, 2014

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

Australia’s 5th Largest Solar Panel Installer

Application: Solar Panel Monitoring

Business Problems

Low customer engagement → limited upsell opportunities

Unhappy customers stuck with large electricity bills

Low collection rates on leased units

Measure power output at solar panels

Store dataCreate reports

Status Indicator

Monitoring

Mail

Customer 1 Customer 2

Customer n

Controlling

Customer 2Customer 1

Measure power output at solar panels

Customer n

Status Indicator

Monitoring

Mail

Store dataCreate reports

Controlling

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

What Did Flux7 Do?

Multi-tenancy Developer Workflows

Multi-tenancy

Scenario

...

Dev Solution

Add Tenant ID in Code and Database

Tedious Error Prone Code

Changes

Downsides

Ops Solution

New set of servers per tenant

Low Utilization High Cost

Downsides

High Maintenance

Page load time

Why Not Leaner Servers?

> 5 seconds

DevOps Solution

New Docker containers for every tenant

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

DevOps

Take Aways

Dev or Ops alone

What Did Flux7 Do?

Multi-tenancy Developer Workflows

Improved Developer Workflows

Developer Local Test QA Production

DockerFile DockerFile

One Docker container for each application tier

Run a VM with folder sync and port forwarding

Installs Docker Downloads containers (if not available)

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

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

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

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

Thank You!

Twitter: @Flux7Labs

Blog: blog.flux7.com