Auckland API and Microservices meetup

41
Microservices An Introduction

Transcript of Auckland API and Microservices meetup

Page 1: Auckland API and Microservices meetup

MicroservicesAn Introduction

Page 2: Auckland API and Microservices meetup
Page 3: Auckland API and Microservices meetup
Page 4: Auckland API and Microservices meetup
Page 5: Auckland API and Microservices meetup
Page 6: Auckland API and Microservices meetup
Page 7: Auckland API and Microservices meetup
Page 8: Auckland API and Microservices meetup
Page 9: Auckland API and Microservices meetup
Page 10: Auckland API and Microservices meetup
Page 11: Auckland API and Microservices meetup

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

Page 12: Auckland API and Microservices meetup

OR

Page 13: Auckland API and Microservices meetup
Page 14: Auckland API and Microservices meetup
Page 15: Auckland API and Microservices meetup

You are here

Page 16: Auckland API and Microservices meetup

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

best practices • Product suites

Page 17: Auckland API and Microservices meetup
Page 18: Auckland API and Microservices meetup

Platform / Stack

MICROSERVICES

Virtualisation

User Demand

Agile

Runtimes

Glue

DevOps

Page 19: Auckland API and Microservices meetup
Page 20: Auckland API and Microservices meetup

Why ‘Containers’ ?

• ‘Works on my machine.’ • Horizontal Scaling

✴ Quick to instantiate ✴ Uses less resource

Virtualisation

Page 21: Auckland API and Microservices meetup
Page 22: Auckland API and Microservices meetup

Tran

sact

ions

1 machine

2 machines

3 machines

Page 23: Auckland API and Microservices meetup

Scaling out is more stable than scaling up!

Page 24: Auckland API and Microservices meetup

Vert.x 3

Nameko

Java Containerless REST

SparkJava

Node

SpringBoot

Nancy

Go KitGo

Runtimes

Page 25: Auckland API and Microservices meetup

12

Glue

Page 26: Auckland API and Microservices meetup

Microservices is an architectural style not an architecture in itself

Glue

Page 27: Auckland API and Microservices meetup

Glue

Page 28: Auckland API and Microservices meetup

Transports

Page 29: Auckland API and Microservices meetup

Registry

Page 30: Auckland API and Microservices meetup

Multiprotocol

Page 31: Auckland API and Microservices meetup

Standard Message Format / Structure

Page 32: Auckland API and Microservices meetup

Central Logging and Monitoring

Page 33: Auckland API and Microservices meetup

Automate

Page 34: Auckland API and Microservices meetup

Design for Failure

Page 35: Auckland API and Microservices meetup

Glue

Page 36: Auckland API and Microservices meetup

“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!?

Page 37: Auckland API and Microservices meetup

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

Page 38: Auckland API and Microservices meetup

Culture

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

Page 39: Auckland API and Microservices meetup

“We don’t need an ESB now”

“One service one container”

“Interconnected system of web services”

“All or nothing”

Page 40: Auckland API and Microservices meetup
Page 41: Auckland API and Microservices meetup

Obligatory container stock photo