Deployment in AWS with Auto Scaling (DRAFT): Difference between revisions
Dgreenwood (talk | contribs) No edit summary |
Dgreenwood (talk | contribs) |
||
| Line 40: | Line 40: | ||
# Configure the Auto Scaling policies. | # Configure the Auto Scaling policies. | ||
#* This defines the minimum and maximum number of virtual machines to be added as well as the scaling rules, what conditions should be met to spin up and down new EC2 instances. | #* This defines the minimum and maximum number of virtual machines to be added as well as the scaling rules, what conditions should be met to spin up and down new EC2 instances. | ||
[[File:Aws-autoscaling-diagram.png]] | |||
Revision as of 12:53, 17 June 2022
| WIP | This article is a work-in-progress or created as a placeholder for testing purposes. This article is subject to change and/or expansion. It may be incomplete, inaccurate, or stop abruptly.
This tag will be removed upon draft completion. |
Easily scale your Grooper processing with cloud-based computing using Amazon Web Services and Auto Scaling.
About AWS
Imagine you normally process a hundred documents a day. Then, out of nowhere, you start getting a thousand documents a day. Maybe its a busy time of year for you. Maybe you landed a huge client and need to process their paperwork. Great news! But how do you account for the increase in computing demands? How do you both scale up your IT infrastructure to meet the new demand and scale it down once the demand has subsided?
One answer lies in cloud-based computing. Spinning up a pool of virtual machines to process the additional workload is, generally speaking, quicker and more cost effective than purchasing and deploying physical computers. Furthermore, what are you going to do once you're done processing all that extra work? With a cloud-based IT infrastructure, you can quickly deactivate those machines and re-activate them as needed on-demand. With a physical infrastructure, you're stuck holding a lot of additional hardware until you need it again.
Amazon Web Services (AWS) is one of the most popular on-demand cloud computing providers. Their Elastic Compute Cloud (EC2) gives users a pay-as-you-go model to create, launch and terminate virtual computers, as needed. These virtual machines (which Amazon calls "instances") can be built to mirror physical computer specifications, including operating system, CPU, RAM and storage options. EC2 encourages scalability with web services that allow you to take a snapshot of a server's configuration (an Amazon Machine Image or "AMI") and boot a virtual machine with whatever software you need already loaded.
Furthermore, the process of spinning up and spinning down virtual machines can be automated with AWS Auto Scaling. This allows users to set auto-scaling parameters, defining when to launch new EC2 instances to meet surges in processing demand. The virtual machines are then terminated as soon as demand dies down. With a pay-for-use model, you only pay for the machines while they're running. Ultimately, this saves you time scaling your IT infrastructure up and down and saves you money only paying for what you need when you need it.
In this article, we will show you how to set up a scalable Grooper deployment using Amazon Web Services (AWS), Elastic Compute Cloud (EC2) instances and Auto Scaling.
- For more information on EC2 instances, visit Amazon's EC2 documentation.
- For more information on Auto Scaling, visit Amazon's Auto Scaling documentation.
The General Process
The general steps to complete this deployment setup are as follows:
- Configure the "Main" EC2 instance.
- This is the virtual machine that hosts the Grooper Repository's database and file store and the Grooper license for the "Worker" machines.
- Setup the Security Group.
- In AWS, Security Groups allow network access between virtual machines and port configuration to open up access for web applications.
- Configure the "Worker" EC2 instance.
- This is the virtual machine performing automated processing tasks. Grooper will need to be installed, and it will need to be able to connect to the Main machine's Grooper Repository.
- Create an image of the Worker instance.
- This image will be used to create new Worker instances automatically according to the Auto Scaling setup.
- Create a Launch Template.
- Auto Scaling will use the Launch Template to launch the Worker image and assign the right Security Group. Essentially, this provides the instructions to launch a new EC2 instance programmatically (rather than manually as done in steps 1 and 3).
- Configure the Auto Scaling policies.
- This defines the minimum and maximum number of virtual machines to be added as well as the scaling rules, what conditions should be met to spin up and down new EC2 instances.
