69
How to enable the Lean Enterprise Johann Romefort co-founder @ rainbow

Lean Enterprise, Microservices and Big Data

Embed Size (px)

Citation preview

Page 1: Lean Enterprise, Microservices and Big Data

How to enable the Lean Enterprise

Johann Romefort co-founder @ rainbow

Page 2: Lean Enterprise, Microservices and Big Data

My Background

• Seesmic - Co-founder & CTO

Video conversation platform

Social media clients…lots of pivots :)

• Rainbow - Co-founder & CTO

Enterprise App Store

Page 3: Lean Enterprise, Microservices and Big Data

Goal of this presentation

• Understand what is the Lean Enterprise, how it relates to big data and the software architecture you build

• Have a basic understanding of the technologies and tools involved

Page 4: Lean Enterprise, Microservices and Big Data

What is the Lean Enterprise?

http://en.wikipedia.org/wiki/Lean_enterprise

“Lean enterprise is a practice focused on value creation for the end customer with minimal waste and processes.”

Page 5: Lean Enterprise, Microservices and Big Data

Enabling the OODA Loop

!

!

“Get inside your adversaries' OODA loop to disorient them” !

OBSERVE ORIENT DECIDE ACT

USAF Colonel John Boyd on Combat:

OODA Loop

Page 6: Lean Enterprise, Microservices and Big Data

Enabling the OODA LoopOODA Loop

Page 7: Lean Enterprise, Microservices and Big Data

The OODA Loop for software

image credit: Adrian Cockcroft

Page 8: Lean Enterprise, Microservices and Big Data

OODA Loop

• (Observe) Innovation and (Decide) Culture are mainly human-based

• Orient (BigData) and Act (Cloud) can be automated

Page 9: Lean Enterprise, Microservices and Big Data

ORIENT

Page 10: Lean Enterprise, Microservices and Big Data

What is Big Data?

• It’s data at the intersection of 3 V:

• Velocity (Batch / Real time / Streaming)

• Volume (Terabytes/Petabytes)

• Variety (structure/semi-structured/unstructured)

Page 11: Lean Enterprise, Microservices and Big Data

Why is everybody talking about it?

• Cost of generation of data has gone down

• By 2015, 3B people will be online, pushing data volume created to 8 zettabytes

• More data = More insights = Better decisions

• Ease and cost of processing is falling thanks to cloud platforms

Page 12: Lean Enterprise, Microservices and Big Data

Data flow and constraintsGenerate

Ingest / Store

Process

Visualize / Share

The 3 V involve heterogeneity and

make it hard to achieve those steps

Page 13: Lean Enterprise, Microservices and Big Data

What is AWS?

• AWS is a cloud computing platform

• On-demand delivery of IT resources

• Pay-as-you-go pricing model

Page 14: Lean Enterprise, Microservices and Big Data

Cloud Computing

+ +

StorageCompute Networking

Adapts dynamically to ever changing needs to stick closely

to user infrastructure and applications requirements

Page 15: Lean Enterprise, Microservices and Big Data

How does AWS helps with Big Data?

• Remove constraints on the ingesting, storing, and processing layer and adapts closely to demands.

• Provides a collection of integrated tools to adapt to the 3 V’s of Big Data

• Unlimited capacity of storage and processing power fits well to changing data storage and analysis requirements.

Page 16: Lean Enterprise, Microservices and Big Data

Computing Solutions for Big Data on AWS

Kinesis

EC2 EMR

Redshift

Page 17: Lean Enterprise, Microservices and Big Data

Computing Solutions for Big Data on AWS

EC2All-purpose computing instances.Dynamic Provisioning and resizingLet you scale your infrastructure at low cost

Use Case: Well suited for running custom or proprietary application (ex: SAP Hana, Tableau…)

Page 18: Lean Enterprise, Microservices and Big Data

Computing Solutions for Big Data on AWS

EMR

‘Hadoop in the cloud’

Adapt to complexity of the analysis and volume of data to process

Use Case: Offline processing of very large volume of data, possibly unstructured (Variety variable)

Page 19: Lean Enterprise, Microservices and Big Data

Computing Solutions for Big Data on AWS

Kinesis

Stream Processing

Real-time data

Scale to adapt to the flow of inbound data

Use Case: Complex Event Processing, click streams, sensors data, computation over window of time

Page 20: Lean Enterprise, Microservices and Big Data

Computing Solutions for Big Data on AWS

RedShift

Data Warehouse in the cloud

Scales to Petabytes

Supports SQL Querying

Start small for just $0.25/h

Use Case: BI Analysis, Use of ODBC/JDBC legacy software to analyze or visualize data

Page 21: Lean Enterprise, Microservices and Big Data

Storage Solution for Big Data on AWS

DynamoDB RedShift

S3 Glacier

Page 22: Lean Enterprise, Microservices and Big Data

Storage Solution for Big Data on AWS

DynamoDB

NoSQL DatabaseConsistent Low latency access Column-base flexible data model

Use Case: Offline processing of very large volume of data, possibly unstructured (Variety variable)

Page 23: Lean Enterprise, Microservices and Big Data

Storage Solution for Big Data on AWS

S3

Use Case: Backups and Disaster recovery, Media storage, Storage for data analysis

Versatile storage system

Low-cost

Fast retrieving of data

Page 24: Lean Enterprise, Microservices and Big Data

Storage Solution for Big Data on AWS

Glacier

Use Case: Storing raw logs of data. Storing media archives. Magnetic tape replacement

Archive storage of cold data

Extremely low-cost

optimized for data infrequently accessed

Page 25: Lean Enterprise, Microservices and Big Data

What makes AWS different when it comes to big data?

Page 26: Lean Enterprise, Microservices and Big Data

Given the 3V’s a collection of tools is most of the time needed for your data processing and storage.

Integrated Environment for Big Data

AWS Big Data solutions comes integrated with each others alreadyAWS Big Data solutions also integrate with the whole AWS ecosystem (Security, Identity Management, Logging, Backups, Management Console…)

Page 27: Lean Enterprise, Microservices and Big Data

Example of products interacting with each other.

Page 28: Lean Enterprise, Microservices and Big Data

Tightly integrated rich environment of tools

On-demand scaling sticking to processing requirements

+

=Extremely cost-effective and easy to deploy solution for big data needs

Page 29: Lean Enterprise, Microservices and Big Data

• Error Detection: Real-time detection of hardware problems

• Optimization and Energy management

Use Case: Real-time IOT Analytics

Gathering data in real time from sensors deployed in factory and send them for immediate processing

Page 30: Lean Enterprise, Microservices and Big Data

First Version of the infrastructure

Aggregate

Sensors data

nodejs stream

processor

On customer site

evaluate rules over time window

in-house hadoop cluster

mongodb

feed algorithmwrite raw data for further

processing

backup

Page 31: Lean Enterprise, Microservices and Big Data

Version of the infrastructure ported to AWS

Aggregate

Sensors data

On customer site

evaluate rules over time window

write raw data for

archiving

Kinesis RedShift for BI

analysis

Glacier

Page 32: Lean Enterprise, Microservices and Big Data

ACT

Page 33: Lean Enterprise, Microservices and Big Data

Cloud and Lean Enterprise

Page 34: Lean Enterprise, Microservices and Big Data

Let’s start with a personal example

Page 35: Lean Enterprise, Microservices and Big Data
Page 36: Lean Enterprise, Microservices and Big Data

First year @seesmic

• Prototype becomes production

• Monolithic architecture

• No analytics/metrics

• Little monitoring

• Little automated testing

Page 37: Lean Enterprise, Microservices and Big Data

I built a monolith

Page 38: Lean Enterprise, Microservices and Big Data

or…at least I tried

Page 39: Lean Enterprise, Microservices and Big Data

Early days at SeesmicFirst year @seesmic

Page 40: Lean Enterprise, Microservices and Big Data

Everybody loves a good horror story

Page 41: Lean Enterprise, Microservices and Big Data

We crashed Techcrunch

Page 42: Lean Enterprise, Microservices and Big Data
Page 43: Lean Enterprise, Microservices and Big Data

What did we do?

Page 44: Lean Enterprise, Microservices and Big Data

Add a QA Manager

Page 45: Lean Enterprise, Microservices and Big Data

Add bearded SysAdmin

Page 46: Lean Enterprise, Microservices and Big Data

We added tons of process so nothing can’t go wrong

Page 47: Lean Enterprise, Microservices and Big Data

Impact on dev team

• Frustration of slow release process

• Lots of back and forth due to bugs and the necessity to test app all over each time

• Chain of command too long

• Feeling no power in the process

• Low trust

Page 48: Lean Enterprise, Microservices and Big Data

Impact on product team

• Frustration of not executing fast enough

• Frustration of having to ask for everything (like metrics)

• Feeling engineers always have the last word

Page 49: Lean Enterprise, Microservices and Big Data

Impact on Management

Page 50: Lean Enterprise, Microservices and Big Data

• Break down software into smaller autonomous units

• Break down teams into smaller autonomous units

• Automating and tooling, CI / CD

• Plan for the worst

What can you do?

Page 51: Lean Enterprise, Microservices and Big Data

=Break down software into smaller autonomous units

Page 52: Lean Enterprise, Microservices and Big Data

Introduction to Microservices

Page 53: Lean Enterprise, Microservices and Big Data

Monolith vs Microservices - 10000ft view -

Page 54: Lean Enterprise, Microservices and Big Data

Monolith vs Microservices - databases -

Page 55: Lean Enterprise, Microservices and Big Data

Monolith vs Microservices - servers -

Page 56: Lean Enterprise, Microservices and Big Data

Microservices - example -

Page 57: Lean Enterprise, Microservices and Big Data

Break down team into smaller units

Page 58: Lean Enterprise, Microservices and Big Data

Amazon’s “two-pizza teams”

• 6 to 10 people; you can feed them with two pizzas.

• It’s not about size, but about accountability and autonomy

• Each team has its own fitness function

Page 59: Lean Enterprise, Microservices and Big Data

• Full devops model: good tooling needed

• Still need to be designed for resiliency

• Harder to test

Friction points

Page 60: Lean Enterprise, Microservices and Big Data

Continuous Integration

(CI) is the practice, in software engineering, of merging all developer working copies with a

shared mainline several times a day

Page 61: Lean Enterprise, Microservices and Big Data

Continuous Deployment

Page 62: Lean Enterprise, Microservices and Big Data

Continuous Deployment

Page 63: Lean Enterprise, Microservices and Big Data

Tools for Continuous Integration

• Jenkins (Open Source, Lot of plugins, hard to configure)

• Travis CI (Look better, less plugins)

Page 64: Lean Enterprise, Microservices and Big Data

Tools for Continuous Deployment

• GO.cd (Open-Source)

• shippable.com (SaaS, Docker support)

• Code Deploy (AWS)

+ Puppet, Chef, Ansible, Salt, Docker…

Page 65: Lean Enterprise, Microservices and Big Data

Impact on dev

• Autonomy

• Not afraid to try new things

• More confident in codebase

• Don’t have to linger around with old bugs until there’s a release

Page 66: Lean Enterprise, Microservices and Big Data

Impact on product team

• Iterate faster on features

• Can make, bake and break hypothesis faster

• Product gets improved incrementally everyday

Page 67: Lean Enterprise, Microservices and Big Data

Impact on Management

Page 68: Lean Enterprise, Microservices and Big Data

• Enabling Microservices architecture

• Enabling better testing

• Enabling devops model

• Come talk to the Docker team tomorrow!

Page 69: Lean Enterprise, Microservices and Big Data

Thank Youfollow me: @romefort

[email protected]