Join Brandon Rich for an in-depth discussion in this video Initial setup, part of Amazon Web Services: Deploying and Provisioning.
- [Instructor] If you want to create an AWS account, follow along with this course, it's easy to do. Just head to aws.amazon.com. You'll see a screen that looks like this. Click Sign in to the Console. If you're a first time AWS user, many of the resources we'll create during this course are eligible for the AWS free tier. However, we may incur some charges. AWS instance time is very cheap. Fractions of a cent per hour in the cases of some smaller instances but it can all add up over time. To make sure you're not charged for anything beyond what you use in this course, be sure to watch the teardown videos at the end of each section.
On this screen, if I have an existing account, I'll be prompted to put in my email or mobile number, and type in my password. From here, if you need to create a new account, all you need to do is click the radio button that says I am a new user. This will kick off a whole workflow, where you give AWS details about yourself, you set up a password, you give it credit card information so that AWS knows where to charge as you create resources that cost you, and it also sends you a confirmation number to a cell phone that you designate.
It's just a few steps, only takes a few minutes, and then you'll be at the same point I am here ready to log in to your AWS account. With the password entered, we just click Sign in using our secure server to get to the AWS home console. Here we are at the homepage for AWS. Take a look around and you can see sections to show our Recently Viewed Services. If this is your first time here, there won't be anything here. I've also created a GitHub account to make available the code that you'll see me using in this course. It's called brandon-rich-aws-deployment-course and you'll see that there are two repos, cloudformation-demo, which contains the YAML files that we use in the cloudformation-demo, and art_gallery, the Ruby on Rails application that we'll deploy using various AWS deployment services.
Click in here. If you'll like to follow along and use this app, you need to clone this application from GitHub. If you want to use your own application, that's fine but there maybe some variation in the instructions. To clone the application, we just need to copy this https url at the top. Then head to the terminal and say git clone and then paste the URL. The application is now downloaded into the sub folder art_gallery, and here it is. The next step to starting this app is to run a command called bundle.
Bundle is the command that invokes bundler, which handles all the gem dependencies that are specified in this file, the Gemfile. If I look at the Gemfile, I can see that it specifies all the dependencies that this application needs to run. In order to install them, we'll run the bundle command right now. Bundler is now installing all the dependencies we need to run this application. Okay, now that bundler has finished, there is one more step. Out of the box, this application uses a local SQLite database.
We need to run bundle exec rake db:migrate to setup the database. Even if we were using a different database type we will need to do this step. You can see that it runs a few steps to create the database structure that we need. Finally, we can start the application with rails server. This will start the app running on port 3000. If we head over to a browser, we can go to localhost:3000, and see the application come up. We'll talk more about this application as we proceed into the deployment options in AWS.
- Understanding AWS EC2
- Creating an EC2 instance
- Provisioning with CloudFormation
- Architecting apps for horizontal scaling
- Creating an Elastic Beanstalk environment and app
- Using OpsWorks
- Deploying apps with CodeDeploy