Preferred tech stack
Software/web development and hosting
General
Task | Preferred tool | Pros | Cons |
Static site hosting | netlify |
| Watch out - commerical projects if we ever have any should not be on the sponsored team |
Virtual servers |
| ||
Database hosting | AWS RDS |
| |
Domain Registration | domains.co.za | Local, lots of our domains already there | |
DNS | Cloudflare | Supports apex domain aliases (Regularly resolves the provded hostname to serve an A record as if it's a CNAME) | |
Configuration management | One authoritative representation of how an app should currently be deployed. Deploying additional instances is trivial | It only works if we keep it up to date | |
Secrets management (for things needed when we deploy apps) | Built on simple principles. Very secure. | Steep learning curve even for techies. Not usable by non-technical people. | |
Running apps on servers | dokku |
| Not suitable for every situation, e.g it doesn't have a notion of dependencies between apps. Docker Networks solves this better than Docker Links though. |
Databases that accept writes at runtime | PostgreSQL | Has JSONB field types where optional nested fields can be indexed | |
Databases that accept writes at data-loading events | SQLite | ||
Website monitoring | uptimerobot (migrating from uptimedoctor.com) | Most affordable, does the job | |
Error alerting | sentry.io | Very helpful request and error data capture/presentation, Aggregating many instances of the same error (as opposed to 1000 emails of the same issue) Open Source sponsorship for team account | |
Application Performance Monitoring (APM) | sentry.io | ||
Port monitoring (notifications when a new port opens on a server) | hackertarget.com | Diff of open ports via email makes it really easy to spot changes and decide if they thought be open or not. |
Software/web development stack
Please discuss deviations from our standard stack options in #technology-advice-grp.
See Tech to try in our Tech Infrastructure backlog for exploring alternatives to these.
Name | Components | Good for | Bad for | Dev costs | Running costs |
Webflow static site, webflow-hosted | Webflow | Visually appealing sites | Frequent content edits | Webflow designer time | $12/m annual; $15/m monthly |
Webflow static site, static-hosted | Webflow, static hosting | Visually appealing sites, free hosting | Frequent content edits | Webflow designer time | Free - updates require developer to redeploy (30 minutes) |
Webflow CMS | Webflow | Visually appealing sites, easy content management | more than 2000 data items | Webflow designer time | $16/m annual; $20/m monthly |
Webflow frontend as Django templates | Webflow, Django | Visually appealing sites, social-sharing metadata, thousands to millions of data items | Hosting has an operations overhead | Webflow designer time, Django developer time, Javascript developer time | ~$5 per month + hosting operations |
Webflow frontend as Single Page App | Webflow, API backend (probably Django) | Visually appealing sites, independence of frontend and backend developer, thousands to millions of data items | Hosting has an operations overhead | Webflow designer time, Django developer time, Javascript developer time | ~$5 per month + hosting operations |
Django apps
Our preferred way to structure and use django apps is documented and templated using our Django Cookiecutter
Last updated