Piloting Your First App on AWS
In my post last week, we discussed key criteria for selecting an app to move to the cloud on AWS. Once you have that app selected, it is time to put things into motion.
After you have completed a thorough analysis of your application, you are ready to begin the process of deploying it on Amazon. While cloud environments tend to mimic on-premise environments in many ways, it is important to understand how AWS works and operates.
Once you log into the Amazon Web Services console, you will see a number of services available to you. For now, you can ignore most of these. Down the road, you can revisit these features when you are ready to create an app that is more tightly coupled to the cloud. To start, you are only going to be concerned with EC2 (computer power and storage) and VPC (for networking). Most of your basic needs will be found there.
The first thing you are going to want to do is set up your network. You will most likely want to use a VPC which allows you to create your own isolated network space within Amazon’s environment. Once created, your virtual cloud exists and there is no outside access to the Internet (or anywhere) until you configure and allow it. You can map external IP addresses to a few select machines using Elastic IP addresses, or you can create a VPN tunnel to your own network using Amazon’s Direct Connect. To begin your deployment process, start within the VPC and then build out your subnets the same way you would normally. You will be using Amazon’s interface rather that configuring actual switches, but the concepts are exactly the same.
After the network is built, you can create and launch instances into whatever subnet you wish. An instance is essentially a system image. There are a number of different types of instances available. In addition to the operating system you choose, there are instances sized from a simple single core system with less than a GB of RAM up through systems that have dozens of CPUs and hundreds of gigabytes of RAM. The best thing about the cloud here is that you do not have to reinstall to change your instance type. With this flexibility, you can adjust your pilot app as needed until you are satisfied with the performance. Cloning of systems is also available to make your life easier.
With EBS (Elastic Block Storage), you have the ability to provision storage based on the IOPS required. This also allows great flexibly to get the exact performance you want.
To move your app to AWS as seamlessly as possible, you want to build out what is basically a copy of your environment using the services that Amazon provides. This will ensure the smoothest migration as you introduce cloud into your organization and try to build support and momentum.
Next week, we will review the process of migrating your app once you are ready to move forward.