sun7174 - build distributed and scalable serverless state ... · serverless development challenges...
TRANSCRIPT
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
OpenWorld 2017OracleElasticStateMachineBuildDistributedandScalableServerlessStateMachineApplications
Aninda SenguptaVicePresidentEngineeringEduardoChiocconiDirectorProductManagementandStrategy
October01,2017
Confidential– OracleInternal/Restricted/Highly
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
SafeHarborStatementThefollowingisintendedtooutlineourgeneralproductdirection.Itisintendedforinformationpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfunctionality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,andtimingofanyfeaturesorfunctionalitydescribedforOracle’sproductsremainsatthesolediscretionofOracle.
Confidential– OracleInternal/Restricted/HighlyRestricted 3
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved. 4
Whataretheproblems?ServerlessdevelopmentChallenges
KeyChallenges• Serverlessisbecomingmainstreamasadevelopment
paradigmanditishardtocreateorchestrationsthatreusethesegranularserverlessfunctionsormicroservices
• Statefulorchestrationisanon-trivialeffortthatserverlessfunctionplatformsarenotofferingoutofthebox
• Itisveryhardtotrackandtracetransactionswhileinflightoroncetheyarecompletedforauditingpurposes
f(x)f(x)
f(x) f(x)
f(x)
f(x)
f(x) f(x)
f(x)f(x)f(x)
f(x)f(x)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved. 5
Whyisserverlessorchestrationrelevant?Whatisthevalue?
MainValue• Developerswillcreateorchestrationlogicseparatefrom
serverlessfunctionsdevelopmentand:• Reuseserverlessfunctionsinanon-invasivemanner• Useadvancedorchestrationcapabilitiesthatare
hardtobuild(guaranteedtomaintainstate,manageserrors/exceptions,parallelexecutions,longrunning)
• Useascalableandaffordablepay-perusemodel• Deliverapplicationsfaster
f(x)f(x)f(x) f(x)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved. 6
WhatisElasticStateMachine?Easilyorchestrateserverlessfunctions
Overview
OracleElasticStateMachine(ESM)CloudServiceisdesignedforclouddeveloperstocreatehighlyscalable,distributedstatemachinescoordinatingexecutionsofserverlessfunctions,RESTservicesorapprovals
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved. 7
OracleElasticStateMachineCapabilities
Overview• Supportsorchestrationofserverlessfunctions, REST
servicesandhumanapprovals• FocusesonDevelopersbuildingCloudServices
• Modernsourcelanguage,modernAPIandcloudnative• Moderncontinuous integrationwithcloudbasedtools
• PricedforDeveloperspreferringaper-usemodel
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved. 8
OracleElasticStateMachineFeatures
KeyFeatures• Metadatadrivenlanguage
• Supports fullAPIheadlessuseforendtoendlifecycleandmonitoring
• Dualcompositionviavisualandsourceeditor• Richoutoftheboxsupportfortriggers,actionsand
approvals• HighlyScalableandAvailable
• Elasticservicewithlowlatencywithscale-out&scale-inbaseondemand load
• LowAdministrationCost
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved. 9
OracleElasticStateMachineRichOrchestrationLanguage
KeyConstructs• TriggeredviaESMRESTAPIorOracleAPIGateway• CallActivityusedtoinvoke:
• serverlessfunctions• ApplicationservicesviaCloudConnectivityService(CCS)
• Paralleland/orsequentialexecutionblocks• Basicflowcontrolconstructs
• Conditionalsandloops• Statefulvariablesupport• FaultHandling
• Throw,Catch,Retry
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved. 10
OracleElasticStateMachineSimpletouseApprovalService
KeyConstructs• APIdeclarativeapprovaldefinition
• Eachapprovalrequesthasitsownlogic• Supportformultipleapprovalpatterns
• Singleapproval,Multisequentialorparallel• Approvalconfiguration
• DueDates,ApprovalExpiration,ExpirationAction,Reminders, conditionalapproverassignments,etc.
• Emailnotificationstoapprovers• Supportforactionableemails
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.
OracleElasticStateMachineHighLevelLifeCycleManagement(LCM)
OracleConfidential–Internal/Restricted/Highly
11
DevelopESM
DeployESM
ConsumeESM
1
23APIFirst
1.1.CRUDESMFlowAuthoring Operations1.2.Import/ExportofESMFlows1.3.TestActivateforsandboxtesting
2.1.ActivateESMFlow2.2.DeactivateESMFlow2.3.ListIn-FlightandCompleted
ESMFlowInstances
3.1.Launch/Invoke/CancelESMFlows3.2.GetStatusofESMFlowInstances3.3.GetAuditTrailofESMFlow Instances
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved. 12
Demo
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.
ESMDemo- ImageProcessing
• ImagesApps• ContainseveralJavaScriptfunctionsthatapplyimagetransformations
• Useshttp://sharp.dimens.io/
• ESMFlow• Statemachineorchestrationforimagetransformation
• Variables
OracleConfidential–Internal/Restricted/Highly
13
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.
TheOracleDifferenceSimplifyingServerlessDevelopment
Complete
Open
Integrated
14
Standards-basedwithnolockinyourchoiceoflanguageandtooling
Allcapabilitiesonacommonplatformusingcommonandreusableservices
Oracleoffersacompleteserverlessplatformcoveringfunctiondevelopmentandcoordination
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved. 15
FeedbackWanted
NowAvailableonOracleCloud!
SurveyLink:
https://tinyurl.com/ESMUserFeedback
Thankyou!
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
SessionID:CON6494
SessionTitle:ServerlessatOracle
Room:Moscone West- Room3024
Date:10/04/17
StartTime:12:00:00PM- EndTime:12:45:00PM
SessionID:CON7647
SessionTitle:ServerlessatOracle
Room:Moscone West- Room2002
Date:10/03/17
StartTime:09:30:00AM- EndTime:10:15:00AM
SessionID:HOL7744
SessionTitle:Serverless@Oracle
Room:HiltonSanFranciscoUnionSquare(BallroomLevel)-ContinentalBallroom5
Date:10/04/17
StartTime:08:00:00AM- EndTime:09:00:00AM
SessionID:HOL7932
SessionTitle:Serverless@Oracle
Room:HiltonSanFranciscoUnionSquare(LobbyLevel)- GoldenGate2/3
Date:10/04/17
StartTime:01:30:00AM- EndTime:03:30:00AM
OtherServerlessSessionsGeneralSessionsandHandsOnLabstoconsider
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved. 18
f(x)
f(x)f(x) f(x)