Slide 1

Slide 1 text

clda.co/aws-cloud9-codestar AWS Cloud9 & CodeStar for Serverless Apps (AWS re:Invent recap teaser) 1/10/2018

Slide 2

Slide 2 text

About Me @alex_casalboni Computer Science Background Master in Sound & Music Engineering Sr. SoEware Engineer & Web Developer Cloud Evangelist @ Cloud Academy clda.co/aws-cloud9-codestar

Slide 3

Slide 3 text

Agenda “Serverless” disclaimer AWS Cloud9 AWS CodeStar AWS SAM clda.co/aws-cloud9-codestar

Slide 4

Slide 4 text

clda.co/serverless-italy Call for Speakers! clda.co/aws-cloud9-codestar meetup.com/serverless-italy Serverless Meetup

Slide 5

Slide 5 text

“Serverless” disclaimer Qualcuno deve pur farlo… clda.co/aws-cloud9-codestar

Slide 6

Slide 6 text

clda.co/aws-cloud9-codestar There is always a server somewhere,
 you just don't have to worry about it =)

Slide 7

Slide 7 text

clda.co/aws-cloud9-codestar “A Serverless solu@on is one that costs you (almost) nothing to run if nobody is using it.” [cit. Paul Johnston] “Una soluzione è davvero Serverless solo se @ costa (quasi) zero quando nessuno la usa.” [cit. Paul Johnston]

Slide 8

Slide 8 text

AWS Cloud9 (Acquired by AWS in Jul 2016) clda.co/aws-cloud9-codestar

Slide 9

Slide 9 text

clda.co/aws-cloud9-codestar

Slide 10

Slide 10 text

AWS Cloud9 Features Full-fledged IDE & Dev tools Cost-saving seLngs (hiberna:on) Integrated web terminal * (EC2 or SSH environment) clda.co/aws-cloud9-codestar Built-in Lambda support Live debugging capabiliSes (only Node.js for now) Collabora:ve coding/debugging * No SSH keys or IAM creden:als to configure locally (!) SAM-local integraSon (local tesSng & deployments)

Slide 11

Slide 11 text

AWS Cloud9 Dev Tools AWS CLI (1.11), sam-local (0.2.4) git, gcc, c++, Docker (17.03) node (6.11.4), npm, nvm, coffeescript python (2.7.12 & 3.6.2), virtualenv, pip, pylint, boto3 clda.co/aws-cloud9-codestar PHP (5.6), MySQL (14.14), Apache (2.4) ruby (2.4.1), rails (5.1.4) Go (1.9.1) Java docs.aws.amazon.com/cloud9/latest/user-guide/ami-contents.html

Slide 12

Slide 12 text

AWS Cloud9 Look&Feel clda.co/aws-cloud9-codestar

Slide 13

Slide 13 text

AWS Cloud9 LimitaSons & “wishes” Max 20 env per user, 100 per account Max 10 open env per user Max 8 members in each env EC2 instance maintenance is sSll on you (OS updates, etc.) clda.co/aws-cloud9-codestar No Python debugging No “offline” support Only SAM-focused Lacking AWS Console integraSon “Primi@ve" Lambda tesSng ⚡ (e.g. no event generaSon)

Slide 14

Slide 14 text

AWS CodeStar “The Good, the Bad and the Ugly” clda.co/aws-cloud9-codestar

Slide 15

Slide 15 text

clda.co/aws-cloud9-codestar

Slide 16

Slide 16 text

clda.co/aws-cloud9-codestar

Slide 17

Slide 17 text

clda.co/aws-cloud9-codestar

Slide 18

Slide 18 text

clda.co/aws-cloud9-codestar

Slide 19

Slide 19 text

AWS CodeStar Features 30+ project templates MulSple backends (Elas@c Beanstalk, EC2, Lambda) MulSple programming languages (C#, Java, JS, Python, PHP, Ruby) clda.co/aws-cloud9-codestar Customizable app dashboard Built-in source control & CI/CD (only CodeCommit and GitHub) Coding tools integraSons (Cloud9, Eclipse, VSCode, etc.) … and Frameworks (Express, Spring, Django, Flask, Spring, ASP.NET, Laravel, etc.) Team management & issue tracking (only JIRA and GitHub for now)

Slide 20

Slide 20 text

clda.co/aws-cloud9-codestar AWS CodeStar Look&Feel (Dashboard)

Slide 21

Slide 21 text

clda.co/aws-cloud9-codestar AWS CodeStar Look&Feel (Team)

Slide 22

Slide 22 text

AWS CodeStar LimitaSons & “gotchas” Max 333 projects per account (?!) Max 10 projects per user Max 100 users per project Only owner/contributor/viewer permissions (no custom role) clda.co/aws-cloud9-codestar CodePipeline, CodeDeploy, and CloudForma:on under the hood AWS::CodeStar::SyncResources and AWS::CodeStar Transform Project templates are not customizable CodeStar auth != Cloud9 auth No support for federated users or temporary access credenSals

Slide 23

Slide 23 text

AWS CodeStar + AWS Cloud9? Built-in integraSon * (git clone, IAM auth, etc.) * only if you use CodeCommit GitHub works too (manual setup) clda.co/aws-cloud9-codestar Pair programming enabler One independent env per app (per dev, or even shared) No cross-account magic (yet?) Deployments via CloudFormaSon (git push + CodePipeline) No automaSc users/permissions integraSon btw CodeStar & Cloud9

Slide 24

Slide 24 text

AWS SAM “Serverless ApplicaIon Model” clda.co/aws-cloud9-codestar

Slide 25

Slide 25 text

clda.co/aws-cloud9-codestar What is AWS SAM? github.com/awslabs/serverless-applica@on-model “The goal of AWS SAM is to define a standard applicaSon model for serverless applicaSons.”

Slide 26

Slide 26 text

clda.co/aws-cloud9-codestar In other (technical) words? AWS::Serverless Transform (CloudFormaSon) Special serverless resources (e.g. AWS::Serverless::Func:on) Prepy similar to Serverless Framework’s syntax (yaml) NaSvely supported by AWS SAM Local (github.com/awslabs/aws-sam-local)

Slide 27

Slide 27 text

clda.co/aws-cloud9-codestar AWS SAM Example (FuncSon) (plus policies, VCP config, DLQ, tracing, etc.)

Slide 28

Slide 28 text

clda.co/aws-cloud9-codestar AWS SAM Example (Traffic ShiEing) (plus alarms & pre/post-traffic hooks)

Slide 29

Slide 29 text

clda.co/aws-cloud9-codestar AWS SAM Example (DynamoDB)

Slide 30

Slide 30 text

clda.co/aws-cloud9-codestar AWS SAM Example (API Gateway) (plus cache, stage variables, etc.)

Slide 31

Slide 31 text

clda.co/aws-cloud9-codestar AWS SAM Example (FuncSon+API)

Slide 32

Slide 32 text

My Personal “wishes” for AWS SAM More transparency (make it public, or even customizable?) Custom Transforms (endless possibiliSes!) clda.co/aws-cloud9-codestar

Slide 33

Slide 33 text

Grazie =) Domande? 1/10/2018 clda.co/aws-cloud9-codestar