Microservices on AWS



Similar documents
Razvoj Java aplikacija u Amazon AWS Cloud: Praktična demonstracija

Introduction to AWS in Higher Ed

AIST Data Symposium. Ed Lenta. Managing Director, ANZ Amazon Web Services

Thing Big: How to Scale Your Own Internet of Things.

Introduction to Amazon Web Services! Leo Senior Solutions Architect

Amazon Web Services. Lawrence Berkeley LabTech Conference 9/10/15. Jamie Baker Federal Scientific Account Manager AWS WWPS

EEDC. Scalability Study of web apps in AWS. Execution Environments for Distributed Computing

Architecture Statement

Scalable Application. Mikalai Alimenkou

How To Use Aws.Com

Introduction to DevOps on AWS

Amazon Web Services Annual ALGIM Conference. Tim Dacombe-Bird Regional Sales Manager Amazon Web Services New Zealand

Managed Amazon Web Services

Innovative Geschäftsmodelle Ermöglicht durch die AWS Cloud

LONDON. 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved

Primex Wireless OneVue Architecture Statement

Scalability in the Cloud HPC Convergence with Big Data in Design, Engineering, Manufacturing

Cloud Computing with Amazon Web Services and the DevOps Methodology.

How To Manage An Orgsync Database On An Amazon Cloud 2 Instance

ur skills.com

Last time. Today. IaaS Providers. Amazon Web Services, overview

CAPTURING & PROCESSING REAL-TIME DATA ON AWS

AWS IaaS Services. Methods Digital GCloud Service Definition

AWS Cloud for HPC and Big Data

TECHNOLOGY WHITE PAPER Jun 2012

Amazon Web Services Yu Xiao

Learning Management Redefined. Acadox Infrastructure & Architecture

Last time. Today. IaaS Providers. Amazon Web Services, overview

TECHNOLOGY WHITE PAPER Jan 2016

Hadoop & Spark Using Amazon EMR

BERLIN. 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved

CLOUD COMPUTING WITH AWS An INTRODUCTION. John Hildebrandt Solutions Architect ANZ

Amazon Web Services Student Tutorial

AWS Directory Service. Simple AD Administration Guide Version 1.0

DevOps with Containers. for Microservices

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

SAS BIG DATA SOLUTIONS ON AWS SAS FORUM ESPAÑA, OCTOBER 16 TH, 2014 IAN MEYERS SOLUTIONS ARCHITECT / AMAZON WEB SERVICES

Scaling in the Cloud with AWS. By: Eli White (CTO & mojolive) eliw.com - mojolive.com

AWS Performance Tuning

Low-cost Open Data As-a-Service in the Cloud

Intro to AWS: Storage Services

Node Without Servers: Event-Driven Computing with AWS Lambda

Preparing Your IT for the Holidays. A quick start guide to take your e-commerce to the Cloud

Deep Dive: Infrastructure as Code

Background on Elastic Compute Cloud (EC2) AMI s to choose from including servers hosted on different Linux distros

Running Oracle Applications on AWS

Web Application Hosting in the AWS Cloud Best Practices

Understanding AWS Storage Options

Designing Apps for Amazon Web Services

Java PaaS Enabling CI, CD, and DevOps

The Cloud as a Computing Platform: Options for the Enterprise

HADOOP BIG DATA DEVELOPER TRAINING AGENDA

Scalable Architecture on Amazon AWS Cloud

Migration Scenario: Migrating Backend Processing Pipeline to the AWS Cloud

Aleksandar Nenov. Devops Talk Belgrade 2015

CONNECTRIA MANAGED AMAZON WEB SERVICES (AWS)

PaaS - Platform as a Service Google App Engine

Logentries Insights: The State of Log Management & Analytics for AWS

Cloud and the future of Unemployment Sean Rhody, CTO Capgemini Government Solutions

Service Organization Controls 3 Report

Making Your ColdFusion Apps Highly Available. Brian Klaas Johns Hopkins Bloomberg School of Public Health

Real Time Big Data Processing

Amazon Web Services. Elastic Compute Cloud (EC2) and more...

A Comparison of Clouds: Amazon Web Services, Windows Azure, Google Cloud Platform, VMWare and Others (Fall 2012)

DLT Solutions and Amazon Web Services

Cost Optimization with AWS

Jinesh Varia Technology Evangelist Architectural Design Patterns in Cloud Computing

MICROSTRATEGY ON AWS

Building Hyper-Scale Platform-as-a-Service Microservices with Microsoft Azure. Patriek van Dorp and Alex Thissen

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

CLOUD COMPUTING FOR THE ENTERPRISE AND GLOBAL COMPANIES Steve Midgley Head of AWS EMEA

Why should you look at your logs? Why ELK (Elasticsearch, Logstash, and Kibana)?

Getting Started with AWS. Hosting a Static Website

Considerations for Adopting PaaS (Platform as a Service)

From the Monolith to Microservices: Evolving Your Architecture to Scale. Randy linkedin.com/in/randyshoup

AWS Benefits, Regions & Across. Paul Yung Head of Territory Development HK, Macau & TW pyung@amazon.com

Shadi Khalifa Database Systems Laboratory (DSL)

Connected Vehicles as things on the Internet. big data, the cloud, and advanced automotive research

AWS Toolkit for Visual Studio. User Guide Version v1.30

Getting Started with SAP BI on AWS

AWS Lambda. Developer Guide

Amazon Web Services Fredrik Rapp, Partner Manager. 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Alan Conley, John Belamaric. Bloxfest - Containers

Using ArcGIS for Server in the Amazon Cloud

Transcription:

Microservices on AWS AWS Summit Berlin 2016 Matthias Jung, Solutions Architect Julien Simon, Evangelist April, 12 th, 2016 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Agenda What are Microservices? Why Microservices? Challenges of Microservices Microservices on AWS Docker with ECR & ECS - Demo

What are Microservices?

What are Microservices? Google Trends

What are Microservices? Related concepts Service Oriented Architectures API First Agile Software Development Continuous Delivery DevOps

Characteristics of Microservice Architectures Decentralized Independent You build it, you run it Black Box Polyglot Do one thing well

Why Microservices?

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] Zalando: From Monolith to Microservices [Link]

vs Microservices Monolith

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

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

Problems of Monolithic Architectures

Development Life Cycle with Small Teams

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

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 Deploy more deploy faster deploy better code

The Amazon DevOps Story 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved

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

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

Promote Best Practices No gatekeepers Decentralized Ownership Support Agile SW Dev Lifecycle Technology Agnostic

DEPLOYMENTS AT AMAZON.COM ~11.6s ~1,079 ~10,000 ~30,000 Mean time between deployments (weekday) Max number of deployments in a single hour Mean number of hosts simultaneously receiving a deployment Max number of hosts simultaneously receiving a deployment

Challenges of Microservices

Challenges of Microservices Complexity in Code Base Complexity in Interactions

Complexity in Interactions Authentication? Eventual Consistency? Testing? Transactions? Message Routing? Delay? Monitoring? Discovery? API Management? Cascading Failures?

Challenges of Microservices One size doesn t fit all Heterogenity No Standards

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 Deployment

Microservices on AWS

How Can AWS Help with Operational Complexity? On Demand Resources no capacity guessing resources in any size parallel environments

How Can AWS Help with Operational Complexity? On Demand Resources Managed Services

Storage Options in the Traditional World Struct. Data Search Indices Meta Data Event Logs FS Blocks Temp Files Data Blobs Static Assets Back- Ups Relational Database NFS

Storage Options in the Cloud Struct. Data Search Indices Meta Data Event Logs FS Blocks Temp Files Data Blobs Static Assets Back- Ups Amazon RDS Amazon CloudSearch DynamoDB Amazon Kinesis Amazon EBS Ephemeral EC2 Storage Amazon S3 CloudFront Amazon Glacier

Don t Reinvent the Wheel If you find yourself writing your own Notification system E-Mail component Search engine Amazon SNS Amazon CloudSearch Amazon SQS Workflow engine Queue Transcoding system Monitoring system Amazon SES Amazon SWF Amazon Elastic Transcoder take a deep breath and stop it now!

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

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

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

How Can AWS Help with Operational Complexity? On Demand Resources Managed Services Built-in features monitoring, security, logging, scalability, availability, Everything Programmable AWS CLI & SDKs

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

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 AWS Lambda

How Can AWS Help with Operational Complexity? - Run code without infrastructure - Backend at any scale - No administration - JavaScript, Java, and Python AWS Lambda

How Can AWS Help with Managing APIs? - Managing multiple versions and stages? - Monitoring 3 rd party developer access? - Access authorization? - Traffic spikes? - Caching?

How Can AWS Help with Managing APIs? - Managing multiple versions and stages - Monitoring 3 rd party developer access - Access authorization - Traffic spikes - Caching - Swagger Support - Request/Response Transformation - API Mocking API Gateway

How Can AWS Help with Scaling Deployments? Code Build Test Deploy Provision Monitor Elastic Beanstalk Code Commit Code Pipeline OpsWorks Code Deploy Cloud Formation Cloud Watch

Microservice Architectures

A Typical Microservice Architecture on AWS Content Delivery API Layer Application Layer Persistency Layer ElastiCache CloudFront Elastic Load Balancing EC2 Elastic Load Balancing EC2 RDS Auto Scaling group Auto Scaling group S3 Static Content

A Typical Microservice Architecture on AWS Content Delivery API Layer Application Layer Persistency Layer ElastiCache CloudFront API Gateway Elastic Load Balancing EC2 RDS Auto Scaling group S3 Static Content

A Typical Microservice Architecture on AWS Content Delivery API Layer Application Layer Persistency Layer ElastiCache CloudFront API Gateway Elastic Load Balancing EC2 Container Service RDS S3 EC2 Static Content Auto Scaling group

A Typical Microservice Architecture on AWS Content Delivery API Layer Application Layer Persistency Layer CloudFront API Gateway Elastic Load Balancing EC2 Container Service DynamoDB S3 EC2 Static Content Auto Scaling group

A Typical Microservice Architecture on AWS Content Delivery API Layer Application Layer Persistency Layer CloudFront API Gateway AWS Lambda DynamoDB S3 Static Content

A Typical Microservice Architecture on AWS Content Delivery API Layer Application Layer Persistency Layer CloudFront API Gateway AWS Lambda DynamoDB S3 Static Content

Docker with ECR & ECS - Demo