Many of Amazon’s proprietary public cloud capabilities are coming to an on-premises data center near you in the form of Amazon Outposts. Others may be made available through alternate routes. Amazon RDS, for example, is now available on VMware-based infrastructures. This change in tactics by Amazon represents the biggest change for the traditional database administrator since the introduction of relational database clustering.
Amazon Relational Database Service (RDS) allows administrators to create distributed relational databases quickly and easily. RDS takes care of the setup, maintenance, backup, recovery, and scaling of any relational database it can orchestrate. At time of writing, RDS was able to orchestrate Aurora, PostgreSQL, MySQL, MariaDB, Oracle, and MSSQL.
RDS has been transformative for both developers and database administrators. Thanks to RDS, database administrators have been able to narrow their focus to dealing with the configuration and design of databases—instead of managing the infrastructure itself. Microsoft has a similar service, as do Google and other large public cloud providers.
Until recently, Amazon RDS—along with other Amazon proprietary services—was restricted to Amazon’s cloud. It wasn’t possible to use RDS, or any other services, on-premises. This is changing.
Amazon Outposts, like Microsoft’s Azure Stack, is bringing proprietary cloud services to the on-premises data center; in doing so, they will transform day-to-day IT operations.
What Are Amazon Outposts?
While still in preview, Outposts are expected to be generally available sometime in 2019. The official Amazon description of Outposts is as follows:
AWS Outposts bring native AWS services, infrastructure, and operating models to virtually any data center, co-location space, or on-premises facility. You can use the same APIs, the same tools, the same hardware, and the same functionality across on-premises and the cloud to deliver a truly consistent hybrid experience. Outposts can be used to support workloads that need to remain on-premises due to low latency or local data processing needs.
AWS Outposts come in two variants: 1) VMware Cloud on AWS Outposts allows you to use the same VMware control plane and APIs you use to run your infrastructure, 2) AWS native variant of AWS Outposts allows you to use the same exact APIs and control plane you use to run in the AWS cloud, but on-premises.
It’s important to note that it’s not public knowledge exactly which of AWS’s many services will be made available through Outposts, either at launch, or as later functionality additions. One service that’s expected to eventually make its way into Outposts is some version of Amazon’s Lambda “serverless” Functions-as-a-Service (FaaS) offering.
Functions are effectively small scripts, or other snippets of code that are executed based on any of a number of different triggers. They can be thought of as the love child of DOS-era Terminate and Stay Resident (TSR) applications and cron jobs/scheduled tasks.
There are already a number of possible triggers for Lambda functions, and the list is constantly growing. These triggers range from calls by microservices across a message bus, to a file being deposited in an S3 bucket, to simple time-based triggers. This represents a radical departure from traditional application design.
In traditional applications, an application would have to be loaded, and stay resident, for the entire time you might want that application to respond to something. This consumes resources even when the application isn’t doing anything.
The microservices model of application design dramatically lowers the resources required for an application to idle, waiting for work to do; but the resources required for this still outstrip the resources required for FaaS. Indeed, many modern applications use FaaS to coordinate microservices, creating a new class of event-driven application that offers completely different behaviors when compared to traditional applications.
Amazon already has a version of Lambda available outside their core cloud platform in the form of AWS IoT Greengrass. Amazon’s official description of Greengrass: “With AWS IoT Greengrass, connected devices can run AWS Lambda functions, execute predictions based on machine learning models, keep device data in sync, and communicate with other devices securely – even when not connected to the Internet.”
For those not interested in using a proprietary version of FaaS, Iron.io’s Functions, which started as Project Kratos, aims to be an open alternative to Amazon’s Lambda.
On-Premises Made Easy
Cloud extrusion into on-premises networks is receiving a lot of attention. Put simply, the major cloud providers have made IT operations, and dealing with all forms of IT infrastructure, significantly easier than any other vendor(s). There are, however, a great many workloads which cannot practically be placed into the public cloud.
These workloads include workloads with privacy, data sovereignty, or data locality concerns. There are also many workloads whose data volume simply exceeds the throughput of the internet connectivity available to the organization in the relevant location.
In addition, there are a great many workloads where some form of hybrid cloud solution might be possible, but the cost of exporting data from the public cloud provider to the on-premises workloads would be prohibitive. In all these scenarios, products like Microsoft Azure Stack and Amazon Outposts become vital. They allow organizations to deliver IT as agile as anything their competitors’ field, without compromising any of their other requirements.
Perhaps more importantly, they simplify IT operations, allowing IT teams to address their infrastructure in a programmatic fashion. This allows all IT team members to remove their focus from “keeping the lights on” and refocus on the parts of their job that need human touch.
The Winds of Change Are Blowing
For database administrators, this change will be seen in more than simply removing the need to stand up VMs or install database software; it will likely be reflected in the design of applications. Products like Amazon’s Outpost will bring many Amazon services such as machine learning on-premises, and will allow developers to build massively distributed applications that have components on-premises, in the public cloud, and out in edge data centers.
The structure of databases will also change. How databases are replicated between sites, backed up, restored, and defended against attackers will all change and be driven by the availability of new tools and services that don’t require intense IT operations support to deploy or maintain.
Nobody can say for sure how this will all turn out; and perhaps that’s the point. The extrusion of public cloud services on-premises represents a series of unknowns, but also creates the possibility for IT teams to build something that has never been thought of before.