Más contenido relacionado La actualidad más candente (20) Similar a From Idea to Customers: Developing Modern Cloud-Enabled Apps with AWS (MOB201) - AWS re:Invent 2018 (20) Más de Amazon Web Services (20) From Idea to Customers: Developing Modern Cloud-Enabled Apps with AWS (MOB201) - AWS re:Invent 20182. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
From Idea to Customers:
Developing Modern Cloud-Enabled
Apps with AWS
M O B 2 0 1
Lisa Shon
Software Engineer
Amazon Web Services
Tomas Batalla
Software Engineer
Goodreads
3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is Goodreads?
The world’s largest site for readers and book recommendations.
Our mission is to help people find and share books they love.
5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Our platforms
6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
We have a lot of content
• 80 million users
• 2.3 billion books shelved
• 83 million text reviews
• With all this content, how can we help our users’ discover the next
great book for them?
7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Product Lifecycle
Idea Design Develop
DeployOperate
TestImprove
8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Idea
9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Design
• UI
• But also technology
• What platform will you use?
• How are you going to fetch the data?
10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why cross-platform?
• Feature parity across mobile surfaces
(especially if design is “product specific”)
• Cost of development
• Over the air (OTA) updates
• Large open-source community support
11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why not cross-platform?
• Need to learn JavaScript
• Another surface to maintain
• Nascent technology
12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Getting the data
13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Solving our data fetching problem
• Does it solve the problem?
• Scale
• Domain Development
• Consistency
• Bonus: Fun
14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
But it’s a service
We don’t want to run ops
15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Design
16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Develop
• Scope
• Unit tests
• Test Driven Development (TDD) — Red,
Green, Refactor
• Use environments
• Code review
17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deployments
• Test
• Preprod environments
• Production
18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
App testing
• QA testing — Manual and Automated
• Beta/internal release
19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deploy
Release the app to our users
20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Operational Metrics
• Crashes
• Latency
• Client errors and server errors
• Transactions per second (TPS)
21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Business metrics
• Shelvings
• Users
• Page views
22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Improve
• How are customers responding?
• What do the metrics say?
23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Building on the feature
24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Back to Design
Idea Design Develop
DeployOperate
TestImprove
25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What problem am I solving?
27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What does my app look like?
29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What does my app look like?
30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Which platforms to support?
31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Platforms
32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is the MVP for my app?
33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is the MVP for my app?
• Given a sentence
• And a language
• Return the translation in that language
34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Interacting with services
35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Domain objects
37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
GraphQL
• Strong typing
• Queries, mutations, subscriptions
• Client-specified shape of response
• Efficient
• Extensible
38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS AppSync
http://
query/mutation
subscription
39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS AppSync
Serverless Any
data source
Real-time data
GraphQL
facade
Conflict resolution
Enterprise security
Cross-platformOffline data
http://
40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Resources in the Cloud
43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
46. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
47. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Test
• Local testing in simulators and emulators
• Functional testing
• User experience testing
• Real-device testing
• Different form factors
48. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Real-device testing
Test Android, iOS, and web apps on real devices in the cloud
49. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
51. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
52. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Backend
53. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Backend
production
development
54. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Backend
production
development
continuous deployment
55. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
56. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How does my app perform?
57. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monitor resources and applications
59. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How is my app used?
60. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How is my app used?
• Number of users
• Unfulfilled requests
• Most popular breed
• Time in app
61. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How is my app used?
Engage users via email, push, SMS & analytics
62. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
64. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
65. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Evaluate needs
• Improve retention
• Improve acquisition
• Improve stability
66. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
68. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
69. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Idea Design Develop
DeployOperate
TestImprove
70. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Resources
Sample app on Github:
https://github.com/dabit3/appsync-lambda-ai
Goodreads:
https://www.goodreads.com
https://www.goodreads.com/jobs (we’re hiring!)
71. Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lisa Shon
Tomas Batalla
72. Time: 15 minutes after this session
Location: Speaker Lounge (ARIA East, Level 1, Willow Lounge)
Duration: 30 min.
73. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.