View Full Version : AWS Best Options

Chris Spencer
17-Dec-2016, 09:26 PM
I have gone glassy eyed trying to work out the requirements in AWS to move an existing web app for a client to Amazon.

Basically what is the best fit for a webapp that has only 2 sites using its services (abot 15 actual users) with at the most 500 transactions a day

The site does not need to be 24 / 7 just office hours say 7am to 6pm

It looks like a t2.medium may be the go with web sql server but as there is no-one to actually talk to at Amazon it is hard to make the correct decision.

Interested what others have done with moving webapp to Amazon?

Mike Cooper
18-Dec-2016, 10:47 AM
I use a supplier in Canada


Much easier to understand and you can actually talk to somebody.

IMO: AWS = Awe What a Shame (they forgot about customer service)


Stephen W. Meeley
18-Dec-2016, 11:12 AM

The nice thing about AWS is that you don't have to commit to a specific instance size for any significant time. You can start with a t2.medium and see how that handles the load and then if it's too little (or too much) change the instance size pretty much at will. If the only thing the customer will be running is the webapp you may be able to start with a t2.small but i probably wouldn't try to go any smaller (with modern operating systems I consider 2G of ram to be the absolute minimum to just exist).

You could, for instance, spin up a t2.small and just run some initial performance tests on it (with just a user or two) and watch how it handles that load in task manager. if it looks promising give it a shot live. If not, change the instance size to t2.meduim and go from there. Changing instances from on size to another is really easy (stop instance, change instance type, start instance). I just did a test and it took all of about 7 minutes to take one of my test instances from a t2.small to a t2.medium (and since I have an elastic ip address attached to that instance access to my application didn't change at all).

Chris Spencer
18-Dec-2016, 03:18 PM
Thanks Mike but cannot use them .
Australian privacy laws means the site must be in Australia

Chris Spencer
18-Dec-2016, 03:35 PM
Had a look but as I am MOT a hardware expert I am unsure of some of the choices esp in relation to security IP addresses allowed etc.

Is there a procedure that you follow that is documented ?

18-Dec-2016, 07:53 PM
Hi Chris,
I moved our web-site to AWS about a month ago, having done testing at the beginning of the year. Aall the information is there in the documentation but like anything, you've got to know the right question to ask and ususally, until you know the answer you don't know the question!

Anyway, I'll share my incomplete knowledge with you.

Stephen's advice is very good (of course). If you get the Instance size wrong, it is very easy to change it.

I would suggest using an On-Demand instance until you get the size right. Then you can change the pricing model to a Reserved Instance for a period of 1 or 3 years. Reserved Instances cost much less than On-Demand. With a Reserved Instance it costs no more to run 24/7.
When you create your first instance, it is put in a Virtual Private Cloud (VPC). Essentially, that means you are given a non-routable, private network one address of which is bound to your single network adaptor. The default VPC seems to be /16 ie: 4096 addresses, probably more than you need so could be reduced if you wanted to. By default, any new Instances you create will automatically be joined to the VPC so you can communicate securely between your servers at 1GB/s and this data is free. Public data over the internet is charged for (although not a lot).
You are also given a public IP address bound to the same network adaptor. This in not, however, a fixed IP. It changes every time you stop and start the Instance. AWS provides a dynamic IP service so, if all you want to do is RDP into your instance, then it's not a problem.
A Web server, however, needs a fixed IP address. This you obtain by adding a confusingly named Elastic IP. The reason it is called elastic is not because the IP address changes but because the binding changes automatically if servers are moved around in the cloud. It is it's own separate entity so can be also moved from one server to another. Almost certainly not relevant to your application. The thing about an Elastic IP is that there is no additional cost unless you DON'T use it such as by stopping an instance to which it is allocated. This is to stop irresponsible use of external IP's but it doesn't cost very much.
By default, the Instance launching wizard attaches a 30 Gb EBS hard disk to your Instance (general purpose SSD max throughput 160 MiB/s but more likely 60-100MiB/s). During the creation process you are given a not totally obvious opportunity to edit most aspects of the server, including the size of the hard disk and it's performance.
At any time you can add additional EBS volumes to an Instance or increase the size of existing EBS volumes. A word of warning, if you choose guaranteed MiB/s volumes the costs can mount very rapidly. be sure you need them.
You haven't mentioned where the data is coming from. If you are using RDS I'm afraid I can't help you because I'm using my own Pervasive server in the cloud. I'm sure most other contributors to this forum could help you, however.
You probably don't want to join the web-server to your customer's domain but, if you do, I have found OpenVPN to be much more reliable that MS VPN. If you want to hear more about setting that up, just ask.
There are backup options in the cloud starting with snapshots which can be taken regularly through the day, if necessary.
One of the things that made me nervous about moving everything into the cloud was that all our data would be up there somewhere, out of our control and totally dependent on a reliable internet connection to be accessed. I have overcome that by using rSync or, more specifically the Backup Assist rSync module. It backs up a days' changes to 6Gb of data in a few minutes sending usually only about 30Mbytes. That way we have a complete copy of our data and can run up local VM's and get working again in the event of an emergency. Using VSS and Pervasive backup, we could probably do that once an hour through the day, if we liked.

Hope this helps.

Chris Spencer
18-Dec-2016, 09:54 PM
Thanks Ian

I have quickly read through this but will digest more tonight
The database will be moved from SQL server (not sure of what flavour) to SQLExpress on the server, I think it will be more than adequate.

9-Oct-2018, 07:28 PM
Hi Chris,
Did you make the move ?

26-Nov-2018, 07:20 AM
Slight side note

Did anyone ever investigate/use those DAW generated AWS server instance images with webapp etc pre-installed that they announced a few years ago ?

26-Nov-2018, 07:36 AM
Slight side note

Did anyone ever investigate/use those DAW generated AWS server instance images with webapp etc pre-installed that they announced a few years ago ?

i'm trying to move an existing web app right now, trying to understand all about auto scaling, load balancing etc...trying to figure out how all these features works with dataflex, until now i didn't get good performance :(

if do you know this AMI id i'll be happy to test.

26-Nov-2018, 07:37 AM
Yes. I set them up. They may now be a little stale unless someone has kept them up to date.

26-Nov-2018, 06:18 PM
From first hand experience, I can say that there is very little (if any) material available that assists in understanding the complexities of web apps. It is rightly promoted as a relatively straight forward method of building and deploying a web application, but when you need to know the finer details, and the significance of various tuning parameters and error messages, information is very scarce.