Slide 1

Slide 1 text

Services THE REAL VALUE OF SERVERLESS Simon Martinelli, 72 Services LLC @simas_ch

Slide 2

Slide 2 text

ABOUT ME @simas_ch 2 2019 2000 1995 Java COBOL 2009 2007 2012 2011 JSR-352 Java Batch 2013 JSR-354 Money/Currency

Slide 3

Slide 3 text

THAT WAS (OR IS?) SERVERLESS 3

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

IBM IMS • Designed 1966 for the Apollo program to inventory the very large bill of materials for the Saturn V moon rocket and Apollo space vehicle 5

Slide 6

Slide 6 text

SERVERLESS 6

Slide 7

Slide 7 text

SERVERLESS 7

Slide 8

Slide 8 text

SERVERLESS 8

Slide 9

Slide 9 text

SERVERLESS 9

Slide 10

Slide 10 text

FAAS (FUNCTIONS AS A SERVICE) • Focus more on code, not infrastructure • Pay only for the resources you use, when you use them • Scale up or down automatically • Get all the benefits of robust cloud infrastructure 10 Serverless does not mean NO SERVER!

Slide 11

Slide 11 text

ARE SERVERLESS FUNCTIONS THE REAL MICROSERVICES? 11

Slide 12

Slide 12 text

WHAT ABOUT MICRO? • Functions are small • Functions only have one purpose • Functions are modules • A module is a self-contained component of a system, interchangeable, which has a well-defined interface 12

Slide 13

Slide 13 text

WHAT ABOUT SERVICES? • Service-Oriented Architecture (SOA) is an architectural style that supports service-orientation • Service-orientation is a way of thinking in terms of services and service-based development and the outcomes of services • Service • Is a logical representation of a repeatable business activity that has a specified outcome (e.g., check customer credit, provide weather data) • Is self-contained • May be composed of other services • Is a black box to consumers of the service 13 Source: http://www.opengroup.org/soa/source-book/soa/p1.htm

Slide 14

Slide 14 text

SERVERLESS ARCHITECTURE • Serverless applications are event-driven, cloud-based systems where application development rely solely on a combination of third-party services, client-side logic and cloud-hosted remote procedure calls • Key Properties • Independent, server-side, logical functions • Stateless • Short-lived • Event-triggered • Scalable by default • Fully managed in the cloud 14

Slide 15

Slide 15 text

PROS CONS • Pay for what you use • Faster delivery due to smaller units • Zero system administration • Easier operations • Monitoring out of the box • Faster setup • Scalable • Reduced control • Vendor lock-in • Architectural complexity • Disaster recovery • Local tests 15

Slide 16

Slide 16 text

16

Slide 17

Slide 17 text

SERVERLESS IN THE PUBLIC CLOUD 17

Slide 18

Slide 18 text

HOW TO ACHIEVE VENDOR INDEPENDENCE? • Serverless leads to vendor lock-in! • But there are alternatives 18

Slide 19

Slide 19 text

APACHE OPENWHISK 19

Slide 20

Slide 20 text

SYSTEM OVERVIEW 20

Slide 21

Slide 21 text

BEHIND THE SCENES 21 https://github.com/apache/openwhisk/blob/master/docs/about.md#how-openWhisk-works

Slide 22

Slide 22 text

APACHE OPENWHISK PROGRAMMING MODEL 22

Slide 23

Slide 23 text

HELLO WORLD function main() { return { payload: 'Hello world' }; } > wsk action create helloJS hello.js > wsk action invoke helloJS --blocking 23

Slide 24

Slide 24 text

WEB ACTIONS function main({name}) { var msg = 'You did not tell me who you are!'; if (name) { msg = 'Hello ${name}!' } return {body: '

${msg}

'} } > wsk -i action create helloweb helloweb.js --web true > wsk –i action get helloweb --url 24

Slide 25

Slide 25 text

TRIGGERS AND RULES • Triggers are named channels for classes or kinds of events sent from Event Sources. • Rules are used to associate one trigger with one action • What are Event Sources? • Messages arriving on Message Queues • Changes in Databases • Website or Web Application interactions • Service APIs being invoked • IoT Frameworks forwarding device sensor data • OpenWhisk is based on an event-driven architecture 25

Slide 26

Slide 26 text

JAVA? 26

Slide 27

Slide 27 text

USE CASES 27

Slide 28

Slide 28 text

THE REAL VALUES • Zero operations but risk of vendor-lock-in • Enforces modularity • No one-size-fits-all 28

Slide 29

Slide 29 text

Thank You 72 Services LLC Moosentli 7, 3235 Erlach Switzerland +41 32 544 8888 info@72.services 72.services