Solar Installers Directory, AWS S3 Static Hosting

Check out our latest pet project, our Solar Installers Directory.   Solar Installers Directory is a mobile friendly website hosted on an Amazon S3 bucket.   It has full https security, Cloudfront distributed content, and virtually zero server overhead.    The locations map is provided by our Store Locator Plus® SaaS service.

About S3 Hosting

Amazon Web Services (AWS) provides high-availability cloud storage via their S3 service.   Typically this is used to host off-site content such as backups or data that is not needed on a regular basis.    Some people use it to see AWS Cloudfront, a content distribution network, to speed up their sites for images or other content.   A lesser-known trick is using the S3 bucket to host a website.

While there are some limitations to what you can do, the site is static HTML + JavaScript + CSS, those last two components make “static” websites a far more viable option.    Modern user experiences can be built for any business that does not need a full database-driven site.    This is an exceptionally good fit for a “calling card” web presence.

Store Locator Server Upgrade

Cluster Teamwork

All of the Store Locator Plus® web properties are now living on an updated server cluster.   The new configuration, a load-balanced cluster, will provide zero-downtime maintenance window and faster performance under peak load;  These upgrades will be most noticeable for our SaaS users.

What Changed?

Our prior server configuration used a failover configuration.   In that type of configuration a web server handles 100% of the load and if it fails a second duplicate server that is in standby takes over.  This provides limited downtime with reduced costs; However, it also means there are routine service outages when the underlying software (Operating System, web services, web apps) are updated.

The current configuration, put into place over the weekend with zero downtime, uses a load balanced configuration.  In this configuration two-or-more servers mirror each other and are all online and answering web requests at the same time.  Requests are split between the servers with a goal of maintaining an average load of just under 50%.  This ensures that if one server fails the service stays up-and-running while a replacement server is automatically brought online to assist in web services.

The load balanced cluster also provides an added benefit of horizontal scalability. Failover style server could only be pushed up to a bigger server with more CPUs and RAM and faster network interfaces; a process that meant building ever-bigger servers with higher costs and longer maintenance window downtime.     The load balanced cluster configuration monitors server loads across the cluster and adds a new server automatically at set performance limits.   This ensures that there is a less-than-5-minute response time to adding capacity whenever there is a spike in usage.