invasion of lightweight architectures - amazon s3 · bio matt lancaster •>10 years building...

24
Copyright © Accenture, LLP. All rights reserved. Strategy | Digital | Technology | Operations Invasion of Lightweight Architectures

Upload: others

Post on 20-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved. Strategy | Digital | Technology | Operations

Invasion of Lightweight

Architectures

Page 2: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Bio

Matt Lancaster

• >10 years building software for fun and profit (ongoing)

• Twice CTO, once professor, occasional angel investor, now Benevolent Dictat… Lightweight Architecture lead at Accenture

• Also have degrees in Philosophy and Ancient History

– If you want raunchy Roman poetry or a long conversation about Alexander’s successors, I’m also your guy!

Page 3: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

“New IT” is the New Normal

• Software is eating the world:

– Primary channels of customer

engagement are digital

– Software is being embedded in everything

– Digital experiences now permeate

everything from cars to toasters

• Adaptation means three fundamental

challenges:

– Delivery speed; “Lean Startup” approach

– Become a Digital Native

– Deliver at or below current budgets

Page 4: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Examples

vs

vs

Page 5: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

How to Adapt?

New Delivery Methods

DevOpsLightweight Architecture They’re linked!

To succeed,

we must tackle

all three!

Page 6: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

What are Lightweight Architectures, anyway?

Traditional Architectures Lightweight Architectures

Device Specific Development

Monolithic

Single Technology

Closed / Vendor driven

Responsive Web Design

Modular

Best tool for the Job

Open Source & Ecosystem Embraced

Features Released in Months Features Released in Days

Tool Based Integration Standards & API based integration

Page 7: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Traditional Architecture: Hospitality Example

Reservations Loyalty CRM Content

Web Mobile

Monolithic Backend Systems

Channels

ESB

Page 8: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Lightweight Architecture: Hospitality Example

Web Mobile Third PartyAny Channels

Reservations Loyalty CRM Content Physical Property

Above Property APIs On-Property APIs

Microservices

Things

Channels

Page 9: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

1=0, 2=0, 3=3

• The benefits of New IT are often sought by making token delivery changes

/ partial DevOps implementation

• Even with continuous delivery capability and Lean Agile delivery, legacy

architecture can make us fail!

• Without architecture changes, DevOps or modern, lean delivery methods

will fail to produce significant results.

vs…is not a fair fight, and no

amount of training or

process change can fix this!

Page 10: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Why Do We Need Lightweight Architectures?

Problem

Test/Integration Complexity

Solved by

Modularity / Contracts

Slow Feature Release Separate Modular Deployables

Scalability Exponentially Expensive Elastic Architectures

Unreliable / Costly Failure Protection Build for Breaking

Tech Limits UX Tech Empowers UX

ALL of these issues have significant delivery impacts and business strategy impact!

Page 11: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Business Problems and Solutions:

Deeper Dive

Page 12: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Test / Integration Complexity

Cause: monolithic systems, deep interdependence

Solution Patterns: microservices, modular UI

Solution Details (left and right)

Representative technologies

Microservice

Data

App Logic

API Interfaces Supporting Services

Microservice

API Gateway

Elastic Infrastructure

Microservice

Microservice Architecture

gokit

Page 13: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Slow Feature Releases

Cause: monolithic ‘all or nothing’ model

Solution Patterns: separate deployables, modular UI

Solution Details (left)

Representative technologies

Container

Microkernel

App Platform

Additional Services

Host

Application

Page 14: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Exponentially expensive scalability

Cause: ‘threaded’ application and architecture model

Solution Patterns: distributed app patterns (Reactor, Actor Model, etc)

Solution Details (left and right)

Representative technologies

Event Dispatcher

Synchronous

Event

Demultiplexer

Initiators and

Receivers

Event HandlersEvent HandlersEvent Handlers

responses

events

Stores and

retrieves events

Reactor Pattern Actor System

Dispatcher

Thread Management

Execution Context

Actor

Behavior &

State

Mailbox

Msg

Queue

Durability

Supervisor

Strategy

Exception

Handling

Actor Ref

Actor

Supervisor

Guardian

Actor /

User

Actor

ClientImmutable

Message

Serializable

Spring Reactor

Page 15: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Unreliable / Costly Failure Protection

Cause: ‘protect from failure’ mindset

Solution Patterns: distributed horizontal scalability, Circuit Breaker

Solution Details (left and right)

Representative technologies

Contemporary middleware Lightweight

Browser

Web Web

HW LB HW LB

App App

DB

Web Web

App App

DB

Disk Disk

Browser

SW LB

Service Service

Store

Disk

SW LB

Store

Disk

Horizontally Scalable

Distributed Architecture

Closed

Half-

openOpen

Failure count

threshold

reached

Success count

threshold

reached

Operation failed

Timeout times expired

Circuit Breaker Pattern

Page 16: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Technology Limits User Experience

Cause: Legacy UI technologies, Fragmented UI

Solution Patterns: Client/API, Modular UI

Solution Details (left and right)

Representative technologies

Booking LoyaltyOn-Prem

UIs

Modular UI

Separate SPAs

Common Framework

APIs

MicroserviceMicroservice

Content

View

Controller Model

Passes

calls to

Fires

events

on

manipulates

DOM

Router

PushState

Fires

eventsUpdates

User

Interaction

Client Pattern Example: MVC

Page 17: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

…and More!

Many more business problems are solved and constraints

are lifted by putting our system architectures on a diet!

If we want to survive in the now universally ‘digital native’

landscape, it’s not a question of ‘if’, but ‘when’!

Page 18: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Implications and Commentary

Page 19: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

What Does This Mean for Us?

• Switch from ’Infantry Divisions’ to ’Special Forces Teams’

– Lightweight Architecture, combined with new delivery methods and DevOps will

drastically reduce the manpower needed to deliver an application, but each

individual will need to be more skilled.

• Software Architecture becomes critical to business strategy!

Page 20: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

And Now for Some Fun, Provocative

Statements :)

Page 21: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

ESBs Must Die

• The ESB has no place in modern system

architectures

– (outside of continuing to support legacy systems)

• APIs & Microservices built on top of an ESB mean

that you’re attaching a cruise ship anchor to a

steamboat

• Modern system architectures are analogous to the

architecture of the Internet itself: distributed by

design

– an integration bus is only a SPOF!

Page 22: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

No More Sporks!

• The era of single-language systems is quickly

coming to a close

• Java and (traditional) .NET are being replaced (in

some cases wholesale)

– Down with (many applications of) Java, long live the

JVM!

• Most modern systems are polyglot, and

components are fit for purpose

– …and select the best language/tool for the job

• If you say you’re a ‘J(2)EE Architect’ or a ’Java

Architect’, it’s code for ‘Don’t Hire Me’

Page 23: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Don’t Assemble a Bunch of Packages

• If your resulting system architecture looks like a

bunch of proprietary software icons connected with

lines, you’re doing it wrong

• Most packaged software vendors haven’t caught

up yet, they’re still mostly monoliths

• Friends don’t let friends create houses of cards

stuck together with old chewing gum ;)

Page 24: Invasion of Lightweight Architectures - Amazon S3 · Bio Matt Lancaster •>10 years building software for fun and profit (ongoing) •Twice CTO, once professor, occasional angel

Copyright © Accenture, LLP. All rights reserved.

Don’t Use Queues, JMS or Otherwise

• They’re just bottlenecks, and have no place in

remotely distributed systems

• Use patterns like Reactor / Proactor / Actors

instead