Updated: Jul 14
Enterprise-class software can be expensive because there is so much supporting infrastructure that must be put into place to make a complete solution — the time and effort to build and integrate that infrastructure can really add up. Those costs are passed on to you the end-user. It is time for that to change.
For example, no matter what the purpose of a software solution — for example, backup and recovery, security, analytics, etc. — it is generally managed through a custom user interface, which itself must be developed, tested, and hardened.
Sophisticated authentication and authorization are expected, so integration with user management and tools like Active Directory consume development time and money. Software maintenance tools must be included patch bug fixes, keep environments up-to-date, and address new vulnerabilities as they are discovered.
None of these functions is core to a particular solution’s mission, but instead distract programming effort and stability from the main goal. It’s hard to be laser-focused when building so many moving parts.
As a software developer wouldn’t it be great to outsource all of the functionality that is not central to the mission to a trusted third party? As a software consumer wouldn’t it be great to pay only for the solution you want, and not the accompanying baggage? If only there were an easily programmable set of services that provided all of supporting infrastructure for a software solution like … the Cloud?
We are pioneering this approach by converting our SaaS solution to serverless and focusing exclusively on the problem we wanted to solve: robust, verifiable disaster recovery protection for your mission-critical EC2 workload at the lowest possible cost. Simultaneously we require that any line of code that is not critical to our main goal be satisfied by a cloud service.
The most obvious example is our configuration UI:
Configuration and management are driven through CloudFormation; we spend no effort building and securing a custom UI — AWS does — and you spend no time learning something new.
Here’s our management UI:
Just a signed URL from CloudFront of static HTML scraped from CloudWatch Logs (which don’t use log4j by the way, reducing the vulnerabilities), accessible securely from any device anywhere.
Here’s our authentication and authorization interface:
Just IAM — either you already have the users with the appropriate permissions or can create them easily, and you already have integration with Active Directory and do not need to spend any additional effort integrating your environment with yet another solution.
Here’s our software and operating environment update interface:
Just AWS Lambda, and the ability to update a Jar file or an OS version with a single click.
Here’s the plumbing of our software, how it executes and how to turn it on and off:
Just AWS Eventbridge, and simple rules to launch the function. Need to make any changes or customizations, you know where to go, and you are in complete control.
Need to fail over instances in a disaster on a moment’s notice, no matter where you are or what you are doing, use this:
Just power on the up-to-date, tested instances directly from the EC2 console — from anywhere on any device. AWS built our phone app for us (for free, thank you Amazon).
What, exactly, then, do we do? We focus exclusively on the problem to be solved: how to efficiently replicate your EC2 environment in a remote region, keep the backup instances up to date and more importantly tested on a regular basis so you can have the most confidence your business will continue in case of an outage at your primary region.
While it sounds simple I think many people agree that even straightforward solutions eventually increase in complexity as you drill down. How to make sure the backup instances are in the right VPC, fronted by the right network; replicating instances with multiple volumes attached; dealing with placement groups, security groups and other attributes of EC2 instances that are required to be configured properly to ensure proper execution; deep testing of applications to confirm not only the instance will start on demand, but that the application hosted in an instance will recover.
Disaster recovery must work flawlessly the first time it is used, which means we must focus 100% of our effort in thinking of the best way to accomplish this, and all of the possible corner cases. It’s hard to do this when you are trying to integrate Active Directory into your user interface, which has nothing directly to do with DR.
But we can almost exclusively focus our time and effort on these issues precisely because the supporting infrastructure is already taken care of by AWS. This also means we have a leaner development staff, passing the cost savings to the end user.
Disaster recovery is often a solution that enterprise customers rightfully view as a necessity, until they see the price tag and the amount of effort required to configure a solution. With Thunder for EC2 Serverless, you get the protection without the cost and complexity, but still all of the supporting infrastructure you expect in enterprise-class software. Our secret sauce is to simply and elegantly rely on the cloud for everything not central to the mission and to be laser-focused exclusively on solving the problem at hand.
Feel good about paying low prices for enterprise software: the cloud enables it. If you are not taking advantage of this, your competitor is. Contact us at firstname.lastname@example.org for more information or to schedule a live demo, or try it yourself at anytime.
Originally published at https://www.linkedin.com.