We would like to offer some best practices in setting up redundant, available, and efficient applications. This list will grow, but for now, we offer the core best practice: basic redundancy of important instances. Nothing can prevent random equipment failure, the occasional malfunction of an ISP, or even the rare catastrophic event. For this reason, our SLA is based on the kind of best practices redundant setup that makes sense in any datacenter.
Because of random hardware failure, it always makes sense to run two instance copies on two different servers. But global redundancy is an even better way to prevent downtime; then if an entire datacenter is affected, your applications stay live. AppNexus currently offers three datacenters: one in the New York region, one in Los Angeles and one in Amsterdam. For every key instance you run, we strongly advise setting up a load-balanced copy in the LAX1 datacenter, one in the NYM1 datacenter, and one in the AMS1 data center if your business include Europe.
Note that if your applications do not require the resources of an entire server, two or more separate applications could be made fully redundant using a total of two servers.
Steps to create two redundant instances:
rsyncto copy your instance to the second datacenter. Launch copies of your instances in each datacenter. See Start an Instance from a Custom Image for details.
Load Balancing Overview
Configuring Local Load Balancing
Managing Global Server Load Balancing
For security, we recommend locking down your entire VLAN and only opening really necessary ports and source and destination IP addresses. To access your VLAN, you would set up two jump instances on two different host servers and use these boxes for SSH connection to all your other instances.
Other Security Recommendations
It makes sense to run all externally facing services--even single applications--through the local traffic manager (LTM) for several reasons:
Another best practice is monitoring your instances for information on system load and connectivity issues. We recommend the Ganglia tool for this. For instructions, please see Monitoring Instances Using Ganglia. (For information on the monitoring that AppNexus does on core infrastructure, see here.)
As always, please create a ticket at https://portal.appnexus.com/ or contact us at firstname.lastname@example.org if you have any questions or concerns.