Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ACM Teach: Intro to AWS

ACM Teach: Intro to AWS

An introduction to Amazon Web Services, given as a workshop for the ACM Teach program at UCLA.

Avatar for Dylan Vassallo

Dylan Vassallo

April 16, 2013
Tweet

More Decks by Dylan Vassallo

Other Decks in Technology

Transcript

  1. What is AWS? “Amazon Web Services offers a complete set

    of infrastructure and application services that enable you to run virtually everything in the cloud: from enterprise applications and big data projects to social games and mobile apps. One of the key benefits of cloud computing is the opportunity to replace up-front capital infrastructure expenses with low variable costs that scale with your business.”
  2. Scaling with AWS Start for free. Scale up and scale

    out. Only pay for what you use.
  3. Scaling with AWS Start for free. Scale up and scale

    out. Only pay for what you use. aws.amazon.com/pricing ec2instances.info aws.amazon.com/free aws.amazon.com/grants
  4. Getting started with EC2 0. Sign up for AWS 1.

    Pick a region and operating system 2. Configure security and other options 3. Launch the instance 4. Connect with SSH 5. ??? 6. Profit
  5. SSH setup mv ~/Downloads/mykey.pem ~/.ssh chmod 600 ~/.ssh/mykey.pem vim ~/.ssh/config

    ssh myhost Host myhost HostName myhostname.amazonaws.com User ubuntu IdentityFile ~/.ssh/mykey.pem
  6. Getting started with EC2 0. Sign up for AWS 1.

    Pick a region and operating system 2. Configure security and other options 3. Launch the instance 4. Connect with SSH 5. ??? 6. Profit
  7. Software setup example: Python # Run a software update sudo

    apt-get update && sudo apt-get -y upgrade # Install git and pip sudo apt-get -y install git python-pip # Fetch your code git clone git://github.com/myuser/myrepo.git cd myrepo # Install libraries sudo pip install -r requirements.txt # Run your code python myfile.py
  8. Software setup example: Ruby # Run a software update sudo

    apt-get update && sudo apt-get -y upgrade # Install git, ruby, and bundler sudo apt-get -y install git ruby1.9.1 sudo gem install bundler # Fetch your code git clone git://github.com/myuser/myrepo.git cd myrepo # Install libraries sudo bundle install # Run your code ruby myfile.rb
  9. Software setup example: Node.JS # Run a software update sudo

    apt-get update && sudo apt-get -y upgrade # Install git, nodejs, and npm sudo apt-get -y install git nodejs npm # Fetch your code git clone git://github.com/myuser/myrepo.git cd myrepo # Install libraries npm install # Run your code node myfile.js
  10. The system administration rabbit hole • Setting up DNS •

    Installing newer language versions • Compiling software from source • Running your project as a daemon • Running your project behind a web server • Running a database for your project • Adding more security measures • Creating a backup plan
  11. What’s next for you? • Experimenting on your own •

    The rest of the AWS offerings • Putting it all together with the AWS API • Building the next Netflix • Contacting me if you need any help!