Why Cloud Lock-In is a Myth: The Openness of AWS
Should you be worried about being locked into AWS? If your website, your online services, and your databases are all posted or stored on Amazon Web Services, do you need to be concerned about becoming too dependent on Amazon's services?
These are legitimate concerns, and if you have a major presence on AWS, or if you are considering making greater use of the services which AWS offers, you would be negligent not to ask yourself such questions.
As I explain in this post, however, the concern about being locked into AWS is largely a myth.
What is Lock-In?
First, let's take a look at what it means to be locked into a proprietary service.
Whether it is a cloud provider, an online service, or an application with a non-standard data format, you are locked in if you find that you cannot migrate your data, your website, or your applications to another provider, or to a local system for on-premises use or backup.
Lock-in effectively makes you a prisoner of the service provider, and may place you at a serious disadvantage with regard to the price you pay for the services involved (and under some circumstances, your ability to use, or even access your own data).
For much of the earlier history of computing, when software and data storage were closely tied in to proprietary hardware (which was often leased, as were the services of the technicians required to operate it), lock-in of this type was simply an ongoing fact of life. Even now, there are points (particularly involving Big Data and the services required to process it) when lock-in is a practical reality.
But is that the case with AWS?
AWS—It's a Big World
At first glance, it certainly looks as if lock-in could be a major danger for any company or organisation that is highly dependent on AWS. After all, what Amazon offers is not merely hosting or storage, but an entire self-contained world, with all of the software development, deployment, and support services required to handle the website, data storage and processing, enterprise application, and general IT needs of even the largest corporation.
But Is It Lock-In?
Yet does that mean that if you use AWS, you will be locked in? Not necessarily.
In many ways, lock-in depends on whether and how quickly you can move the key elements of your online IT presence from the hosting service in question to another location outside of that service, and on whether you can maintain some or all of those key elements on-premises, either in addition to your online hosting, or in conjunction with it.
In other words, if you can migrate or go local, you are not locked in.
AWS: The Full-Service Model
When Amazon first began to offer the services which make up AWS, it was, for the most part, a very self-contained world. This was probably not so much a result of long-term planning as the natural process of design.
If you are developing a service or set of services for sale to the public, you generally want to make it as complete and as independent of other services as possible. It is less a matter of keeping customers captive than it is a matter of keeping them happy. And Amazon was clearly thinking in terms of a full-service cloud, rather than a hybrid cloud.
Now, Amazon is Opening Doors
But during the past few years, Amazon has introduced a number of programs and services which move key AWS features beyond the cloud environment, and make them available for hybrid and on-premises use. This has made it much easier to move or maintain major elements of your IT infrastructure locally, as well as important data, while still making it available for use on AWS.
Amazon's Elastic Compute Cloud (EC2) was originally designed, of course, for running virtual machines on AWS. You can, however, use the EC2 Console (including all of its management and control features) to run virtual machines (both Linux and Windows) on your local network.
When you do this, you can manage both AWS and local virtual machines from the same EC2 Console. This allows you to choose which software services and elements of your IT infrastructure you will maintain locally, and which you will maintain on AWS.
DevOps Maturity in the Enterprise: Data-Driven Insights Across People, Process and Technology
How mature are DevOps practices in regulated enterprises?
In the same vein, you can use CodeDeploy, the AWS code deployment service, on-premises, as well as on AWS. This allows you to make full local use of the features of CodeDeploy, and to deploy updates to your applications locally, as well as in the cloud.
AWS also offers the Storage Gateway, a hybrid cloud storage service which allows you to mix cloud storage with on-premises applications and storage. You can use it as network file storage, or for backup, or for both. Since it can be integrated with your local network, and because data transfer is two-way, Storage Gateway makes it easy to take advantage of the capacity and availability of AWS cloud storage, while at the same time maintaining or mirroring important data locally.
Snowball and Snowball Edge
For high volumes of data, AWS also offers Snowball and Snowball Edge—high-capacity devices for physically transporting large amounts of data both into and out of the AWS Cloud. Snowball is a portable device which can be used to transfer data in the petabyte range. Snowball Edge is a 100 TB device with similar capabilities. It includes AWS Lambda, allowing you to process data locally before shipping it. You can also use Snowball devices for the transportation of data from AWS to your local system.
Direct Connect for Co-Location
AWS Direct Connect is a service that creates a dedicated network between AWS’ cloud services and the data centre managed by you or your colocation vendor. Recently, Equinix became an APN Advanced Technology Partner with AWS, and is the most mature option for organizations looking to get the best of both worlds—colo and the cloud.
The biggest advantage of a solution like this is that you can use cloud services as if they were on-premises. The key concern of low latency is dealt with as the network that transmits all data for transactions is a dedicated, high-speed network. This means latency is as low as you’d get in the most well-managed data centre, and isn’t affected by the quirks of the public Internet. With the high throughputs you receive, you can boldly run apps on this infrastructure at extremely low latency (e.g. trading apps).
The second advantage is that you can switch between the cloud and on-premises for various workloads and data storage. You need not be tied to just one option, and you can have the flexibility to architect your infrastructure across a broader range of options. You can leverage storage in your colocation center, or use AWS S3 for cheap bloc storage in the cloud. And because of your dedicated network, the transfer speeds for this data will be the same either way.
Other Hybrid Options
In addition to the hybrid options which we have described, AWS offers a wide variety of ways to integrate your cloud and local presence, and move data and services between the two. These range from the Snowmobile, a tractor trailer rig containing everything you need to transfer (as much as 100 petabytes at a time), to AWS Greengrass, which allows you to run AWS Lambda applications locally, even in the absence of a cloud connection.
You're Not Locked In
Lock-in? Hardly. What AWS offers, in fact, is a set of bridges, doorways, and lifelines allowing you to connect your local presence and your cloud presence in a way that is both seamless and secure. AWS gives you the tools to find the balance that is right for your operations, while leaving you in control of your data.