The Idiot s Guide to Quashing MicroServices. Hani Suleiman

Similar documents
Capacity metrics in daily MySQL checks. Vladimir Fedorkov MySQL and Friends Devroom FOSDEM 15

Container 2.0. Container: check! But what about persistent data, big data or fast data?!

Containers Infrastructure for Advanced Management. Federico Simoncelli Associate Manager, Red Hat October 2016

Spam. Time: five years from now Place: England

Building a Data-Friendly Platform for a Data- Driven Future

Clickbank Domination Presents. A case study by Devin Zander. A look into how absolutely easy internet marketing is. Money Mindset Page 1

Security Automation Best Practices

Sucuri Webinar Q&A HOW TO IDENTIFY AND FIX A HACKED WORDPRESS WEBSITE. Ben Martin - Remediation Team Lead

Microservices stress-free and without increased heart-attack risk

CONTAINER CLOUD SERVICE. Managing Containers Easily on Oracle Public Cloud

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

This video is part of the Microsoft Virtual Academy.

Microservices with Red Hat. JBoss Fuse

Pimp My Data Grid. Brian Oliver Senior Principal Solutions Architect <Insert Picture Here>

The SD-WAN implementation handbook

Understanding Managed Services

15 Minute Traffic Formula. Contents HOW TO GET MORE TRAFFIC IN 15 MINUTES WITH SEO... 3

Python & Web Mining. Lecture Old Dominion University. Department of Computer Science CS 495 Fall 2012

Servers & Developers. Julian Nadeau Production Engineer

Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's

Kuber-what?! Learn about Kubernetes

Actian Hybrid Data Conference 2017 London Actian Corporation

Actifio Test Data Management

GOING FULLY SERVERLESS

SUSE s vision for agile software development and deployment in the Software Defined Datacenter

CLOUD WORKLOAD SECURITY

Everything you need to know about cloud. For companies with people in them

What is Standard APEX? TOOLBOX FLAT DESIGN CARTOON PEOPLE

Effective Data Pipelines: Data Management from Chaos

31 Copy And Paste Swipes

Modern and Fast: A New Wave of Database and Java in the Cloud. Joost Pronk Van Hoogeveen Lead Product Manager, Oracle

Best Practices to Transition to the Cloud. Five ways to improve IT agility and speed development by adopting a Cloud DevOps approach

Independent Solution Review AppEnsure for Citrix Monitoring

The Root Cause of Unstructured Data Problems is Not What You Think

FOR A WALL STREET INVESTMENT BANK JOSH WEST SOLUTIONS ARCHITECT RED HAT FINANCIAL SERVICES

COMP 215: INTRO TO PROGRAM DESIGN. Prof. Chris Jermaine Chris Prof. Chris Dr. Chris

Implementing Microservices Tracing with Spring Cloud and Zipkin

Persistent Storage with Docker in production - Which solution and why?

Hooking Stuff Together Software Development in the Age of the Cloud

Elizabeth Lawler CEO & Co-Founder Conjur,

Event Streams using Apache Kafka

The Value of Values. Rich Hickey Datomic, Clojure

Dynamic What? I m Dynamic, Aren t You? Andrew Chapman & Sam Knutson VP Product Management CA Technologies

SECURITY AUTOMATION BEST PRACTICES. A Guide on Making Your Security Team Successful with Automation SECURITY AUTOMATION BEST PRACTICES - 1

Up and Running Software The Development Process

How to master hybrid IT. Get the speed and agility you want, with the visibility and control you need

Win-Back Campaign- Re-Engagement Series

Reactive Java: Promises and Streams with Reakt. Geoff Chandler and Rick Hightower

Oh.. You got this? Attack the modern web

Cold, Hard Cache KV? On the implementation and maintenance of caches. who is

Operating Within Normal Parameters: Monitoring Kubernetes

Going cloud-native with Kubernetes and Pivotal

The Information Company for Storage Professionals

Mo Metrics, Mo Problems? Our guide to marketing metrics

RadiantBlue Technologies, Inc. Page 1

Disaster Recovery Planning

Hybrid Infrastructure Hosting Clouds + Dedicated + Colocated GoGrid / ServePath September 09

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

Gibson: 3D Visualization and Modeling of Real Time Security Events. Dan Klinedinst

COMP390 (Design &) Implementation

Top five Docker performance tips

Think Small to Scale Big

Developers and DBAs. Farmers and City Slickers have different mindsets

Microservice Splitting the Monolith. Software Engineering II Sharif University of Technology MohammadAmin Fazli

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

Agile Israel Feature Driven Development

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience

Datacenter Care HEWLETT PACKARD ENTERPRISE. Key drivers of an exceptional NPS score

CIO 24/7 Podcast: Tapping into Accenture s rich content with a new search capability

New website and new features are you making the most of your space?

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners

From the past to the future: How to make the move from ISDN to SIP

Introducing Jaeger 1.0

CASE STUDY IT. Albumprinter Adopting Redgate DLM

SEMANTIC NETWORK AND SEARCH IN VEHICLE ENGINEERING

Making the Case for Cloud-to-Cloud Backup

Building a government cloud Concepts and Solutions

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. reserved. Insert Information Protection Policy Classification from Slide 8

Design Micro Service Architectures the Right Way

Architectural challenges for building a low latency, scalable multi-tenant data warehouse

From the past to the future: how to make the move from ISDN to SIP

The Fat-Free Guide to Conversation Tracking

ITP 140 Mobile Technologies. Build vs. Buy

VMware Disaster Recovery

BUSTED! 5 COMMON MYTHS OF MODERN INFRASTRUCTURE. These Common Misconceptions Could Be Holding You Back

Tieto s itap Offering

Need Help? Page 1 of 36 WORK

Services: Monitoring and Logging. 9/16/2018 IST346: Info Tech Management & Administration 1

Applications orientées événements et traitement sans serveur ( serverless ) Catherine Ezvan Senior Certified IT Specialist IBM Cloud

Zabbix on a Clouds. Another approach to a building a fault-resilient, scalable monitoring platform

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the

The Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering

Security Profiles of the CISO. Vanessa Pegueros DocuSign Enterprise Security & Risk

CATCH ERRORS BEFORE THEY HAPPEN. Lessons for a mature data governance practice

Monitoring Tool Made to Measure for SharePoint Admins. By Stacy Simpkins

Copyright 2018, Oracle and/or its affiliates. All rights reserved.

Cisco Tetration Analytics

Docker and Oracle Everything You Wanted To Know

Transcription:

The Idiot s Guide to Quashing MicroServices Hani Suleiman

The Promised Land Welcome to Reality Logging HA/DR Monitoring Provisioning Security Debugging Enterprise frameworks Don t Panic

WHOAMI I wrote a book about testing It s pretty irrelevant for this talk, but buy it anyway I had a blog It had very many bad words, do not look it up CTO But not anymore Twitter @bileblog

WHOAMI What makes me an expert? I m not I ve screwed this up many times so you don't have to I work with big banks

AN AWKWARD CONVERSATION Yes, this really happened. The following movie is basely on real life events at a very large investment bank. I was one of the people getting shouted at. https://youtu.be/q65q1mi5jtw

TL;DR If you hate microservices, use these points to ensure you never have to use them If you love microservices, make sure you have sensible answers to these points before suggesting adoption

THE PROMISED LAND Infinite linear scalability Well defined contracts Unix philosophy (do one thing well and play nice with others) Faster releases Team scalability Everything fits in your head

WELCOME TO REALITY Something went wrong, where do I look? How do I reproduce an error? The unix analogy is crap The audit guys found out we re using unauthenticated http between services. They are first sad, then angry I m only allowed to use our enterprise DB for storage I need a new server and I m told if all goes well it ll be here in 2 months, then another 2 to get it production ready

LOGGING Many services logging to different files How do we correlate logs? Where do I start looking?

LOGGING You should never need to log in a server to view logs You must aggregate Logs must be semi-structured Consider ELK stack if you re poor, Splunk if you have budget

HIGH AVAILABILITY / DISASTER RECOVERY

HIGH AVAILABILITY/DISASTER RECOVERY Differing SLAs across services Different loads Trade off between scalability and performance

HIGH AVAILABILITY/DISASTER RECOVERY You probably need a service locator. Sorry Consul Zookeeper etcd State is the root of all evil Use a modern distributed messaging system like Kafka Consumers pick their own rates Recovery from a point in time Easy replay

MONITORING

MONITORING Many more processes to keep track of now Knock-on impact of related services Multiple SLAs Proactive vs reactive

MONITORING Need both aggregate and drill down views Once a minute is not enough Correlation with logs Historic, not just point in time

PROVISIONING

PROVISIONING Too many services to rely on manual deployment unless you have a meat cloud. Complex interactions/orchestration Different deployment profiles Deploy just this service Deploy these related services Deploy the world

PROVISIONING Agile hardware moves from nice to have to must have Decouple configuration from application Use a configuration management solution Puppet Chef Ansible Do not roll your own

SECURITY

SECURITY I have to worry about security IN my application now?! Multiple data stores I ve gone polyglot, and now I need to learn about security across so very many frameworks and libraries That s ok, I can just google for best practices Not so much

SECURITY Principal propagation Service authorization/authentication Secure communications Logging and monitoring, again

DEBUGGING

FAILURE MODES What happens if a service is down? Local caches for lookups Use queues for fire and forget services What happens if a service is slow? Your awesome proactive monitoring will alert you What happens if I have at-least-once semantics? Make your services idempotent What happens if a service is wrong? You re screwed

DEBUGGING Debugging a distributed system is stupidly difficult Two services both think they re right, together they re wrong Fatal failures are awesome Non-fatal failures need tooling to reproduce state Journal of state events needed to get us to the bad state Dynamic instrumentation to interrogate a naughty service

ENTERPRISE FRAMEWORKS

ENTERPRISE FRAMEWORKS Enterprises love frameworks but individuals love libraries, guess who wins? Frameworks impose constraints on your service You must use JMS and MQSeries You must use Oracle Domain objects must be modeled by our modeling czar API contracts must be approved by the Subcommittee for API Contract Approvals Insert business logic here Too easy to fall into shared state

DON T PANIC You don t need all this stuff to get started You do need to keep it in mind and be able to make sensible noises when asked Most of these concerns are orthogonal, different teams can work on them in parallel There are frameworks that simplify some of these things (Kubernetes and friends)