Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Cloud9 & CodeStar for Serverless Apps

AWS Cloud9 & CodeStar for Serverless Apps

Alex will go through the pros&cons of the newly announced AWS Cloud9 and its built-in integration with AWS CloudStar and AWS SAM. You'll learn about the motivations and a few "gotchas" about these tools and services.

Alex Casalboni

January 10, 2018

More Decks by Alex Casalboni

Other Decks in Programming


  1. 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
  2. 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]
  3. 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)
  4. 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
  5. 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)
  6. 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)
  7. 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
  8. 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
  9. 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.”
  10. 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)
  11. My Personal “wishes” for AWS SAM More transparency (make it

    public, or even customizable?) Custom Transforms (endless possibiliSes!) clda.co/aws-cloud9-codestar