SlideShare a Scribd company logo
1 of 31
Heroku
Rails Hosting in the Cloud
What is cloud
 computing?
Cloud Computing

• Companies don‘t own the physical
  infrastructure
• Computing time and storage is rented from
  a third party
Advantages

• Variable costs instead of capital
  expenditure
  • Costs lining up with real usage
  • Real usage lining up with sales volume
• Higher flexibility
Disadvantages


• You have to trust a third party
• Limitations for exotic configurations
The Cloud rocks

Deployment sucks
co sts
   agility      low            scala
                                    bility


        The Cloud rocks
abso
    rb p                                ur ity
         eaks                       s ec
                reliability
Set up new     Deal with
      instances     outages

Deployment sucks
                  Persist
     Balancing    storag
                          ant
Load                      e
Automate or die
Customers




               contract


Dyno, SQL-Storage, Caching,…

               management


  ECS, S3, EBS, SimpleDB, …
Customers




       contract                        contract



                       manages
                                   ECS, S3, EBS, SimpleDB,
AppServer, SQL, etc.                          …
The Heroku stack
OS and Ruby

• default: Debian 4 + Ruby 1.8.6
• optional:
 • Debian 5 + REE 1.8.7
 • Debian 5 + Ruby 1.9.1
Dynos
App servers, background processes
Database
Shared or dedicated,
based on PostgreSQL
Add-Ons
• Amazon RDS          • Websolr
• Bundles (Backups)   • Memcache
• Cron                • AMQP
Integration
• Custom domains   • New Relic
• DNS servers      • Sendgrid
• Deploy hooks     • SSL certificates
• Exceptional      • ...
Read Only FS

• Caching → Header + Reverse Proxy
• Uploads → S3
• SQLite → PostgreSQL
• Ferret indices → use SOLR service
Interaction with
     heroku
Git based workflow

• gem install heroku
• heroku create
• git push heroku master
• heroku rake db:migrate
git push → build slug



                                     }
• checkout master branch
• download, build and install gems       slug
• delete .git, log/*, tmp/* and
  everything in .slugignore
Gem management


• .gems manifest file
• bundler (experimental)
Database management

• Uses values from database.yml
• Export to heroku → db:push
• Import from heroku → db:pull
Other features

• heroku
 • console (interactive/single commands)
 • rake
Conclusion
Cons
• Oversimplification
 • Predefined sets of OS and Ruby version
 • No ssh access
 • No choice of physical location
 • Only predefined tools available
• For larger setups: pretty expensive
• Porting apps may be hard
Pros

• Very simple start
• Low costs in the beginning / for small apps
• Offers simple management of complex
  apps, if developed with the heroku stack in
  mind
I do recommend
  Heroku for any new
projects that were built
with heroku restrictions
in mind, because it can‘t
     get any simpler!
Questions?

Follow me!
 @ralph

More Related Content

What's hot

Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual MachinesNeil Mackenzie
 
Windows Azure Virtual Machines And Virtual Networks
Windows Azure Virtual Machines And Virtual NetworksWindows Azure Virtual Machines And Virtual Networks
Windows Azure Virtual Machines And Virtual NetworksKristof Rennen
 
Cloud Computing: AWS for Lean Startups
Cloud Computing: AWS for Lean StartupsCloud Computing: AWS for Lean Startups
Cloud Computing: AWS for Lean StartupsZvi Avraham
 
Cnam azure 2014 web sites et integration continue
Cnam azure 2014  web sites et integration continueCnam azure 2014  web sites et integration continue
Cnam azure 2014 web sites et integration continueAymeric Weinbach
 
Sql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton VidishchevSql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton VidishchevAlex Tumanoff
 
Dell openstack cloud with inktank ceph – large scale customer deployment
Dell openstack cloud with inktank ceph – large scale customer deploymentDell openstack cloud with inktank ceph – large scale customer deployment
Dell openstack cloud with inktank ceph – large scale customer deploymentKamesh Pemmaraju
 
Storage as a service OpenStack
Storage as a service OpenStackStorage as a service OpenStack
Storage as a service OpenStackopenstackindia
 
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...Tesora
 
How to collect and utilize logs at Kubernetes with Elastic Stack
How to collect and utilize logs at Kubernetes with Elastic StackHow to collect and utilize logs at Kubernetes with Elastic Stack
How to collect and utilize logs at Kubernetes with Elastic StackRakuten Group, Inc.
 
Windows Azure Blob Storage
Windows Azure Blob StorageWindows Azure Blob Storage
Windows Azure Blob Storageylew15
 
12.07.2017 Docker Meetup - POSTGRE SQL ON KUBERNETES
12.07.2017 Docker Meetup - POSTGRE SQL ON KUBERNETES12.07.2017 Docker Meetup - POSTGRE SQL ON KUBERNETES
12.07.2017 Docker Meetup - POSTGRE SQL ON KUBERNETESZalando adtech lab
 
CEPH technical analysis 2014
CEPH technical analysis 2014CEPH technical analysis 2014
CEPH technical analysis 2014Erwan Quigna
 
GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft Azure
GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft AzureGDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft Azure
GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft AzureAndriy Deren'
 
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...Amazon Web Services
 
Disaggregating Ceph using NVMeoF
Disaggregating Ceph using NVMeoFDisaggregating Ceph using NVMeoF
Disaggregating Ceph using NVMeoFShapeBlue
 
Why GoGrid Wins Over Rackspace (RAX)
Why GoGrid Wins Over Rackspace (RAX)Why GoGrid Wins Over Rackspace (RAX)
Why GoGrid Wins Over Rackspace (RAX)GoGrid Cloud Hosting
 

What's hot (20)

Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual Machines
 
Windows Azure Virtual Machines And Virtual Networks
Windows Azure Virtual Machines And Virtual NetworksWindows Azure Virtual Machines And Virtual Networks
Windows Azure Virtual Machines And Virtual Networks
 
Cloud Computing: AWS for Lean Startups
Cloud Computing: AWS for Lean StartupsCloud Computing: AWS for Lean Startups
Cloud Computing: AWS for Lean Startups
 
Cnam azure 2014 web sites et integration continue
Cnam azure 2014  web sites et integration continueCnam azure 2014  web sites et integration continue
Cnam azure 2014 web sites et integration continue
 
Sql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton VidishchevSql saturday azure storage by Anton Vidishchev
Sql saturday azure storage by Anton Vidishchev
 
AWS simple storage service
AWS simple storage serviceAWS simple storage service
AWS simple storage service
 
Dell openstack cloud with inktank ceph – large scale customer deployment
Dell openstack cloud with inktank ceph – large scale customer deploymentDell openstack cloud with inktank ceph – large scale customer deployment
Dell openstack cloud with inktank ceph – large scale customer deployment
 
Storage as a service OpenStack
Storage as a service OpenStackStorage as a service OpenStack
Storage as a service OpenStack
 
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
 
Cnam azure 2014 storage
Cnam azure 2014   storageCnam azure 2014   storage
Cnam azure 2014 storage
 
How to collect and utilize logs at Kubernetes with Elastic Stack
How to collect and utilize logs at Kubernetes with Elastic StackHow to collect and utilize logs at Kubernetes with Elastic Stack
How to collect and utilize logs at Kubernetes with Elastic Stack
 
Windows Azure Blob Storage
Windows Azure Blob StorageWindows Azure Blob Storage
Windows Azure Blob Storage
 
12.07.2017 Docker Meetup - POSTGRE SQL ON KUBERNETES
12.07.2017 Docker Meetup - POSTGRE SQL ON KUBERNETES12.07.2017 Docker Meetup - POSTGRE SQL ON KUBERNETES
12.07.2017 Docker Meetup - POSTGRE SQL ON KUBERNETES
 
CEPH technical analysis 2014
CEPH technical analysis 2014CEPH technical analysis 2014
CEPH technical analysis 2014
 
GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft Azure
GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft AzureGDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft Azure
GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft Azure
 
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...
Integrating On-premises Enterprise Storage Workloads with AWS (ENT301) | AWS ...
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual Machines
 
Running Cassandra in AWS
Running Cassandra in AWSRunning Cassandra in AWS
Running Cassandra in AWS
 
Disaggregating Ceph using NVMeoF
Disaggregating Ceph using NVMeoFDisaggregating Ceph using NVMeoF
Disaggregating Ceph using NVMeoF
 
Why GoGrid Wins Over Rackspace (RAX)
Why GoGrid Wins Over Rackspace (RAX)Why GoGrid Wins Over Rackspace (RAX)
Why GoGrid Wins Over Rackspace (RAX)
 

Similar to Heroku Rails Hosting in the Cloud: An SEO-Optimized Summary

Postgres Plus Cloud Database
Postgres Plus Cloud DatabasePostgres Plus Cloud Database
Postgres Plus Cloud DatabaseGary Carter
 
What are clouds made from
What are clouds made fromWhat are clouds made from
What are clouds made fromJohn Garbutt
 
Running Open Source Solutions on Windows Azure
Running Open Source Solutions on Windows AzureRunning Open Source Solutions on Windows Azure
Running Open Source Solutions on Windows AzureSimon Evans
 
AWS Well Architected-Info Session WeCloudData
AWS Well Architected-Info Session WeCloudDataAWS Well Architected-Info Session WeCloudData
AWS Well Architected-Info Session WeCloudDataWeCloudData
 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Andrejs Prokopjevs
 
Is Private Cloud Right for Your Organization?
Is Private Cloud Right for Your Organization?Is Private Cloud Right for Your Organization?
Is Private Cloud Right for Your Organization?ServiceMesh
 
Developing in the Cloud
Developing in the CloudDeveloping in the Cloud
Developing in the CloudRyan Cuprak
 
Getting it Right: OpenStack Private Cloud Storage
Getting it Right: OpenStack Private Cloud StorageGetting it Right: OpenStack Private Cloud Storage
Getting it Right: OpenStack Private Cloud StorageNetApp
 
Cloud computing by amazon
Cloud computing by amazonCloud computing by amazon
Cloud computing by amazon8neutron8
 
Storage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on KubernetesStorage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on KubernetesDataWorks Summit
 
Radical Innovations In Storage for Multi-Tenant Infrastructure
Radical Innovations In Storage for Multi-Tenant InfrastructureRadical Innovations In Storage for Multi-Tenant Infrastructure
Radical Innovations In Storage for Multi-Tenant InfrastructureNetApp
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowEd Balduf
 
Spark volume requirements 2018
Spark volume requirements 2018Spark volume requirements 2018
Spark volume requirements 2018Rachit Arora
 
Real world cloud formation feb 2014 final
Real world cloud formation feb 2014 finalReal world cloud formation feb 2014 final
Real world cloud formation feb 2014 finalHoward Glynn
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWSTom Laszewski
 
DotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud ServersDotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud Serversbrchapman
 
The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenParticular Software
 
ServerTemplates - The Next Generation
ServerTemplates - The Next GenerationServerTemplates - The Next Generation
ServerTemplates - The Next GenerationRightScale
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!Michael Collier
 

Similar to Heroku Rails Hosting in the Cloud: An SEO-Optimized Summary (20)

Postgres Plus Cloud Database
Postgres Plus Cloud DatabasePostgres Plus Cloud Database
Postgres Plus Cloud Database
 
What are clouds made from
What are clouds made fromWhat are clouds made from
What are clouds made from
 
Running Open Source Solutions on Windows Azure
Running Open Source Solutions on Windows AzureRunning Open Source Solutions on Windows Azure
Running Open Source Solutions on Windows Azure
 
AWS Well Architected-Info Session WeCloudData
AWS Well Architected-Info Session WeCloudDataAWS Well Architected-Info Session WeCloudData
AWS Well Architected-Info Session WeCloudData
 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)
 
Is Private Cloud Right for Your Organization?
Is Private Cloud Right for Your Organization?Is Private Cloud Right for Your Organization?
Is Private Cloud Right for Your Organization?
 
Developing in the Cloud
Developing in the CloudDeveloping in the Cloud
Developing in the Cloud
 
Getting it Right: OpenStack Private Cloud Storage
Getting it Right: OpenStack Private Cloud StorageGetting it Right: OpenStack Private Cloud Storage
Getting it Right: OpenStack Private Cloud Storage
 
Cloud computing by amazon
Cloud computing by amazonCloud computing by amazon
Cloud computing by amazon
 
Storage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on KubernetesStorage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on Kubernetes
 
Radical Innovations In Storage for Multi-Tenant Infrastructure
Radical Innovations In Storage for Multi-Tenant InfrastructureRadical Innovations In Storage for Multi-Tenant Infrastructure
Radical Innovations In Storage for Multi-Tenant Infrastructure
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
 
Spark volume requirements 2018
Spark volume requirements 2018Spark volume requirements 2018
Spark volume requirements 2018
 
Real world cloud formation feb 2014 final
Real world cloud formation feb 2014 finalReal world cloud formation feb 2014 final
Real world cloud formation feb 2014 final
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
DotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud ServersDotNetNuke on Azure Cloud Servers
DotNetNuke on Azure Cloud Servers
 
The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
 
PaaS with Java
PaaS with JavaPaaS with Java
PaaS with Java
 
ServerTemplates - The Next Generation
ServerTemplates - The Next GenerationServerTemplates - The Next Generation
ServerTemplates - The Next Generation
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
 

Heroku Rails Hosting in the Cloud: An SEO-Optimized Summary

Editor's Notes

  1. * no capital expenditure * low barriers to entry * low risk (cancel contract any time) * e.g. fire up test systems for load tests and pay by the hour * utility like electricity
  2. * e.g. Amazon and possibly your management provider can read your data * XING uses SSDs to quickly serve small image files (not possible with Amazon)
  3. * agility/scalability: fire up instances automatically * low costs: variable costs, low risk * security: experts take care of backups, it‘s their core business * reliability: replicate data between cloud providers, fire up instances on the other if one is down
  4. The cloud does not make any sense without automation.
  5. * no direct contact between customers and amazon * heroku could switch the hosting provider any time without anyone noticing
  6. * customer has 2 contracts: one with scalarium, one with amazon * scalarium is tailored specifically to aws
  7. * Reverse Proxy: Nginx * HTTP Cache: Varnish * Routing Mesh: Custom, written in Erlang * SQL: PostgreSQL * Memcache
  8. * shared: multiple users on 1 powerful computing unit ** better for peaks ** impacts by other users * dedicated: 1 dedicated computing unit * database.yml will be replaced automatically on deployment
  9. heroku create: git remote add heroku git@heroku.com:my_app.git http://my-url-35.heroku.com/
  10. .slugignore format like .gitignore
  11. * current bundler version on heroku: 0.9.11
  12. * No Ruby 1.9.2 -> no Rails 3 beta3 * e.g. no Redis * every custom tool must be manually managed, out of the Heroku scope * technical term confusion, e.g. bundle and migration