Slide 1

Slide 1 text

Why FaaS is the Least Important Thing About Serverless Eoin Shanaghy, CTO @fourTheorem @eoins

Slide 2

Slide 2 text

fourTheorem

Slide 3

Slide 3 text

Modern Application Development / Modernisation Serverless and Microservices DevOps Machine Learning

Slide 4

Slide 4 text

Eoin Shanaghy @eoins

Slide 5

Slide 5 text

http://bit.ly/aiservice 40% discount twmicroxchg19 + 3 FREE BOOKS! !

Slide 6

Slide 6 text

Software Development has been in its Infancy Half-baked Solutions Poor Planning Dubious Quality

Slide 7

Slide 7 text

This time it’s different

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Why is Now Different?

Slide 10

Slide 10 text

Era of the Product Mindset LEAN LOW COST EXPERIMENTATION FEEDBACK LOOPS CONTINUOUS DEPLOYMENT PRODUCT DISCOVERY BUILD THE RIGHT PRODUCT

Slide 11

Slide 11 text

PRODUCT MANAGEMENT CUSTOMER EXPERIENCE ENTERPRISE BUILDING PRODUCTS THAT MATTER

Slide 12

Slide 12 text

SERVERLESS

Slide 13

Slide 13 text

EARLY ENTERPRISE JAVA CORBA OOP UML ARCHITECTURE SPECIFICATIONS RDBMS STORED PROCS FUNCTIONAL SPECIFICATIONS 2000

Slide 14

Slide 14 text

Deployment every 3-6 months

Slide 15

Slide 15 text

Microservice Era Microservices Containers Distributed Systems Organisational Change Faster Adaptable Build your own PaaS Infrastructure Investment Scalable Reliable Focus Disposable CD Immutable

Slide 16

Slide 16 text

λ

Slide 17

Slide 17 text

Serverless !== FaaS The same rules don’t necessarily apply Don’t just divide existing code into Lambdas

Slide 18

Slide 18 text

Take a Greenfield perspective Forget legacy constraints Disregard current implementation Establish a technology vision Serverless Adoption – First Steps

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

What does all our code actually do?

Slide 21

Slide 21 text

What do we spend our time on?

Slide 22

Slide 22 text

Differentiating Code Integration Transformation Delegation Data Access Orchestration

Slide 23

Slide 23 text

Non Functional Considerations Monitoring Security Scalability Reliability Governance / Compliance

Slide 24

Slide 24 text

Data Transformation

Slide 25

Slide 25 text

Integration

Slide 26

Slide 26 text

Data Access

Slide 27

Slide 27 text

Orchestration and Routing

Slide 28

Slide 28 text

Lambdify Everything?

Slide 29

Slide 29 text

Lambdify Everything? Developer Flow Feedback Loop Local Development Debugging Size Limits Latency

Slide 30

Slide 30 text

Data Locality Access to Files (S3) Performance Synchronous Fetch Cost No EBS or EFS Storage Cost < Compute Cost Move the Code to the Data

Slide 31

Slide 31 text

There are other ways

Slide 32

Slide 32 text

Serverless is true Utility Computing • FaaS is one of these utilities. There are many. • Favourites (AWS) • S3 • Cognito • DynamoDB • AppSync • Aurora Serverless • Step Functions • IAM • Lambda The Holistic Serverless Definition

Slide 33

Slide 33 text

The Effect of Managed Services State is Federated Distributed State Management Data in the Right Form > Fetch on Demand

Slide 34

Slide 34 text

Distributed State – Understand Access Patterns SQL DynamoDB Event Streams Structured Normalised Arbitrary access patterns Unstructured Single table Predictable access patterns Event sourcing Event-driven Real-time requirement

Slide 35

Slide 35 text

• Optimise for access – polyglot persistence • Downsample • Aggregate • Keep raw data • Iterate on your approach • Keep code close to the data – remember the power of SQL Store with Intent

Slide 36

Slide 36 text

S3 SELECT Read from S3, Parquet or JSON SELECT temp, timestamp, device_id FROM s3Object s WHERE s.date BETWEEN ‘2019- 04-01' AND ‘2019-04-30' 400% faster

Slide 37

Slide 37 text

ATHENA Arbitrary analytics Aggregations Complex queries on big data volumes Nice for archival log querying

Slide 38

Slide 38 text

GLUE Serverless ETL Build ETL pipelines with Scala or Python Shape data for analytics / machine learning

Slide 39

Slide 39 text

SAGEMAKER

Slide 40

Slide 40 text

KINESIS STREAMS & ANALYTICS

Slide 41

Slide 41 text

Authentication and Authorisation

Slide 42

Slide 42 text

ORCHESTRATION STRATEGIES

Slide 43

Slide 43 text

EXPLICIT Lambda AWS Step Functions Synchronously Invoke other services Pay while you wait Declarative state machine Pay per transition

Slide 44

Slide 44 text

AWS Step Functions Declarative state machine Pay per transition

Slide 45

Slide 45 text

IMPLICIT Event-driven Isolated Steps Reactive

Slide 46

Slide 46 text

EMBRACE THE POWER OF THE CLIENT

Slide 47

Slide 47 text

DELEGATION

Slide 48

Slide 48 text

API Gateway Service Integration

Slide 49

Slide 49 text

API Gateway Service Integration

Slide 50

Slide 50 text

FAAS IS NOT THE MOST IMPORTANT THING

Slide 51

Slide 51 text

Important Things! Product Iteration Speed Automation – CI/CD Expendable components Managed services Everything that happens after deployment

Slide 52

Slide 52 text

One more thing… Full Stack Full Test Pyramid Open Source CD Pipeline SLIC Starter Use it – Contribute – Talk to me! @eoins Project Structure Access Control

Slide 53

Slide 53 text

THANK YOU! http://bit.ly/aiservice @eoins