microservices on the edge
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
QUESTIONS