going "serverless" in 2016
TRANSCRIPT
Going“serverless”in2016Ahighlevelintroductiontoserverless architectureandtheServerless framework
Twitter:@dkcwd
Firstalittlebackground….
Serverless architecture isanapproach
A“serverless”applicationarchitecturedescribesanapproachwhereyoucanbuildapplicationswithoutdirectlymanagingserversorcontainers.
TheServerless framework isaprojectwhichhasbeencreatedtomakeiteasiertogetstartedwithdevelopingandmaintainingyourownapplicationswhichleverageaserverless approach.
Noserversandconfigurationtomanage?
Whenyouadoptserverless programmingparadigmsyoumaynotneedtomaintainserversorcontainers.
Note: Thereisstillsomeworktodointermsofconfigurationandthat’soneofthereasonswhytheServerless frameworkexists.
WhyshouldIcare?
Youmightreduceyourspendoninfrastructurebyavoidingchargesforidleservers(includingcontainerhosts)andincreasetherateatwhichyourteamcandevelop/deploynewfeatures.
Subjecttotheusagepolicyofagiven“FunctionasaService”provider,theremaybesignificantbenefitsforyouintermsofscalabilityinadditiontothepointsmentionedabove.
Soyou’retalkingaboutAWSLambda?
AttheAWSSummitinSydney(April2016)therewasalotofexcitementsurroundingserverless programmingparadigmsusingAWSLambda.
Othervendorssupporting“FunctionasaService”offeringsinclude:§AzureFunctions§GoogleCloudFunctions§ IBMOpenWhisk
Concernsaboutdevelopmenteffort
TheexamplesshownattheAWSSummitwereinterestinghowevertherewassomethingabouthavingtoleveragetheAWSinterfacethroughyourbrowserwhichfeltalittlebackwardsandoff-putting.
Serverless frameworkinterestedmebecauseitfeltlikeamissinglinktoallowrapiddevelopmentandmaintenanceofserverlessfunctionality.
Concernsabout“vendorlock-in”?
WhiletheusecaseswerecompellingattheAWSSummitandtherewasplentyofbuzzaroundhowtogetstarted,therewereplentyofattendeesconcernedaboutthepotentialforissuesrelatedto“vendorlock-in”.
ThatisanotherreasonwhytheServerless frameworkinterestedme.
IntroducingServerless framework
IntroducingServerless framework
Theprojectexistsat:https://github.com/serverless/serverless
ThefirstcommitstotheprojectweremadeonApril21st,2015
Workingtowardsupportingmajorvendorsreducinglock-infear
Arethereexampleprojects?
Yes!Youcanfindoutmoreherehttps://github.com/serverless
Inparticularcheckout:serverless-graphql-blog
Note:ElliotSpira createdanexcellenttutorialoncreatingaHipChat Connector
Checkitouthere:https://bitbucket.org/gorillastack/serverless-hipchat-connect
Canyoushowmeareferencediagram?
Yes!I’llshowyouoneforasinglepageJSapplicationonthenextslide.
The“serverless backend”isbasedonserverless-graphql
See:https://github.com/serverless/serverless-graphql
DoIhavetobuildanddeployafrontend?
No!Someofthestartedprojectshaveafrontendcomponentwhichyoucan deployifyouwish.
Youmaychoosetousetheframeworkjusttofocusonbackendcomponents.
Whatistheworkflowlike?
§ Vendorconfigurationbeforeanythingelse§ InitialprojectsetupviaCLI§ Development§ Localtesting§ DeploymentofendpointsandfunctionsviaCLI§ Rinse&Repeat
Vendorconfiguration
AssumingyoustartoutwithAWS….
MakesureyouhaveaAWSaccountandcreateanIAMuserforworkingwithyourserverless projectsviatheServerless framework.
YouneedyourAccessKeyIDandSecretAccessKeyfortheIAMuser.
HmmmIhaven’tdonethatbefore….um
Don’tworry,hereisanawesometutorialtohelpyougetstartedwithallaspectsofworkingwiththeServerless framework.
Getinthereandhaveago.Beforeyouknowityou’llbeworkingyourwayaroundthecommandlineinterfacedeployingendpointslikeapro!
Checkout:http://justserverless.com/blog/your-first-serverless-application/
Atiponceyou’reupandrunning
Ifyoudon’talready,considerusingatoollikePostmantocreatesometestsforyourAPIendpoints.
Itcanmakeiteasytocreaterequestcollectionsandcaptureexampleresponsesforuseduringdevelopment.Ifusedeffectivelyitcanbealeveragedaspartofaleanintegrationtestsuite.
CreaterequestcollectionswithPostman
See:https://www.getpostman.com
Fromhere
RememberServerless frameworkisjustoneofmanyprojectsthatareevolving.
WithServerless frameworkyoucanrunapplicationslocallywithoutusingAWSifyouwanttoexperimentalittlemorebeforedeploying.
SeethepluginssectionontheServerless frameworkREADME.md
https://github.com/serverless/serverless#plugins
Fromhere
CheckouttheSydneyServerless Meetup Group:
http://www.meetup.com/Sydney-Serverless-Meetup-Group/
Helpbuildthecommunity,ChrisDorrington startedaSlackchannelrecentlysocomejoinusathttps://letsgoserverless.stamplayapp.com/
Askquestions,meetothersandshareyourexperiences.
Enjoyandsharewhatyoudo….
I’monTwitter:@dkcwdLinkedIn:https://au.linkedin.com/in/daveclarkprofile