Deploying Your Own Web Applications With AWS
It goes without saying that you can’t sell something if you can’t share it with you customers or end users. So, for those of you who’ve successfully created (or are in the process of creating) an application within your AWS account and don’t know how to get that app in front of your customers, don’t sweat it – Shamrock has your back.
In this guide, we’ll walk you through the process of configuring your app, setting up an environment and getting your beautiful creation in front of the people who want to use it.
Most of the steps we’ll outline here are pretty straightforward, but if you run into any issues or need some help setting up your cloud or hybrid network, let us know. Our consultations are free and our team of AWS Certified Cloud Practitioners and Solutions Architects are more than happy to help!
AWS Elastic Beanstalk
There are several ways to deploy an application using AWS, but Elastic Beanstalk is the deployment tool that is used most often. Elastic Beanstalk is an orchestration service, able to automate and coordinate a range of AWS services including DynamoDB, SNS, Elastic Load Balancing, EC2 VM instances, autoscaling and monitoring.
Elastic Beanstalk can be accessed via its own CLI, the AWS CLI, or, as detailed in this tutorial, the trusty AWS Management Console.
One of the benefits of using Elastic Beanstalk for deploying your applications is that it works with a ton of different languages and platforms. Your application can be written in Docker, Go, Java, .NET, Node.js, PHP, Python or Ruby – it really doesn’t matter.
Before we get started, make sure that your app executable is uploaded to an S3 bucket. You can upload it as an archive file (.zip or .WAR), Git or Docker container.
Want to learn more about our additional AWS offerings (direct connects, orchestration, cost management, etc.) or any of our other public or private cloud partners (GCP, Azure, and many more)? Click below!Complete AWS Offerings
Configuring Your App and Creating a Support Environment
Once you’ve signed up for AWS (which includes 1 year of AWS Free Tier access), you can start using Elastic Beanstalk right away, by simply typing it into the AWS search bar.
Once that’s done, just follow the simple steps below:
- From the Elastic Beanstalk dashboard, click ‘Create New Application.’
- Fill in the ‘Application Name’ and optional ‘Description’ fields and click ‘Next.’
- Select either a web server or worker environment. For most standard apps – and for this example specifically – click ‘Create web server’
- The next screen will be where you highlight the application platform you are using (PHP, .NET, Python, etc.) and the number of virtual servers (instances) you will need from your EC2 service. Select these from the drop-downs and click ‘Next.’
- You will now need to point to your application version stored within your S3 service. To do this, select the radio button next to ‘S3 URL’ and type in the relevant URL. Alternatively, you can upload the application as you would any other file using the ‘Upload your own’ option and ‘Choose File’ button. Either way, click ‘Next’ when you’re done.
- Choose a name for your environment and a unique URL (there is a button for checking availability of your chosen URL). Add an optional description if you’d like and then hit ‘Next’ again.
- On the ‘Additional Resources’ screen, select the option to create the environment inside a VPC. Click ‘Next.’
- If you need to configure options for the instances in your stack or tag the resources in your stack, the next two steps will enable you to do this. If not, simply leave as the default values and click ‘Next.’
- The ‘VPC Configuration’ step is next. Here, you will need to check the box next to the first AWS Availability Zone (AZ) listed on the page. Hit ‘Next.’
- The ‘Permissions’ step enables you to fine-tune access management to your app. This link has more specific details about permissions if the default settings aren’t enough.
- Almost done! On the final screen, you will be able to review your environment configuration before pressing the ‘Launch’ button. Congrats – your app has officially been sent to the cloud!
Quick Note: It may take a few minutes for your app to launch, so be patient, young Grasshopper.
To access and check your app, simply click the ‘Elastic Beanstalk’ tab. You should see a large green box underneath your app’s name. Clicking on this will bring up an events table and a health overview. Right at the top is a link to the app itself.
Questions? Concerns? Bueller? Shamrock Can Help
The instructions listed above should enable you to deploy any simple application using Elastic Beanstalk. That said, if you have any difficulties doing this or if you need to deploy more complex applications, let us know and one of our AWS Certified Cloud Practitioners can walk you through it!