SaaS Startup Checklist
Development
- Source Code Repository
- Continuous Integration
- Cross Browser Testing
- API
Deployment
- Domain Name
- Hosting
- Automated Deployment
- Backups
- Redundancy and Failover
- Alert and Monitoring
- Transport Layer Security
- Content Delivery Network
- YSlow! Web Performance Best Practices and Rules
- Application Performance Monitoring
- Error Tracking
- Analytics
- Social Media
- Status Page
- Image Optimisation
- Feedback Form
Resources
Cross Browser Testing
API
Documentation
- API Blueprint - API Documentation with powerful tooling.
- API Blueprint Language Specification
- iglo - API Blueprint's formatter.
- Apiary - Build beautiful APIs with collaborative design, instant API mock, generated documentation, integrated code samples, debugging and automated testing.
Domain Name
Hosting
Virtual Private Server (VPS)
Dedicated Server
Cloud
Automated Deployment
Backups
Database replication and frequent, off-site backups.
Redundancy and Failover
Server redundancy and fail-over, load balancing. Multiple, redundant hosting providers to handle datacenter outages.
Alert and Monitoring
- PagerDuty - Provides SaaS IT on-call schedule management, alerting and incident tracking.
Transport Layer Security
Keep your customer's data safe by using an encrypted connection with an SSL certificate. Mandatory for registration and login pages.
Content Delivery Network
Optimise delivery of web pages, block threats and limit abusive bots and crawlers.
YSlow! Web Performance Best Practices and Rules
Yahoo!'s Exceptional Performance team has identified a number of best practices for making web pages fast.
- Minimize HTTP Requests
- Use a Content Delivery Network
- Avoid empty src or href
- Add an Expires or a Cache-Control Header
- Gzip Components
- Put StyleSheets at the Top
- Put Scripts at the Bottom
- Avoid CSS Expressions
- Make JavaScript and CSS External
- Reduce DNS Lookups
- Minify JavaScript and CSS
- Avoid Redirects
- Remove Duplicate Scripts
- Configure ETags
- Make AJAX Cacheable
- Use GET for AJAX Requests
- Reduce the Number of DOM Elements
- No 404s
- Reduce Cookie Size
- Use Cookie-Free Domains for Components
- Avoid Filters
- Do Not Scale Images in HTML
- Make favicon.ico Small and Cacheable
Application Performance Monitoring
Monitor application performance and track historical trends. Should include page load times, error rates, slow transactions, servers resource usage. Correlate performance metrics with deployments/releases. Alerting for severe performance degradation.
- NewRelic - A powerfully simple way to monitor your Web & Mobile applications.
Error Tracking
Aggregate client and server errors, exceptions and failures. Should include stack traces, environment information, intelligent notifications, trend analysis.
- Sentry - Know immediately when things happen in your application. Engage users before they have a chance to report a problem.
- Airbrake - With deploy tracking, logging, dupe detection and a dashboard to track your exceptions, managing and triaging errors has never been easier.
- RayGun - Real time error reporting you can set up in under 5 minutes!
- Exceptional - Tracks errors in web apps. It reports them in real-time and gathers the info you need to fix them fast.
- Errbit - The open source, self-hosted error catcher.
- Google Stackdriver Error Reporting - Real-time exception monitoring and alerting. No limits.
Analytics
Client-side error tracking
- Errorception - Simple and painless way to find out about JavaScript errors, as they occur in your users' browsers. All you need to do is insert a script tag on your page, and you will start recording errors as they happen in real-time.
- QBaka - Cloud-based frontend error monitoring and analytics for web services & mobile HTML5.
- JSLogger - Log Javascript errors and events in the cloud.
- Muscula - Log your JavaScript errors, so you can fix them.
- BugSense - Get actionable reports on the health of your Javascript apps & websites!
- ExceptionHub - Easy Setup, drop in code and start collecting errors.
Social Media
Register appropriate usernames/pages on social media sites. Configure alerts for mentions, complaints and praise.
Status Page
Externally hosted resource displaying real-time system availabilty, historical uptime, latency, past incidents.
- StatusPage.io - The best way to create a status page for your app or website.