© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Daniel Geske, Solutions Architect
15 October 2018
AWS Amplify
The foundation for your cloud-powered
mobile & web apps
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What is AWS Amplify?
AWS Amplify is a CLI & toolchain for the client
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What Does it Do?
CLI
Creates & configures AWS services
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What Does it Do?
JavaScript Library
Connects your front-end application to cloud services
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What kind of services?
 Database
 API
 Lambda / Serverless
 Authentication
 Analytics
 Hosting
 Storage
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Authentication
Amazon Cognito
 Create & configure new Amazon Cognito resources for user sign-
up & sign-in
 Interact with Amazon Cognito using Auth class from client library
 Pre-configured components available for React, React Native,
Angular, & Ionic
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Analytics
 Create & configure new Amazon Pinpoint resources
 Record events from the client application
 Automatically records session data
 Automatically records auth data (sign-ups, sign-ins, & auth
failures)
Amazon Pinpoint
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
REST API
AWS Lambda + Amazon API Gateway
 Create new AWS Lambda Function
 Scaffold Lambda code
 Configure API Gateway
 Interact with Lambda function with client Library
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
GraphQL API
AWS AppSync
 Create new AWS AppSyncGraphQL API
 Configure AppSync
 Perform queries, mutatations, & register subscriptions from client
application
 React & React Native Components for render props
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Database API
Amazon DynamoDB + AWS Lambda + Amazon API
Gateway
 Create & configure table
 Create Lambda function
 Configure API Gateway
 Scaffolds Lambda code to act as REST API
 Interact with Lambda Function using client Library
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Function
 Create & configure Lambda functions
 Push changes
 Invoke functions locally
 Interact with Lambda function from using client library
AWS Lambda
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Hosting
 Creates & configure S3 bucket for hosting
 Configure Amazon CloudFront
 Publishes assets to S3
 Push updates when necessary directly from CLI
Amazon S3
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Storage
 Create & configure Amazon S3 bucket
 Manage user content for your app in public, protected or private
storage buckets
Amazon S3
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Amplify CLI
Getting started
Installing the CLI
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Amplify CLI
Getting started
Initializing a new project
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Amplify CLI
Getting started
Adding a feature
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Amplify Client Library
Getting started
Add library to project
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Amplify Client Library
Getting started
Add framework-specific library
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Amplify Client Library
Getting started
Import component
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Amplify Client Library
Getting started
Interact with services
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Amplify
This CLI & toolchain for the client greatly lowers the
barrier to entry for developers & companies looking
to build full-stack applications allowing them to not
only iterate & experiment quickly, but also giving
them the ability to do so at a lower cost.
“ “
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Survey:
Your platform of choice
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Demo
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Go build
Daniel Geske, Solutions Architect
<gesked@amazon.de>

Introduction to AWS Amplify and the Amplify CLI Toolchain

  • 1.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Daniel Geske, Solutions Architect 15 October 2018 AWS Amplify The foundation for your cloud-powered mobile & web apps
  • 2.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. What is AWS Amplify? AWS Amplify is a CLI & toolchain for the client
  • 3.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. What Does it Do? CLI Creates & configures AWS services
  • 4.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. What Does it Do? JavaScript Library Connects your front-end application to cloud services
  • 5.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. What kind of services?  Database  API  Lambda / Serverless  Authentication  Analytics  Hosting  Storage
  • 6.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Authentication Amazon Cognito  Create & configure new Amazon Cognito resources for user sign- up & sign-in  Interact with Amazon Cognito using Auth class from client library  Pre-configured components available for React, React Native, Angular, & Ionic
  • 7.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Analytics  Create & configure new Amazon Pinpoint resources  Record events from the client application  Automatically records session data  Automatically records auth data (sign-ups, sign-ins, & auth failures) Amazon Pinpoint
  • 8.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. REST API AWS Lambda + Amazon API Gateway  Create new AWS Lambda Function  Scaffold Lambda code  Configure API Gateway  Interact with Lambda function with client Library
  • 9.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. GraphQL API AWS AppSync  Create new AWS AppSyncGraphQL API  Configure AppSync  Perform queries, mutatations, & register subscriptions from client application  React & React Native Components for render props
  • 10.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Database API Amazon DynamoDB + AWS Lambda + Amazon API Gateway  Create & configure table  Create Lambda function  Configure API Gateway  Scaffolds Lambda code to act as REST API  Interact with Lambda Function using client Library
  • 11.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Function  Create & configure Lambda functions  Push changes  Invoke functions locally  Interact with Lambda function from using client library AWS Lambda
  • 12.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Hosting  Creates & configure S3 bucket for hosting  Configure Amazon CloudFront  Publishes assets to S3  Push updates when necessary directly from CLI Amazon S3
  • 13.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Storage  Create & configure Amazon S3 bucket  Manage user content for your app in public, protected or private storage buckets Amazon S3
  • 14.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS Amplify CLI Getting started Installing the CLI
  • 15.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS Amplify CLI Getting started Initializing a new project
  • 16.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS Amplify CLI Getting started Adding a feature
  • 17.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS Amplify Client Library Getting started Add library to project
  • 18.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS Amplify Client Library Getting started Add framework-specific library
  • 19.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS Amplify Client Library Getting started Import component
  • 20.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS Amplify Client Library Getting started Interact with services
  • 21.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. AWS Amplify This CLI & toolchain for the client greatly lowers the barrier to entry for developers & companies looking to build full-stack applications allowing them to not only iterate & experiment quickly, but also giving them the ability to do so at a lower cost. “ “
  • 22.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Survey: Your platform of choice
  • 23.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Demo
  • 24.
    © 2018, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Go build Daniel Geske, Solutions Architect <gesked@amazon.de>

Editor's Notes

  • #2 Build web apps and mobile apps quickly AWS Amplify released only a couple of weeks ago – in September Excited to tell you about it With Cli+toolchain- have toolkit to build really interesting things How to get up and running How to use amplify in actual app Intro self
  • #3 Aws amplify: cli+toolchain for client Get started easy Sign up for an AWS account—no upfront charges Install the CLI Build your app: ios, android, web, react native Provides ecosystem around building apps Split in two parts
  • #4 create +maintain sophisticated serverless backends for your apps With minimal effort Create, config services dir. From cmd line
  • #5 comprehensive library for building sophisticated cloud-powered apps Interact w/ diff svcs scaffolded into cli Rapidly build apps
  • #6 Dynamodb, rds, elastic search, diff rds engines Custom apis, graphql apis Get lambda up+running quickly dir from front-end Authent – easily, authorization on diff. endopoints Analytics w/ pinpoint Hosting of web app, publish dir. From cmd line Storage: s3
  • #7 Auth w/ cognito — diff. things related to user reg+ auth Forget pass, mfa Time based one time passwords, e.g. sophisticated user auth scenarios Create resources dir. From app, interact w/ them within app Add auth around it Lots cases that are not library specific: can write own modules But standard use cases: Sign-up form, sign-in forms - use pre-config components
  • #8 e.g. passwd policy failures: report out of box, no addt’l work requ’d See auth failures, draw conclusions, e.g. relax requirements
  • #9 Scaffold boiler plate code as starting point Once api created: use JS lib to interact w/ api
  • #10 Real-time Use appsync console Also can create graphql endpoint from cli Similar to auth components: use react+RN components Render queries dir from react/RN libs
  • #11 Combo of ddb+lambda+apigw Create resources, boilerplate code to interact CRUD w/o lots of intermediate code – handled for you
  • #12 Create standalone lambda fns Test locally
  • #13 Host website on AWS: 2 cmds to config website for hosting on s3 http interface Cust. domain w/ route53 DNS
  • #15 Will walk through Show in slide first, then show demo
  • #16 Go to app dir Then run ‘init’ Scaffold project, to prep, then ready to go
  • #17 Once app ready, add features Auth code, get local config ready
  • #18 Once all svcs you want are added locally Start interact w/ them using amplify client lib In same dir where we used amplify cli project Install aws amplify: amplify js lib to use in your proj.
  • #19 If js framework specific lib you want to use: If react project: add aws-amplify-react Angular project: use aws-amplify-angular built-in components for vuejs lib: use aws-amplify-vue
  • #20 Once local components installed, start using them Auth to allow us to use the diff. features in Amazon cognito
  • #21 Start interacting w/ services Place in scope Call Auth.signIn (user/pass) Sign-in returns promise If promise successful, log user in, typically start routing there Error: simply log error If want to learn more about Auth: has 30+ methods Github doc, aws doc site have lots of details avbl and shows how the diff. components work
  • #22 Summary: Amplify is toolchain Typically managing for startups or otherwise, expensive to hire devs, precious resource Experiment Want own auth service – takes many hours Use amplify to try out diff. managed services Try things out If experiment works, scale out If it doesn’t work, then didn’t invest lots of resources, try something else
  • #23 Who here develops for ios? Android? Web?
  • #24 create new react project create new func in react app to sign-up+sign-in to app, add analytics, look resources in console create-react-app amplifydemo cd amplifydemo amplify init — init new amplify project # editor: chose if here, if not “none” # dist: path where created code is put # aws acct: use profile, or register+create iam user amplify add auth # default: email, user, pass, sms # auth resources created, Cognito UP console code # index.js App.js aws-exports.js
  • #30 Thanks Build+send email with cool solutions Loft: Devops day and topics rest of week Ask an architect