Technical overview: How Organic works
A peek under the hood for technical leaders working at digital media publishers.
The Organic SaaS Platform includes products mapped to specific business needs, as well as a shared component library and headless frontend consumer experience architecture. Everything is driven by publisher-owned first-party data, which powers integrations and analytics, and is stored in clients’ data warehouses.
The Organic platform is a React/Next.js project with a GraphQL API connected to a Django (Postgres) backend deployed on AWS RDS, with Google BigQuery acting as the data warehouse.
We use Docker and Kubernetes (via AWS EKS) for containerization and orchestration and Celery for running asynchronous tasks. We use Sentry and Datadog for monitoring, and write tests primarily with pytest, Jest, and Selenium.See a more complete list of Organic’s media partners and tech integrations
Organic’s content management system, Organic Content, is built on top of WordPress, and has five major components:
React frontend and Elements component library
GraphQL API that connects the backend and frontend
Data and hosting services, including data compliance addressing regulatory policies such as GDPR and CCPA
Support for site-specific integrations, capabilities, or frontend components or templates
A thousand-foot view of how everything interacts:
Organic’s architecture and workflows grant autonomy to client engineers and contributors while preserving the stability of site’s content and user experience.
External engineers receive access to site-specific repositories in order to make business-specific frontend and backend changes, such as special blocks, widgets and custom promotional touts. With Organic‘s architecture, site-specific changes can be released in accordance with each client’s specific timelines and approval processes.
Any domain fully integrated with Organic (including the headless backend and DevOps management) has a site-specific Github repository for backend and frontend development. In addition, enterprise clients may have access to an additional backend plugin repository that impacts more than one domain across their business (commonly referred to as an “organization” repository).
Requests for changes to the core Organic Content codebase (the organic-content repository) may be submitted to Organic for review and approval. It is recommended that contributors propose these changes to Organic before beginning development work to obtain preliminary concept approval.
Organic monitors all hosted sites for uptime, performance, and other metrics.
Organic-hosted sites have more than 99.999% uptime. We use Pingdom to monitor uptime for all hosted production sites, focusing on homepages, sitemap pages, and other critical content.
Pingdom sends health check requests every minute to monitored URLs, then waits 30 seconds for a response of 200 OK. If this response is not received, Pingdom sends a notification to PagerDuty. PagerDuty notifies Organic engineers and product managers via Slack, and notifies Organic’s 24/7/365 on-call engineering team by phone to facilitate prompt investigations.
Organic uses AWS Cloudwatch Alarms to monitor critical AWS resources like RDS, Elasticache instances, and SES reputation. Organic tracks the following metrics:
IOPS burst balance
Free storage space
Current items number
If any metric hits a specified threshold, AWS notified Organic engineers and product managers via Slack for immediate investigation.
Organic uses Datadog for APM and infrastructure monitoring. The Datadog agent is installed on every EC2 host on staging and production EKS clusters. The Datadog agent collects the infrastructure data about CPU, memory, and free disk space, per every host. Organic monitors for the following scenarios:
High CPU usage
Low free disk space
Out-of-memory (OOM) event happened
Impressions per ad unit anomaly detected
Impressions per site anomaly detected
Organic installs Datadog packages on a code level to track application performance like database queries, code-level calls latency, requests to third-party services, dependencies, and other health metrics.
Organic uses Sentry to track application errors for hosted sites. Sentry packages are installed on a code level and send error details to the Sentry dashboard. If any error fits the specified alert rules, Organic engineers and product managers are notified via Slack for investigation.
Organic maintains its own tools to monitor other critical site functionality, including:
If changes are made to robots.txt files, a PagerDuty alert is generated.
Organic tracks failed Kubernetes CronJobs in production and staging clusters every five minutes.
If any WordPress post date was modified programmatically, an alert will be sent to the Organic engineering team via Slack.
Organic uses AWS and Fastly as Cloud Web hosting and CDN solutions, both of which promise at least 99.999% uptime scores. Organic-hosted sites perform at this rate, as measured by Pingdom.
Organic provides security features such as Web Application Firewall, DDOS protection, and Vulnerabilities Scanning. For a full account of Organic’s security features, contact Customer Support.
Organic-hosted sites have more than 99.999% uptime with only a few minutes outage per year.
Organic’s internal alert system allows us to respond immediately in the event of an outage.
Organic uses AWS Elastic Kubernetes Service; customer applications (e.g. sites and related services) work in isolated Docker containers.
Yes, it is possible to scale up or down resources based on client requests. When responding to requests to scale up or down, Organic may recommend optimizations that will more effectively address the underlying reason why such a request was made. The Organic DevOps team configures the infrastructure to optimize speed, performance, and cost values to ensure site and application performance. Organic’s hosting solutions allow for almost infinite scalability in terms of CPU/RAM, traffic, and storage to be able to handle sites of all sizes.
Yes, Organic offers 24-hour monitoring, with an alerts ecosystem using Pingdom, PagerDuty, Sentry, DataDog, and AWS Cloudwatch.
We do a production database backup every night around 1 a.m. UTC, and all backups are stored in S3.
Namecheap is our registrar.
Something else? Send us an email