- Definition: Customer deploys applications using languages, libraries, and tools supported by provider
- Customer manages: Applications and data only
- Provider manages: OS, middleware, runtime, infrastructure
- Compared to IaaS:
- Higher abstraction level
- Less development/maintenance effort (no OS patching)
- Less flexibility, higher provider dependence
- Pricing models:
- Time-based, per query, per message
- CPU usage for request-triggered applications
- Example: Amazon DynamoDB
- Key-value store with high scalability
- Highly available, peer-to-peer approach
- No single point of failure
- Optimized for key-value operations
- Benefits:
- Reduced development complexity
- Automatic scaling
- Focus on application code, not infrastructure