Cloud-Native Applications with Microservices and Containers

Post on 23-Jan-2017

179 views 2 download

transcript

Daniel Berg ・ danberg@us.ibm.com ・ @dancbergIBM Distinguished Engineer, Cloud PlatformJune 2016

Cloud-Native ApplicationsMicroservices implemented with Containers

IBM Confidential

An engineering approach focused on decomposing an application into single-function modules with well defined interfaces which are independently deployed and operated by a small team who owns the entire lifecycle of the service.

Microservices accelerate delivery by minimizing communication and coordination between people while reducing the scope and risk of change.

Microservices

Jason McGee, IBM Fellow and VP, CTO Cloud Platform

High Cohesion&

Low Coupling

Compare…

Monolithic application

Silo logic

Silo data

Microservicecomponent

Microservicecomponent

Microservicecomponent

Microservices application

Evolution to a Microservices ArchitecturePlatform-enabled Microservices

ServicesTier

Cloud ServiceCloud

Service

CloudServices

Edge Proxy

Application selection Version & Instance selection Admission Control

Service Discovery

Active Deploy

Build Service

RepositoryContainer Service

MicroServiceMicroService

MicroServiceMicro

Service

MicroServiceMicro

Service

MicroServiceMicro

Service

MicroServiceMicroService

Service Proxy

Version & Instance selection

Admission Control

AutoScaler

• Failures WILL happen

• Their root causes can be complex and affect different number of users

• Reduce the likelihood of correlated failures

• Recover quickly

• Proactive detection of problems before they happen

Causes for failuresDatacenter

Server Rack

Server

Virtual Server

Code

Request

Compose and Orchestrate your Polyglot Microservices with Amalgam8

Platform & Runtime Independent

Multi-Tenancy Supported

Shortens Development Cycles• Simplified Service Discovery & Load Balancing• Red/Black Deployment & Canary Testing

Visit amalgam8.io orgithub.com/amalgam8

References

Driving innovation within an enterprise acting like a startup

Patterns for building resilient and robust applications

Administrating cloud native applications

A view into the cultural challenges of adopting DevOps and best practices

THANK YOU