Modern Application Development for Startups
- 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Modern Application Development for
Startups
Donnie Prakoso
Senior Technical Evangelist, ASEAN
Amazon Web Services
@donnieprakoso
donnieprakoso
- 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Rapid innovation is an imperative
Exploit existing
capabilities
Make your
numbers
Explore new
opportunities
Incubate
new ideas
- 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
ListenIterate
Experiment
Innovation
flywheel
Experiments power the engine of rapid innovation
- 5. If you’re good at course correcting,
being wrong may be less costly than you think,
but being slow is definitely going to be costly
- 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Development transformation at Amazon: 2001–2002
Monolithic application
+ teams
2001
Lesson learned: Decompose for agility
2002
Microservices
+ two pizza teams
- 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Full ownership
Full accountability
DevOps
Focused innovation
Two-pizza teams
- 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Deployment at scale
Teams Microservices CI/CD Serverless
> 60 million deployments a year*
- 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Update applications & infrastructure
quickly by automating CI/CD
- 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Automating your CI/CD
practices increases
product quality
Automating your CI/CD
practices increases
developer productivity
- 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Teams that automate CI/CD ship more code faster,
and with more confidence
<20% 5x 44%
DevOps teams have
automated continuous
deployment pipelines
Fully automated teams
reduce update errors
five-fold
More time is spent on new
features when teams use
continuous delivery
- 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
We released the AWS developer tools for continuous
integration and continuous delivery (CI/CD)
AWS CodeBuild +
third party
AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS X-Ray
Source Build Test Deploy Monitor
AWS CodePipeline
- 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Microservices
- 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Microservice
Event
Event
Microservice
Microservice
Event
API
Microservice
Event
API Microservice
Application
Mobile client
Client
IoT
Persistence Persistence
Queue
Topic
- 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
APIs are the front door of microservices
- 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
APIs are the “hardened contract”
between teams
- 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Manage APIs with Amazon API Gateway
Mobile apps
Websites
Services
Internet Amazon
CloudFront
Amazon CloudWatch
monitoring
API
Gateway
cache
Any other
AWS service
All publicly
accessible
endpoints
Lambda
functions
Endpoints
in your VPC
Regional API endpoints
AWS Lambda
functions
Endpoints on
Amazon Elastic
Compute Cloud
(Amazon EC2)
Your virtual private
cloud (VPC)
Amazon Web Services
(AWS)
- 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
AWS AppSync
Managed serverless
GraphQL service
Connect to data
sources in your account
Add data sync, real-time, and
offline capabilities for any data
source or API
GraphQL facade for any
AWS service
Conflict detection and
resolution in the cloud
Enterprise security features:
IAM, Amazon Cognito, OIDC,
API keys
- 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Microservice
Event
Event
Microservice
Microservice
Event
API
Microservice
Event
API Microservice
Application
Mobile client
Client
IoT
Persistence Persistence
Queue
Topic
Microservices make integration a priority
- 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Integration options from AWS
Queues
Simple
Fully-managed
Any volume
Pub/sub
Simple
Fully-managed
Flexible
Orchestration
Powerful
Fully-managed
Low code
Amazon
API Gateway
Amazon
SQS
Amazon
SNS
AWS
Step Functions
Connect
Efficient
Fully-managed
Real-time
Client-to-Service Service-to-Service Orchestration
- 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Event-driven architectures
- 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Amazon SNS
“CheckoutEventsTopic”
Event storage and backup
pipeline
Event search and analytics
pipeline
Event replay pipeline
Checkout event processing pipeline
filtered orders (amount >= $100)
Orders to replay
All
orders
AWS Cloud
Ecommerce
users
Internet
Lambda
“CheckoutFunction”
Amazon SQS
“CheckoutQueue”
Lambda
“CheckoutFunction”
Amazon
DynamoDB
“CheckoutTable”
Event-driven architecture
- 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Decouple state from code using
messaging
- 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Decouple state from code using messaging
Queues
Simple
Fully managed
Any volume
Pub/sub
Simple
Fully managed
Flexible
Amazon Simple
Queue Service
(Amazon SQS)
Amazon Simple
Notification
Service (Amazon
SNS)
Messaging
Synchronization
Rapid
Fully managed
Real time
Amazon
CloudWatch
Events
- 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Simplify infrastructure management with
serverless technologies
- 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
What is serverless?
No infrastructure management Automatic scaling
Pay for value Highly available and secure
- 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Lambda Fargate
API Gateway
Amazon
SNS
Amazon
SQS
AWS
Step Functions
Compute
Data stores
Integration
Aurora ServerlessAmazon S3 DynamoDB
AWS
AppSync
- 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Serverless compute engine
for containers
Long-running
Bring existing code
Fully-managed orchestration
No server management
AWS Fargate
Serverless compute on AWS
Serverless event-driven
code execution
Short-lived
All language runtimes
Data source integrations
No server management
AWS Lambda
- 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Making development easier with Lambda
Accessible for
all developers
Enable new
application patterns
Greater
productivity
Support for all runtimes
with Lambda Layers and Runtime API
ISO, PCI, HIPAA, SOC, GDPR,
and FedRamp compliances
15-minute functions
Amazon SQS for Lambda
Automatic load balancing for Lambda
Support for Kinesis Data Streams Enhanced
Fan-Out and HTTP/2
Toolkits for popular integrated
development environments (IDEs):
VSCode, IntelliJ, and PyCharm
Simplified deployment
with nested apps
- 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Author and debug Lambda applications on AWS
using your favorite IDEs
Python, Node Python Java .NET, Node
- 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Serverless containers with Fargate
Bring existing code Containers as first-class
primitive
Production ready
No changes required of existing
code, works with existing
workflows and microservices built
on Amazon ECS
Time- and event-based scheduling,
network integration, individually
metered and billed; native service
discovery
ISO-, PCI-, HIPAA-, SOC-
compliant. Launch tens or tens of
thousands of containers in
seconds in
AWS global regions
- 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Conclusion
- 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Moving Forward
Microservices
Componentization
Business capabilities
Products not projects
Infrastructure automation
Serverless
No provisioning/management
Automatic scaling
Pay for value billing
Availability and resiliency
DevOps
Cultural philosophies
Cross-disciplinary teams
CI/CD
Automation tools
DEV OPS
- 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Increase
customer
value
Build better
products
Innovate
more often
Release
features
faster
Focus on
business
logic
Decouple
software
systems
Automating and abstracting away as much as possible so we can focus on building
applications for our customers
We are witnessing a paradigm shift
- 36. Thank you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A
Donnie Prakoso
Senior Technical Evangelist, ASEAN
Amazon Web Services
@donnieprakoso
donnieprakoso
- 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.C L O U D D A Y
J A K A R T A