Download - Lego bricks of cloud applications
Lego Bricks of Cloud Apps
Ahmed Soliman! R&D Director, Founder
@AhmedSoliman
What do you mean by Cloud Applications?
Why should you care?
Scalability is not a feature
Design for failure and it will not happen
Designing for failure is hard*
*Why not externalising as much components as possible then?
Typical Application Components• Mailing Service for sending individual or mass e-mail
• Notification service for sending push notifications (mobile backends)
• Message Queuing Service for dispatching tasks to asynchronous workers
• Search and data indexing
• Data Store (Database), for storing relational or non-relational data
• File Store, for storing images and other static assets
Infrastructure Services Data Services
Your ApplicationApplication Services
Externalise Components as Services
Application Services
Outbound E-Mailing Service
• Marketing
• Transactional
• Notifications
• Social Networking SES (Simple Email Service)
Queuing Service / Message Bus
• Essential for component decoupling
• Dispatch tasks to asynchronous workers
• Breakdown big tasks into smaller tasks to be consumed in parallel by other servicesSQS (Simple Queue Service)
Message Bus Service
Service 1 Service 2 S 3 S 4
Database Service
• Scalable, Fast, Reliable!
• RDS (Relational Database)!
• MySQL, Oracle, MS SQL Server, and PostgreSQL!
• DynamoDB (NoSQL Database Service)
Search and Indexing Service
• Multiple Languages Support
• Multiple Data-types Support
• Scalable, Highly Available
• Geospatial SearchAmazon CloudSearch Service
Mobile Push Notification Service
• Integrates with the message bus (queuing service)
• Support for Google, Apple, and Amazon devices
• Proper formatting for every device
• SNS (Simple Notification Service)
Infrastructure Services
Caching Service
• In-memory data grid
• Memcached and Redis storage engine support
• Elastic, easy to add or remove storageAmazon ElastiCache
Load BalancerELB - API-based HTTP Load Balancer
Content Distribution Network
Serve Static Content Incredibly Fast — Amazon CloudFront
Storage ServiceAmazon S3 / EBS
Data Services
Elastic Map ReduceHadoop as a service
Real-time Data ProcessingAmazon Kinesis
Data Warehouse ServiceAmazon Redshift
Conclusion
–Unknown Wisdom
“Building scalable applications by externalising core services to Amazon AWS and focus on your business logic without re-
inventing the wheel”