5. AWS Cloud Kata for Start-Ups and Developers
Fail Fast
Fail Cheap
Fail Forward
6. AWS Cloud Kata for Start-Ups and Developers
Scale Success
7. AWS Cloud Kata for Start-Ups and Developers
Validate Idea
8. AWS Cloud Kata for Start-Ups and Developers
Minimum Viable Product (MVP)
Releasequickly
Limited core features
Iteratein production
Decisions based ondata
“Production is truly the only place
you can validate your code”
-Michael Nygard, author of ‘Release it!
9. AWS Cloud Kata for Start-Ups and Developers
Application Architecture
for MVP’s Core Features
10. AWS Cloud Kata for Start-Ups and Developers
Tightly Coupled, Monolithic (monster)
11. AWS Cloud Kata for Start-Ups and Developers
Decomposed to Services
12. AWS Cloud Kata for Start-Ups and Developers
Decomposed to Services
13. AWS Cloud Kata for Start-Ups and Developers
Decomposed to Services
14. AWS Cloud Kata for Start-Ups and Developers
Define Your MVP’s Building Blocks
15. AWS Cloud Kata for Start-Ups and Developers
Define Your MVP’s Building Blocks
Compute
Object Store
Load Balancer
SQL Database
Identity & Access
Data Warehouse
Application Lifecycle
CDN
Recommendation Engine
Social Login SSO
BI Analytics
Web Server
Reverse Proxy
My Second Cool Feature
My Cool Feature
17. AWS Cloud Kata for Start-Ups and Developers
Focus on Your Core Differentiator
18. AWS Cloud Kata for Start-Ups and Developers
Offload Undifferentiating Ones to Services
Amazon EC2
Amazon S3
Elastic Load Balancing
Amazon RDS
AWS IAM
Amazon RedShift
AWS OpsWorks
Amazon CloudFront
EasyRec
HybridAuth
JasperSoft
Puma
Nginx
My Second Cool Feature
My Cool Feature
19. AWS Cloud Kata for Start-Ups and Developers
Amazon Web Services
20. AWS Cloud Kata for Start-Ups and Developers
Regions, Zones and Edge Locations
21. AWS Cloud Kata for Start-Ups and Developers
PlatformServices
Databases
Caching
Relational
No SQL
Analytics
Hadoop
Real-time
Data Workflows
Data Warehouse
App Services
Queuing
Orchestration
App Streaming
Transcoding
Email
Search
Deployment & Management
Containers
Dev/ops Tools
Resource Templates
Usage Tracking
Monitoring and Logs
Mobile Services
Identity
Sync
Mobile Analytics
Notifications
Foundation
Services
Compute
(VMs, Auto-scaling and Load Balancing)
Storage
(Object, Block and Archive)
Security & Access Control
Networking
Infrastructure
Regions
CDN and Points of Presence
Availability Zones
Enterprise
Applications
Virtual Desktops
Collaboration and Sharing
22. AWS Cloud Kata for Start-Ups and Developers
Discover SW Components –AWS marketplace
23. AWS Cloud Kata for Start-Ups and Developers
Discover SW Components –GitHub
24. AWS Cloud Kata for Start-Ups and Developers
Discover SW Components –NetflixOSS
25. AWS Cloud Kata for Start-Ups and Developers
Services are Black Boxes Exposed via APIs
My Cool Feature
Iterate, even re- write internal implementation
API is stable, with few changes, potentially versioning
API
e.gJSON / REST over HTTP
26. AWS Cloud Kata for Start-Ups and Developers
Loose Coupling Enables Scale-out and ResiliencyUse Message Queues
27. AWS Cloud Kata for Start-Ups and Developers
Loose Coupling Enables Scale-out and ResiliencyUse Message Queues
Simple Queue Service (SQS)
28. AWS Cloud Kata for Start-Ups and Developers
Loose Coupling Enables Scale-out and ResiliencyUse Idempotent Interfaces
29. AWS Cloud Kata for Start-Ups and Developers
Loose Coupling Enables Scale-out and ResiliencyUse Circuit Breakers
30. AWS Cloud Kata for Start-Ups and Developers
Loose Coupling Enables Scale-out and ResiliencyUse Circuit Breakers
Temporarily bypass unresponsive service. Switch to degraded mode transactions
31. AWS Cloud Kata for Start-Ups and Developers
Auto Scale, Load Balance, Monitor, HA AssureEach Service Separately
32. AWS Cloud Kata for Start-Ups and Developers
Statelessness Enables Scale-outSeparate State and Data from Compute Instances
Load Balanced, Auto Scaling pool of EC2 Workers
Scalable Services for
State and Data
ElastiCache
DynamoDB
S3
33. AWS Cloud Kata for Start-Ups and Developers
Amazon DynamoDB
Zero Admin NoSQLService
Unlimited Storage
Provisioned Throughput
<10ms response time
Durable on SSD
34. AWS Cloud Kata for Start-Ups and Developers
Cloud-SOA
Service
Oriented
Architecture
Cloud-native New Applications
SOA principles leveraging Cloud services
Architect for
•Automation
•Scale
•Cost
•Availability
•Data
Applications are
•Always-on
•Self-healing
•Anti-fragile
35. AWS Cloud Kata for Start-Ups and Developers
Implemented by Two-Pizza Teams
Small, autonomous teams
Full responsibility for Service X
Decoupled launch schedules
No handovers
Trust
36. AWS Cloud Kata for Start-Ups and Developers
Putting It All Together into a Solution
37. AWS Cloud Kata for Start-Ups and Developers
Putting It All Together into a Solution
38. AWS Cloud Kata for Start-Ups and Developers
Putting It All Together into a Solution
39. AWS Cloud Kata for Start-Ups and Developers
Putting It All Together into a Solution
44. AWS Cloud Kata for Start-Ups and Developers
Java SDK
…
res = ec2.runInstances new RunInstancesRequest([
imageId: "ami-00754474",
keyName: ”MyKeyPair",
instanceType: ”m3.medium",
securityGroups: [”MySecurityGroup"],
minCount: 1,
maxCount: 1,
userData:
"AWSWeb.war".bytes.encodeBase64().toString( )
])
…
45. AWS Cloud Kata for Start-Ups and Developers
Unified Command Line Interface
~ $ awsec2 run-instances
--image-id ami-554ac83c
--min-count 1
--max-count 1
--key-name MyKeyPair
--security-groups MySecurityGroup
46. AWS Cloud Kata for Start-Ups and Developers
« Cloud Instance is an
implementation of a
known, good state »
DrRich Wolski, UCSB
47. AWS Cloud Kata for Start-Ups and Developers
AMI
AMI
AMI
YOUR CODE
CORE SERVICES
3rdPARTY LIBRARIES
OPERATING SYSTEM
YOUR CODE
CORE SERVICES
3rdPARTY LIBRARIES
OPERATING SYSTEM
YOUR CODE
CORE SERVICES
3rdPARTY LIBRARIES
OPERATING SYSTEM
Pre-baked Image
Base OS Image + Orchestration
48. AWS Cloud Kata for Start-Ups and Developers
3rdParty Configuration Mgmt& Orchestration Tools
49. AWS Cloud Kata for Start-Ups and Developers
AWS Elastic AWS OpsWorks AWS CloudFormation
Beanstalk
DevOps framework for
application lifecycle
management and
automation
Templates to deploy &
update infrastructure
as code
Automated resource
management – web
apps made easy
DIY /
On Demand
DIY, on demand
resources: EC2, S3,
custom AMI’s, etc.
Convenience Control
AWS Services for Application Lifecycle Management
50. AWS Cloud Kata for Start-Ups and Developers
CloudFormation
Template
52. AWS Cloud Kata for Start-Ups and Developers
SOURCE CODE REPOSITORY
DNS
CONTINUOUS INTEGRATION SERVER
PROJECT MANAGEMENT SERVER
BUILDS
DATABASE
STORAGE
53. AWS Cloud Kata for Start-Ups and Developers
CLOUDFORMATION TEMPLATE
BUILD +
DB SNAPSHOT
54. AWS Cloud Kata for Start-Ups and Developers
Application Versions + Infrastructure Versions
Application
Your Code
Infrastructure
To Run and Support Your Code
55. AWS Cloud Kata for Start-Ups and Developers
Deliver Continuously
56. AWS Cloud Kata for Start-Ups and Developers
test
Continuous Integration
code
build
plan
Agile Development
Source http://www.collab.net
deploy
operate
collaboration
value
DevOps
release
Continuous Delivery
57. AWS Cloud Kata for Start-Ups and Developers
Go Global –in Minutes
Launch in a test market
A/B Testing
Collect all logs
Analytics Insights Iterate
or Pivot
Once you hit the sweet spot –
Replicate to all regions
59. AWS Cloud Kata for Start-Ups and Developers
Measure outliers &
ends of distribution
Measure & Log Everything
Amazon CloudWatch
60. AWS Cloud Kata for Start-Ups and Developers
COLLECT | STORE | ANALYZE | SHARE
Import Export
Glacier
S3 EC2
DynamoDB Redshift
EMR
Data Pipeline
Direct Connect S3
Leverage AWS Big Data Services
CloudFront
Kinesis
61. AWS Cloud Kata for Start-Ups and Developers
Keep Iterating
62. AWS Cloud Kata for Start-Ups and Developers
Keep Innovating
63. AWS Cloud Kata for Start-Ups and Developers
«Want to increase innovation? Lower the cost of failure»
JoiIto
MIT MediaLabs
64. AWS Cloud Kata for Start-Ups and Developers
AWS Lowers the Cost of Failure
Experiment Often
Fail quickly at a low cost
More Innovation
Experiment Infrequently
Failure is expensive
Less Innovation
“ON-PREMISE”
66. AWS Cloud Kata for Start-Ups and Developers
Which Track to choose?
I have used AWS before and/or understand the basics?
I like to learn AWS basics & get my MVP go global
Track 1
NO
YES
NO
I am a Techie & want to Dive Deep into AWS
Track 2
YES
NO
YES
I like to learn Startup Insights & Best Practices
Track 3
YES
NO