microservices on the edge

Post on 07-Aug-2015

563 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Microservices on the Edge

James HigginbothamAPI Architect@launchany

Introduction

A Little Background…

Fog Computing

The collaboration of resources from ‘edge nodes’ for the purposes of

computation, storage, analysis and management of devices and data

Edge Computing in 2001

+

What’s Different Now?

Cloud Native Architecture

Need Solution

Servers Cloud Servers are abundant (e.g. EC2)

Database Various vendors, can scale up and out (e.g. RDS or self-install)

File Storage File and Object storage abundant (e.g. EFS, S3, Ceph)

Messaging Message brokers abundant (e.g. SNS/SQS, RabbitMQ)

Stack Definition Declarative Infrastructure (e.g. CloudFormation, SaltStack, Terraform, BOSH)

Edge Computing Architecture

Need Solution

Servers Hardware must be installed ahead of time

Database Limited footprint/storage requires careful selection

File Storage File storage limited, can cluster block devices

Messaging Message brokers abundant, limited by footprint requirements

Stack Definition Infrastructure is hardware

Edge computing demonstrates some of the same limitations of

the pre-cloud world: No elasticity or flexibility

What if we could bring some elasticity and flexibility of our

cloud native architecture to edge computing?

The Proof of Concept

Hardware List

• Raspberry Pi 2• 6-port USB Charger• 1’ micro USB cables• 1’ Cat 5 cables + switch• 3’ thin HDMI cables• HDMI Switcher (optional)• Projector (optional, for initial Pi configuration)

Docker Environment

• Hypriot Raspbian distribution• Docker 1.6.0• OverlayFS• http://blog.hypriot.com/

• Docker Images:• hypriot/rpi-redis• hypriot/rpi-ruby• (Also avail: Node, Go, Python, Java, MySQL, …)

Architecture

RedisMessage Broker

Dashboard

WX API

Solar Panel API

Platform Services

Application Services

Solar Panel Aggregator

WX Collector

Solar Panel Collector

Microservice Boundary

Demo

Future Considerations

Build trigger logic from events/analysis Shared platform services– Device-specific integration services (logging/ELK)– Network-specific services (MQTT, Internal DNS)

Service discovery and orchestration– Docker Swarm, Hashicorp Consul/Atlas

Deployment services– Upgrade/rollback using blue-green deployment

Thanks Ya’ll

James Higginbothamjames@launchany.comhttp://launchany.com

@launchany

QUESTIONS

top related