Upload
amine-sadry
View
1.108
Download
3
Embed Size (px)
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 [email protected]: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