Using AWS to Build a Large Scale Dockerized Microservices Architecture. Dr. Oliver Wahlen moovel Group GmbH Frankfurt, 30.

Similar documents
Reactive Microservices Architecture on AWS

Microservices Architekturen aufbauen, aber wie?

Microservices on AWS. Matthias Jung, Solutions Architect AWS

AALOK INSTITUTE. DevOps Training

Zero to Microservices in 5 minutes using Docker Containers. Mathew Lodge Weaveworks

Training on Amazon AWS Cloud Computing. Course Content

The Long Road from Capistrano to Kubernetes

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

How the Cloud is Enabling the Disruption of the Construction Industry. AWS Case Study Construction Industry. Abstract

Wrapp. Powered by AWS EC2 Container Service. Jude D Souza Solutions Wrapp Phone:

DEVOPS COURSE CONTENT

Develop and test your Mobile App faster on AWS

Containers and the Evolution of Computing

Enroll Now to Take online Course Contact: Demo video By Chandra sir

DISTRIBUTED SYSTEMS [COMP9243] Lecture 8a: Cloud Computing WHAT IS CLOUD COMPUTING? 2. Slide 3. Slide 1. Why is it called Cloud?

ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS

LINUX, WINDOWS(MCSE),

Security Aspekts on Services for Serverless Architectures. Bertram Dorn EMEA Specialized Solutions Architect Security and Compliance

Amazon Search Services. Christoph Schmitter

PrepAwayExam. High-efficient Exam Materials are the best high pass-rate Exam Dumps

DevOps Tooling from AWS

Getting Started With Amazon EC2 Container Service

Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2

Introduction to Cloud Computing

Module Day Topic. 1 Definition of Cloud Computing and its Basics

Zombie Apocalypse Workshop

Using DC/OS for Continuous Delivery

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

Introduction to cloud computing

Serverless Architecture Hochskalierbare Anwendungen ohne Server. Sascha Möllering, Solutions Architect

ActiveNET. #202, Manjeera Plaza, Opp: Aditya Park Inn, Ameerpetet HYD

DevOps on AWS Deep Dive on Continuous Delivery and the AWS Developer Tools

Building a Microservices Platform, Patterns and Best Practices

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

API, DEVOPS & MICROSERVICES

Containers or Serverless? Mike Gillespie Solutions Architect, AWS Solutions Architecture

Microservices without the Servers: AWS Lambda in Action

CLUSTERING HIVEMQ. Building highly available, horizontally scalable MQTT Broker Clusters

Elastic Load Balancing

DevOps Course Content

How can you implement this through a script that a scheduling daemon runs daily on the application servers?

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

CONTINUOUS DELIVERY WITH MESOS, DC/OS AND JENKINS

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

Introduction to AWS GoldBase. A Solution to Automate Security, Compliance, and Governance in AWS

Running MarkLogic in Containers (Both Docker and Kubernetes)

Scaling on AWS. From 1 to 10 Million Users. Matthias Jung, Solutions Architect

The four forces of Cloud Native

GoDocker. A batch scheduling system with Docker containers

Use Case: Scalable applications

Pursuit of stability. Growing AWS ECS in production. Alexander Köhler Frankfurt, September 2018

Kuberiter White Paper. Kubernetes. Cloud Provider Comparison Chart. Lawrence Manickam Kuberiter Inc

/ Cloud Computing. Recitation 5 February 14th, 2017

Cloud Monitoring as a Service. Built On Machine Learning

Amazon Web Services. Block 402, 4 th Floor, Saptagiri Towers, Above Pantaloons, Begumpet Main Road, Hyderabad Telangana India

Amazon Linux: Operating System of the Cloud

Accenture Cloud Platform Serverless Journey

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

STATE OF MODERN APPLICATIONS IN THE CLOUD

Microservices at Netflix Scale. First Principles, Tradeoffs, Lessons Learned Ruslan

Application monitoring with BELK. Nishant Sahay, Sr. Architect Bhavani Ananth, Architect

Container Orchestration on Amazon Web Services. Arun

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo

@joerg_schad Nightmares of a Container Orchestration System

Cloud security 2.0: Joko nyt pilveen voi luottaa?

AWS Administration. Suggested Pre-requisites Basic IT Knowledge

AWS 101. Patrick Pierson, IonChannel

The Art of Container Monitoring. Derek Chen

What is Cloud Computing? What are the Private and Public Clouds? What are IaaS, PaaS, and SaaS? What is the Amazon Web Services (AWS)?

Architecting for Scale

Crypto-Options on AWS. Bertram Dorn Specialized Solutions Architect Security/Compliance Network/Databases Amazon Web Services Germany GmbH

Application Centric Microservices Ken Owens, CTO Cisco Intercloud Services. Redhat Summit 2015

Amazon Web Services (AWS) Solutions Architect Intermediate Level Course Content

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

Nevin Dong 董乃文 Principle Technical Evangelist Microsoft Cooperation

Designing Fault-Tolerant Applications

Kuber-what?! Learn about Kubernetes

Monitor your containers with the Elastic Stack. Monica Sarbu

AWS Course Syllabus. Linux Fundamentals. Installation and Initialization:

Experiences with Serverless Big Data

Expected Learning Outcomes Introduction To AWS

SBB. Java User Group 27.9 & Tobias Denzler, Philipp Oser

WHITEPAPER AMAZON ELB: Your Master Key to a Secure, Cost-Efficient and Scalable Cloud.

Cloud Security Best Practices

Securely Access Services Over AWS PrivateLink. January 2019

Cloud Computing. Amazon Web Services (AWS)

Think Small to Scale Big

NGINX: From North/South to East/West

Going Serverless. Building Production Applications Without Managing Infrastructure

Getting Started With Serverless: Key Use Cases & Design Patterns

How to re-invent your IT Architecture. André Christ, Co-CEO LeanIX

What s New in Red Hat OpenShift Container Platform 3.4. Torben Jäger Red Hat Solution Architect

/ Cloud Computing. Recitation 5 September 26 th, 2017

Elastic Efficient Execution of Varied Containers. Sharma Podila Nov 7th 2016, QCon San Francisco

Important DevOps Technologies (3+2+3days) for Deployment

At Course Completion Prepares you as per certification requirements for AWS Developer Associate.

Getting Started with AWS Security


DOCKER 101 FOR JS AFFICIONADOS. Christian Ulbrich, Zalari UG

Transcription:

Using AWS to Build a Large Scale Dockerized Microservices Architecture Dr. Oliver Wahlen moovel Group GmbH Frankfurt, 30. Juni 2016

The moovel Group GmbH Our vision is an ecosystem that simplifies mobility now solves the mobility challenges of the future

Mobility as a Service Urban areas will become more crowded: Today 54% of people live in cities In 2050 there will be 66% More people on less space Driving and parking will become more regulated High demand for new transportation concepts Autonomous driving will become reality: Taxi and car sharing business will change completely Cost efficiency similar to public transport but faster Owning a car becomes less relevant The future will be Mobility as a Service

moovel Entwicklung Technology 3: Autonomes Fahren We are building apps, widgets and services that integrate existing transportation providers Benefits for the user: Only one registration: no need to remember passwords or provide payment data several times Transparency on mobility alternatives Intermodal routing Benefits for the partners: Get new users from other mobility providers Get new users from different geographic regions Wir verändern die Art, wie wir uns fortbewegen.

Design Entwicklung Goals 3: of Autonomes Our System Fahren Architecture Scalability up to millions of users Future prove: Easy to modify components and update technologies Usable on global scale Minimal operational effort Teams can develop independently Wir verändern die Art, wie wir uns fortbewegen.

Avoid Entwicklung Vendor 3: Lock-In Autonomes vs. Reduced Fahren Operational Effort Services currently used by moovel Wir verändern die Art, wie wir uns fortbewegen.

What Entwicklung and Why 3: Autonomes Docker? Fahren Docker Containers Provide application(s) with a virtual operating system Isolate applications from the host OS and other docker containers (e.g. Files, Network) Are self contained run on any machine without other installs Are simple to build images reference a base image Docker Registry Stores docker images produced by the build system Provides access control and maintenance of tags Dockerhub (Docker Inc.) vs. Amazon EC2 Container Registry

What Entwicklung and Why 3: Autonomes EC2 Container Fahren Service (ECS)? ECS is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster of Amazon EC2 instances. AWS documentation Technology similar to Kubernetes on Google Container Engine but tailored for AWS and fully managed Terminology ECS cluster: Group of EC2 instances that allow docker execution ECS container instance: EC2 instance with ECS container agent ECS task: The running docker container on an instance ECS task definition: docker image, CPU, mem, port requirements, ECS service: number of parallel tasks, scalability, health checks,

What Entwicklung and Why 3: Autonomes Microservices? Fahren Web Service Docker Task = ECS Task EC2 Instance Services independently deployable Continuous Deployment Scalable on service level Specific to service needs: CPU, memory Services have firm boundary allows for: different languages per service different teams per service group evolution of logic and technology ECS Cluster http://martinfowler.com/articles/microservices.html

Conway s Entwicklung Law 3: And Autonomes Microservices: FahrenA Good Fit Organizations which design systems [...] are constrained to produce designs which are copies of the communication structures of these organizations Product Owner Search Squad Book Squad User Squad Pay Squad Melvin Conway 1967 App-Developers Backend-Devs moovel product dev is organized in squads (feature teams): with a long term business vision ability to build and modularize mobile apps / componets build their own set of microservices choose the technology that best fits their needs

Continuous EntwicklungIntegration 3: Autonomes with Fahren Docker and AWS Build Path code push to triggers dockerfile.tgz Developer Version Control SaaS Build System S3 Bucket Deployment Path Deployment triggers: develop branch: automatic master branch: manually docker image push to start update update docker SaaS Build System Dockerhub Cloudformation Elastic Container Services: dev/prod

moovel Entwicklung System 3: Autonomes ArchitectureFahren Client App moovel VPC Consul service discovery client load balancing service configuration External ELB TLS termination Kong API Gateway reverse proxying LUA plugins logging Kinesis ELK Stack synchronous REST call asynchronously publish changes ECS microservice SNS Topic SQS Queue

Limitations Entwicklung of 3: Existing Autonomes Solution Fahren Difficult to realize dynamic port allocation Currently each service has a fixed port Two levels of scaling introduce additional complexity: Cluster nodes = No. of EC2 instances ECS Tasks = No. of running Docker containers for a service had to introduced a custom metric taskless instance count Service discovery with Consul: Automates node and service registry Provides hierarchical key value store with ACL for configuration Consul is a very critical component Must be operated and maintained Kong API gateway: Extremely flexible and powerful nginx based reverse proxy Requires cassandra DB Must be operated and maintained Elasticsearch Logstash Kibana (ELK): Do not use it for long term data storage!

Check-up Entwicklung of Design 3: Autonomes Goals Fahren Scalability moovel runs 80 services on 21 ECS clusters (dev+prod) Future prove Exchanging microservice technology is easy We have microservices in Java, Node.js, Python, Kotlin, Global Scale The world is currently operated from eu-west-1 Pub/Sub is good starting point for multi region deployment Minimal Operational Effort Technology is operated by 10 squads Currently no DevOps team needed: squads build it and run Deployments are easy, frequently done and without downtime Teams can develop independently Technology is operated by 10 squads Microservices, REST and Pub/Sub are a good basis UI decomposition in app is difficult: modularization ongoing

Thank You