Cloud Notes
Understanding Software as a Service (SaaS) model where applications are delivered over the internet, covering examples like Office 365, Salesforce, and Google Workspace.
Software as a Service (SaaS) is a cloud computing model where software applications are hosted by a provider and made available to customers over the internet. Users access the software through a web browser without installing, maintaining, or managing the underlying infrastructure.
SaaS Responsibility Model
Popular SaaS Applications
| Category | SaaS Application | Users |
|---|---|---|
| Email & Productivity | Google Workspace, Office 365 | 3B+ |
| CRM | Salesforce, HubSpot | 150M+ |
| Communication | Slack, Zoom, Teams | 500M+ |
| Project Management | Jira, Asana, Monday.com | 100M+ |
| Design | Figma, Canva, Adobe CC | 200M+ |
| Development | GitHub, GitLab, Bitbucket | 100M+ |
| Accounting | QuickBooks, Xero | 50M+ |
| HR | Workday, BambooHR | 50M+ |
SaaS Architecture
SaaS Integration with APIs
Most SaaS platforms provide APIs for integration and automation:
# Salesforce API - Create a new contact
curl -X POST https://yourorg.salesforce.com/services/data/v58.0/sobjects/Contact \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"FirstName": "John",
"LastName": "Doe",
"Email": "john.doe@example.com",
"Company": "Acme Corp"
}'
# Slack API - Send a message
curl -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer xoxb-YOUR-TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "C0123456789",
"text": "Deployment complete! :rocket:"
}'
# GitHub API - Create a repository
curl -X POST https://api.github.com/user/repos \
-H "Authorization: token YOUR_GITHUB_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "new-project",
"private": true,
"description": "My new project"
}'SaaS Pricing Models
| Model | Description | Example |
|---|---|---|
| Per-user/month | Fixed price per user | Office 365 ($12.50/user/mo) |
| Tiered | Feature-based tiers | Slack (Free, Pro, Business+) |
| Usage-based | Pay for what you use | Twilio (per message/call) |
| Freemium | Free tier + paid upgrades | Notion, Figma |
| Per-seat + usage | Combination model | Salesforce |
Advantages of SaaS
- No Installation Required: Access from any browser
- Automatic Updates: Always running the latest version
- Lower Total Cost: No hardware, no IT staff for maintenance
- Accessibility: Work from anywhere, any device
- Scalability: Provider handles capacity
- Rapid Deployment: Start using in minutes
- Free Trials: Try before committing
Disadvantages of SaaS
- Limited Customization: Can't modify the core application
- Data Security: Your data lives on someone else's servers
- Internet Dependency: No internet = no access
- Vendor Lock-in: Difficult to export data and migrate
- Integration Challenges: May not integrate with all systems
Building a SaaS Application
Interview Questions
- What is SaaS and give five everyday examples?
SaaS delivers ready-to-use applications over the internet. Examples: Gmail (email), Slack (messaging), Salesforce (CRM), Netflix (streaming), Zoom (video conferencing). Users access via browser without installation.
- How does multi-tenancy work in SaaS applications?
Multiple customers (tenants) share the same application and infrastructure. Data isolation is achieved through separate databases, shared database with separate schemas, or shared tables with row-level security. Each tenant sees only their data.
- What security concerns should organizations consider before adopting SaaS?
Data residency (where is data stored?), encryption (at-rest and in-transit), access controls, compliance certifications (SOC 2, ISO 27001), vendor's breach history, data portability, and backup/recovery policies.
- Compare SaaS, PaaS, and IaaS in terms of user responsibility.
SaaS: user manages only data and access (e.g., using Salesforce). PaaS: user manages application code and data (e.g., deploying on Heroku). IaaS: user manages OS, runtime, applications, and data (e.g., running VMs on EC2).
- What are the key architectural decisions when building a SaaS product?
Multi-tenancy strategy (shared vs dedicated resources), authentication/SSO approach, billing integration, scalability design, data isolation method, API design for integrations, and deployment strategy (blue-green, canary).
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for SaaS - Software as a Service.
Interview Use
Prepare one clear explanation, one practical example, and one common mistake for this Cloud Computing topic.
Search Terms
cloud-computing, cloud computing, cloud, computing, service, models, saas, software
Related Cloud Computing Topics