Behind the Scenes: Delivering Optify’s Inbound Marketing Magic
“Any sufficiently advanced technology is indistinguishable from magic.”
–Arthur C. Clarke
Some days, the results you get from the Optify application feel like magic. But as Arthur C. Clarke notes in his famous 3rd law, it takes sufficiently advanced technology to power this illusion. We employ our fair share of technology to deliver the marketing tools and insights that you require as a modern B2B marketeer, and often we get asked how we do it? So let’s take a look behind-the-scenes to see what it takes to deliver a SaaS hosted application like Optify’s. And in honor of the 3rd law, we’ll do this “by the numbers.”
19 – Distinct Optify services – Five external services (e.g. the dashboard, and the Optify Marketing API) and 14 internal services, which handle everything required to power the functions you see in the dashboard. We strive to architect all services for resiliency and high-availability, as well as the ability to horizontally scale as growth dictates.
18 – Integration with 18 external services – The Optify application collects its own information via pageviews, forms, etc., but also integrates and performs a mashup with data from 18 external services (e.g. Salesforce, google, bing, Facebook, Twitter, etc.)
54 – Production servers hosted in two Softlayer data centers. I’ve got to add I’ve become a huge fan of Softlayer, they are the most impressive vendor I’ve ever done business with.
And a few interesting totals on our production servers:
- 832GB RAM
- 378 processor cores
- 212 hard drives
- 96.7TB disk space (Almost ¾ lost to RAID configurations and backups)
- 2.5TB customer data currently stored in the databases
Development, testing, and QA is a challenge with this many services and machines, so we also utilize Amazon Web Services to spin up testing versions of the complete environment on-demand.
4 – Database Technologies – PostgreSQL, Cassandra, ElasticSearch, and MongoDB. Given the big data approach and the disparate functions, we need different database technologies to optimize the application.
7,925 – Individually monitored items. We need visibility throughout the stack to ensure we meet our uptime goals. And with this complex an infrastructure, we monitor everything that can be instrumented. For tools, we use Zabbix, Pingdom, Keynote, swatch, custom tools, and Graylog2 (which has already collected over 20 million messages since being put into service on August 1),. We also use PagerDuty for alerting.
We currently have several current DevOps initiatives; automation with Chef and a major upgrade to Zabbix, also with automation to aid in handling the scale and growth.
And while Optify’s Marketing Dashboard is the most visible service that our customer’s see, the most critical service we host receives the incoming pageviews and forms (leads) from the visitors to your web site. Pulling up the year-to-date uptime metrics on that incoming service, I see 100% uptime, which, from the point of view of an operations guy, is truly magic.