• No results found

Microservices on AWS

N/A
N/A
Protected

Academic year: 2021

Share "Microservices on AWS"

Copied!
51
0
0

Loading.... (view fulltext now)

Full text

(1)

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Matthias Jung, Solutions Architect Julien Simon, Evangelist

April, 12th, 2016

Microservices on AWS

AWS Summit Berlin 2016

(2)

Agenda

What are Microservices? Why Microservices?

Challenges of Microservices Microservices on AWS

(3)
(4)

What are Microservices?

(5)

What are Microservices?

Related concepts

• Service Oriented Architectures • API First

• Agile Software Development • Continuous Delivery

(6)

Characteristics of Microservice Architectures

Do one

thing well

Independent

Decentralized

Black Box

Polyglot

You build it,

(7)
(8)

Why Microservices?

Gilt: “From Monolith Ruby App to Distributed Scala Micro-Services” (NYC

Tech Talks) [Link]

Nike: “Nike’s Journey to Microservices” (AWS Re:Invent 2014) [Link]

SoundCloud: ”Building Products at SoundCloud - Part III: Microservices in

Scala and Finagle” [Link]

Capital One: “Lack Of Legacy Lets Capital One Build Nimble

Infrastructure” [Link]

Hailo: “A Journey into Microservices” [Link]

Autoscout24: “Why Autoscout24 changes its technology” [Link]

(9)

Microservices

Monolith

vs

(10)

Problems of Monolithic Architectures

Code complexity and maintainability Deployment becomes the bottleneck Fear to change

Lack of ownership

Failure dependencies

One size doesn’t fit all (ex: relational DB) Hard to scale out

(11)

Problems of Monolithic Architectures

Code complexity and maintainability

Deployment becomes the bottleneck Fear to change

Lack of ownership

Failure dependencies

One size doesn’t fit all (ex: relational DB) Hard to scale out

(12)
(13)
(14)

Benefits of Microservices

Speed

• Faster development and deployment

Innovation

• Autonomy of teams, culture of change • Ownership and DevOps culture

Quality

• Composability and reusability • More maintainable code

• Better scaling and optimizations • Failure Isolation and Resiliency

(15)

What Customers Say

“Avoid fear to change things”

“Applied SE best practices to operations”

“Easily switch between synchronous and asynchronous communication”

“Easy to start new things from scratch”

“People take ownership”

(16)

The Amazon DevOps Story

(17)
(18)

Service-Oriented Architecture (SOA) Everything gets a service interface Primitives “Microservices”

(19)

Decentralized Two-pizza teams Agility, autonomy, accountability, and ownership “DevOps”

(20)

Decentralized Ownership Promote Best Practices

No gatekeepers

Technology Agnostic Support Agile

(21)

~11.6s Mean time between deployments (weekday) ~1,079 Max number of deployments in a single hour ~10,000 Mean number of hosts simultaneously receiving

a deployment

~30,000 Max number of hosts simultaneously receiving

a deployment

DEPLOYMENTS AT

(22)
(23)

Challenges of Microservices

Complexity in

Code Base

Complexity in

Interactions

(24)

Complexity in Interactions

Authentication?

Eventual Consistency?

Cascading Failures?

Discovery?

Message Routing?

Transactions?

Testing?

Monitoring?

API Management?

Delay?

(25)

Challenges of Microservices

One size

doesn’t fit all

Heterogenity

No Standards

(26)

Challenges

Organizational Cultural Challenges

• You built it, you run it

Architectural Challenges

• Dealing with asynchronicity • Cascading failures

• Discovery and authentication of services • Integration Tests

Operational Challenges

• Duplication of processes and tools

• Complexity moves from components to interactions • Debugging across components

(27)
(28)

How Can AWS Help with

Operational Complexity

?

• On Demand Resources

• no capacity guessing • resources in any size • parallel environments

(29)

How Can AWS Help with

Operational Complexity

?

• On Demand Resources • Managed Services

(30)

Storage Options in the Traditional World

FS Blocks Static Assets Meta Data Temp Files Data Blobs Event Logs Search Indices Struct. Data NFS Relational Database Back-Ups

(31)

Storage Options in the Cloud

FS Blocks Static Assets Meta Data Temp Files Data Blobs Event Logs Search Indices Struct. Data Back-Ups Amazon S3

Amazon EBS EC2 StorageEphemeral CloudFront Amazon Glacier DynamoDB

Amazon RDS Amazon CloudSearch

Amazon Kinesis

(32)

Don’t Reinvent the Wheel

Notification system E-Mail component Search engine Workflow engine Queue Transcoding system Monitoring system Amazon CloudSearch Amazon SQS Amazon SNS Amazon Elastic Transcoder Amazon SWF Amazon SES

If you find yourself writing your own…

(33)

How Can AWS Help with

Operational Complexity

?

• On Demand Resources • Managed Services

• Built-in features

• Monitoring via CloudWatch

• Security: IAM, CloudTrail, KMS, … • Logging: CloudWatch Logs

• Scalability: Auto-Scaling, ELB, S3, … • Availability: multiple Availability Zones

(34)

Amazon ECS Amazon CloudWatch Logs Amazon EC2 AWS Lambda Amazon Kinesis Firehose Amazon Redshift Amazon QuickSight

(35)

Amazon ECS Amazon CloudWatch Logs Amazon EC2 AWS Lambda Amazon Elasticsearch Kibana

(36)

How Can AWS Help with

Operational Complexity

?

• On Demand Resources • Managed Services

• Built-in features

• monitoring, security, logging, … • scalability, availability, …

• Everything Programmable

(37)

How Can AWS Help with

Operational Complexity

?

• On Demand Resources • Managed Services

• Built-in features

• monitoring, security, logging, … • scalability, availability, …

• Everything Programmable • Infrastructure as Code

(38)

How Can AWS Help with

Operational Complexity

?

• On Demand Resources • Managed Services

• Built-in features

• monitoring, security, logging, … • scalability, availability, …

• Everything Programmable • Infrastructure as Code

• No Servers

(39)

How Can AWS Help with

Operational Complexity

?

- Run code without infrastructure - Backend at any scale

- No administration

- JavaScript, Java, and Python

(40)

How Can AWS Help with

Managing APIs

?

- Managing multiple versions and stages? - Monitoring 3rd party developer access?

- Access authorization? - Traffic spikes ?

(41)

How Can AWS Help with

Managing APIs

?

- Managing multiple versions and stages - Monitoring 3rd party developer access

- Access authorization - Traffic spikes - Caching - Swagger Support - Request/Response Transformation - API Mocking API Gateway

(42)

Monitor Provision Deploy Test Build Code Elastic Beanstalk OpsWorks Cloud Watch Cloud Formation Code Deploy Code Commit Code Pipeline

(43)
(44)

A Typical Microservice Architecture on AWS

S3 CloudFront RDS ElastiCache EC2 Elastic Load Balancing EC2 Elastic Load Balancing Static Content Content Delivery API Layer Application Layer Persistency Layer Auto Scaling group Auto Scaling group

(45)

A Typical Microservice Architecture on AWS

S3 CloudFront RDS ElastiCache EC2 Elastic Load Balancing Static Content Content Delivery API Layer Application Layer Persistency Layer Auto Scaling group API Gateway

(46)

A Typical Microservice Architecture on AWS

S3 CloudFront RDS ElastiCache EC2 Elastic Load Balancing Static Content Content Delivery API Layer Application Layer Persistency Layer API Gateway EC2 Container Service Auto Scaling group

(47)

A Typical Microservice Architecture on AWS

S3 CloudFront EC2 Elastic Load Balancing Static Content Content Delivery API Layer Application Layer Persistency Layer API Gateway EC2 Container Service Auto Scaling group DynamoDB

(48)

A Typical Microservice Architecture on AWS

S3 CloudFront Static Content Content Delivery API Layer Application Layer Persistency Layer API Gateway DynamoDB AWS Lambda

(49)

A Typical Microservice Architecture on AWS

S3 CloudFront Static Content Content Delivery API Layer Application Layer Persistency Layer API Gateway DynamoDB AWS Lambda

(50)
(51)

References

Related documents

In addition, public sector project managers work in environment which very often is not familiar with results-oriented project management, and are constantly dealing with

Since SLPs are trained in the foundations of language, including phonology and morphology, it may be that the SLP is the natural choice to aid general educators in teaching

We used the previously ex- plored exponential functions that capture age-related changes in the measures of performance (WS, VORP, and PER), but we also included the playing position

Calibration is successful when the total number of customers that travel in Airline-EVOS matches—within some accuracy threshold—the number of customers that travel in TSAM,

The scope of services covered in this report includes AWS CloudHSM, AWS Direct Connect, Amazon DynamoDB, Amazon Elastic Block Store (EBS), Amazon Elastic Cloud Compute (EC2),

As seen in figure 1 , lower ozone abundances are overall observed in winters without a major sudden stratospheric warming, as compared to winters with them, while the

Property: New insurers entered the local property market, bringing increased capacity and therefore competition for business so small rate reductions have been possible in the

This is perhaps the most complicated stage of design. The winning design proposal is reviewed in details; alterations are made as necessary in order to optimise the design.