PlantX: Ready for the future! 2020 was the year interrupted, and so we used the time to get PlantX ready for the future! As we enter our third decade of operations (yes, it's been 20 years), we made some underlying technical changes necessary to pave the way for the next decade.
In short, with isolation time on our hands, we spent nearly 2,000 hours upgrading our services and servers.
- We upgraded the database technology used by the nearly 600 operations that make up PlantX
- We moved our cloud services to Amazon's 1.6 trillion dollar cloud hosting services.
New Database Tech
Every time someone adds, changes or deletes information in PlantX it requires a database operation. By upgrading the underlying database, the service can now process 10 times as many operations every second! Furthermore, it allows us to process many of those operations simultaneously! This reduces, or eliminates any congestion during daily operations.
In order to support the new database features, it required that we rewrite nearly 600 server operations. To ensure a seamless transition, we also wrote a test for each one to check the integrity of the upgrade.
For 20 years we've maintained our own server equipment, Internet connections and the firewall and security between the two. We budget for regular server upgrades every 3 to 4 years and replace storage devices every 18 months. This time however, rather than upgrade our server equipment, we have moved our services to Amazon's trillion dollar network.
Four years ago we reviewed Amazon's offering but the costs were prohibitive. Last fall we checked again and the costs had fallen significantly, nearly 80%. Although moving our cloud to Amazon's services will triple our typical server budget, we feel the added benefits from Amazon's infrastructure and services will net an equal return.
To name just a few of theses benefits:
- Faster! Our fiber network is 150 mbps (megabits per second), while Amazon's network is 10,000 mbps. That's 10 gigabits! Amazon servers can “talk” to one another across the country 10 times faster than the computers can talk within your office.
- Quicker! Not only can Amazon's network move more information, it can respond more quickly to small requests. Every add, change or delete you perform in PlantX is only limited by the speed of your Internet connection.
- Everywhere! Amazon's network is a global network and designed to serve data all over the globe. Known as an “edge network”, your data is served from several locations around the world so your website always appears nearby. For example, the websites are hosted in Amazon's Oregon facility, but east coast customers will be served simultaneously by Amazon's east coast servers.
- Availability! Never another power outage to interrupt service. We had a couple of outages last year that exceeded our battery backup's one-hour run time, and the last one in November actually destroyed the battery backup. Amazon's facilities have redundant power sources and backup generators to avoid any such interruptions.
- Reliability! We use multiple redundant disks working together (RAID) to ensure the safety of your data. But Amazon operates in a whole new stratosphere when it comes to data storage and databases. Their services are broken into regions and availability zones to provide even greater reliability.
- Backups vs. Snapshots! Our local servers performed daily backups, where the database and other critical files are copied to an off-site location every night. Amazon, however, performs complete snapshots of the entire storage drive every day. While we had backups of every critical file, Amazon makes a daily snapshot of everything. And you can never have enough copies, so we will continue to do our off-site backups.
- Watching it all! We now get real-time graphs for every single operating device. We can see how busy each server is and where there might be a bottleneck. We can see how much data is moving over the network and to each storage device. We have one dashboard where we can keep our eye on the PlantX pulse.
- Ready to grow! As PlantX grows and we need more resources, we simply execute a few commands. More disk space, done. More processing power, done. More servers, done. To put this into perspective, just one of Amazon's computer processors costs more than our entire rack of servers. Amazon is more than happy to sell us more of anything we need ($$$). At the same time, we don't pay for what we don't use. On balance, Amazon will accommodate our growth requirements with predictable, and often declining costs.