Cloud 101: Hands-on Heroku & AWS

Preview:

Citation preview

@startupdecode /startupDecode /user/startupDecodemeetup.com/startupDecode

< StartupDecode />Cloud 101:

Hands-on Heroku & AWS

Meetup #01With

Amine SadryHappy developer Startupdecode

Mathieu CadetAccount ManagerAmazon Web Services

< Program />

1. What is cloud computing ? (20 min )

2. Cloud computing on AWS (30 min)

3. Hands-on Heroku (30 min)

4. Hands-on AWS (40 min)

5. Apéro Networking (30 min)

www.startupdecode.com

What is cloud computing ?

< Nightmare />

www.startupdecode.com By Fleshas via Wikimedia Commons

● Rack space

● Power

● Cooling

● Disaster recovery

Server Server

< Virtualization />

www.startupdecode.com

Hardware

Operating System

Application

Hardware

Virtualization Layer

A

OSVM

A

OSVM

A

OSVM

< Cloud is tech />

www.startupdecode.com

● Virtualization

● automation

● Elasticity

< Cloud is business model />

www.startupdecode.com

● Pay as you go

● Self-service

● Computing as utility

< Benefits />

www.startupdecode.com

● No investment

● No maintenance

● No admin expertise

● IT on Demand

● Scalability

● Focus on core business

< Deployment models />

www.startupdecode.com

Public PrivateHybrid

Available to general publicMix of both

Available to solely one organisation

Infrastructure owned by a provider of cloud services Infrastructure owned by the

organisation or a third party

< Service models />

www.startupdecode.com

IaaS PaaS SaaS

Hardware

Virtual Machine

Hardware

Virtual Machine

OS

Runtime

Hardware

Virtual Machine

OS

Runtime

Application

Database

OS

Runtime

Database

Application

Database

Application

Cloud computing on AWS

< AWS />

www.startupdecode.com

Hands-on Heroku

< Prerequisite />

www.startupdecode.com

● Install Ruby on Rails: http://installrails.com

● Create account on heroku.com

● Install toolbelt kit: https://toolbelt.heroku.com

● Create account on http://aws.amazon.com

● Install ImageMagick http://www.imagemagick.org

< Install app />

www.startupdecode.com

$ git clone git@github.com:StartupDecode/lcapp.git

1. Clone

2. Go into rails project

$ cd lcapp

$ bundle install

3. Install gems

< Install Database/>

www.startupdecode.com

1. Migrate Database

$ rake db:migrate

$ rails server

3. restart server

$ rake db:seed

2. Populate Database

< Update GemFile/>

www.startupdecode.com

1. Update Gemfile and run bundle install

group :development do

gem 'sqlite3'

end

group :production do

gem 'pg'

gem 'rails_12factor' gem 'rails_log_stdout', github: 'heroku/rails_log_stdout'

gem 'rails3_serve_static_assets', github: 'heroku/rails3_serve_static_assets'

end

< Heroku app />

www.startupdecode.com

1. Create heroku app

$ heroku apps:create lcapp-xxx

$ git commit -m “add heroku config”

3. Commit

$ git add .

2. Track updated files

< Deploy />

www.startupdecode.com

1. Push to heroku

$ git push heroku master

$ heroku run rake db:seed

3. Populate production database

$ heroku run rake db:migrate

2. Migrate production database

< Create S3 Bucket />

www.startupdecode.com

< Create IAM User />

www.startupdecode.com

< Create IAM Group />

www.startupdecode.com

< Add secret Key />

www.startupdecode.com

1. Add bucket name

$ heroku config:set AWS_BUCKET=your_bucket_name

$ heroku config:set AWS_SECRET_ACCESS_KEY=your_aws_secret_key

3. Add secret access key

$ heroku config:set AWS_ACCESS_KEY_ID=your_aws_access_key_id

2. Add access key ID

< S3 config />

www.startupdecode.com

gem 'aws-sdk'

1. Add S3 gem and run bundle install

config.paperclip_defaults = { :storage => :s3, :s3_credentials => { :bucket => ENV['AWS_BUCKET'], :access_key_id => ENV['AWS_ACCESS_KEY_ID'], :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'] }}

2. Add production config

< Deploy />

www.startupdecode.com

1. Install gem

$ bundle install

$ git push heroku master

4. Push to heroku

$ git add .

2. Track changes

3. Commit changes

$ git commit -m “add S3 config”

Hands-on AWS

< AWS />

www.startupdecode.com

@startupdecode /startupDecode /user/startupDecodemeetup.com/startupDecode

< StartupDecode />

A bientôt

Next meetup:Object-oriented programming

Recommended