Auckland API and Microservices meetup

Post on 08-Feb-2017

338 views 0 download

Transcript of Auckland API and Microservices meetup

MicroservicesAn Introduction

Jim Jones convinced 900 members of the Peoples Temple, his followers, to commit suicide by drinking a mixture of a Koolaid laced with cyanide.

OR

You are here

• More adoption • Failures • Overspend • Throw more money at it • Second generation tools • New service offerings • Methodologies and

best practices • Product suites

Platform / Stack

MICROSERVICES

Virtualisation

User Demand

Agile

Runtimes

Glue

DevOps

Why ‘Containers’ ?

• ‘Works on my machine.’ • Horizontal Scaling

✴ Quick to instantiate ✴ Uses less resource

Virtualisation

Tran

sact

ions

1 machine

2 machines

3 machines

Scaling out is more stable than scaling up!

Vert.x 3

Nameko

Java Containerless REST

SparkJava

Node

SpringBoot

Nancy

Go KitGo

Runtimes

12

Glue

Microservices is an architectural style not an architecture in itself

Glue

Glue

Transports

Registry

Multiprotocol

Standard Message Format / Structure

Central Logging and Monitoring

Automate

Design for Failure

Glue

“Beta-test the bank of the future. New features weekly.”

• Multiple transports • Fast RPC sync / or

async • Data format

Protobuff • Tracing and trace

forwarding • Integration • Adding a bus!?

Infrastructure OpenStack, AWS

Container Runtime Docker, rkt

Container Management Kubernetes, fleet

Configuration Management etcd, micro-infra-spring, consul

Service Discovery / Directory etcd, Zookeeper, SpringCloud, consul

PaaS IBM BlueMix, OpenShift, CoreOS Ecosystem

Continuous Delivery Not just CI! Prefer agent based CD systems

Platforms / Stack

Culture

• DevOps means Development AND Operations • Build for resilience • Direct responsibility • Decentralised governance

“We don’t need an ESB now”

“One service one container”

“Interconnected system of web services”

“All or nothing”

Obligatory container stock photo