As we mentioned in our blog post about reliability, we have moved all of our services into the Amazon Cloud and this post is a brief overview of how this helps our customers.
Hosting and delivering your websites
In order to actually deliver a website to a user, we need a robust web server to handle all of the incoming requests. By using Amazon Elastic Compute Cloud (Amazon EC2) we can eliminate the need to rely on a single hosting provider with a dedicated server. The issue with that setup, and it is pretty much a standard for all web design companies that we know of, is that it is a single point of failure and if that server goes offline or if they get network issues then then all of their customers websites go offline. The way that we get around this issue with EC2 is that we essentially load balance our servers and distribute them across multiple continents. If one data centre gets issues, or the server goes offline another one takes it's place. This may be from the same region if it is available, or it may even be from anywhere else across the world if ones aren't available locally. Either way, we have plans in place to maintain your website's availability.
Creating dynamic websites with your own styles and content
All of our websites are hosted on the same platform to take advantage of our custom built Content Management System (CMS). To do this we use Amazon Relational Database Service (Amazon RDS) to store and deliver dynamic websites that the customer has complete control over. All of our customers, and our own website, use our CMS to create their own unique website yet retain the core set of common functionality that all websites need. Amazon RDS ensures that not only is the dynamic data retrieved and displayed quickly, but it ensures that it is securely backup up and distributed across various platforms to ensure backups are always available from any location.
Monitoring the performance of your sites
As well as our own live uptime reports and monitoring reports, we also utilise Amazon CloudWatch to monitor our servers resources for issues with CPU, memory, transaction volumes etc. This allows us to have a real-time insight to how our websites are performing and ensure that the service is running reliably.
Automatically scaling of systems based on current demand
As part of the outcome of Amazon Cloudwatch metrics, we also implement Auto Scaling which allows us to supply additional resources if we need to. If we get a sudden surge of visitors and our websites start to slow down, we can automatically bring in additional servers to cope with the extra demand.
Creating a robust system for sending emails
All of our websites need some form of emailing facility, whether that is a contact form, blog comments, e-commerce order or even the built-in error reporting from our CMS. To send these emails we have again removed a single point of failure by getting rid of a standard SMTP server and moving our email sending over to Amazon Simple Email Service (Amazon SES). This provides us with a scalable email system with all of the benefits of enterprise level infrastructure.