Become a Heroku Rails Ninja: Expert Level Deployment Tools
About This Course
Many startup non-technical founders are learning how to code their prototypes to get some quick feedback from potential users and pitch investors.
However… once you learn how to code, deploying your app can be a challenge. You need to know how to configure web servers, database servers, automate installation of gems, git repositories synchronization, etc… all just to have your app up and running on the web.
Luckily we have providers like Heroku that make it extremely easy to get your app deployed in minutes, without configuring any servers at all. These are known as Platform as a Service (PaaS) providers.
The basic deployment of a Rails app to Heroku is simple and quick, and most “learn how to code”courses cover it in just a few minutes. But if you chose to stay on Heroku for the long term, you should spend some time understanding how it works and how to optimize your app to get the most out of the resources provided by the platform and how it compares to going directly to cloud providers like Amazon or Rackspace.
This course covers all you need to know to get your first basic deployment up and how to gradually expand features and functionalities with the help of ruby gems and Heroku third-party add-ons.
By getting to know the platform you will:
- Reduce costs by understanding that some times it’s not just about “adding more dynos!“, but to simply apply basic optimizations to your code.
- Learn how to get full visibility of your app performance and real time logs so you can debug and fix issues faster.
- Design your app so that it gets the most out of Heroku’s architectural design.
- Set a professional deployment architecture with identical staging and production servers so you can test new features before those go live.
What are the requirements?
- Ruby on Rails development environment on your local machine
- Basic Ruby on Rails development knowledge
What am I going to get from this course?
- Basic deployment of a Ruby on Rails app to Heroku
- Understanding how Heroku works and how to tweak its basic behavior
- Understanding how Add-ons work and experiment setting up the most essential ones for your application
- Learn to diagnose and remove bottlenecks that slow down your app and don’t allow it to scale
- Once you are done, you’ll save more money on your Heroku bill than what you paid for the course
What is the target audience?
- Non-technical startup founders who are learning how to code in Rails and want to be able to deploy their work to the cloud
- Ruby on Rails developers who don’t have any DevOps or server configuration knowledge/skills
- SysAdmins and DevOps professionals who want to improve their own architectures by replicating how Platform as a Service (PaaS) providers like Heroku organize their service
- Any person currently using Heroku as their provider and want to improve their scalability and get more bang for their buck
|Section 1: The Basics|
Deploying your first Ruby on Rails app to Heroku
Team management with Git workflow
Continuous Deployment (part 1: gems)
Continuous Deployment (part 2: database migrations)
Add-on management and Scheduled Tasks
Add-on for log visibility: Papertrail
Add-on for app performance visibility: New Relic
Getting multiple concurrent web processes out of each dyno
Upgrading the Database for more capacity
|Section 2: Getting ready for Production|
Refactoring for faster response
Config Variables for Sensitive Information
Heroku’s Read-Only File System and Dyno Isolation
File storage using amazon S3 or any other provider
Generate Thumbnails for your Carrierwave Uploads
Adding some design with the Rails Asset Pipeline and Bootstrap
Move static assets to cloud storage with Asset Sync
Basic Domain Names configuration for your apps
PointDNS Add-On for easier domain settings
Set good looking Error and Maintenance pages
|Section 3: Optimizations and Tips|
Identifying bottlenecks at scale
Implement Memcachier to support more traffic
Load testing your app
Cache pages that receive params
Production databases and pg:extras
Run queries on your database and set replication
Improving query times on production databases
Super dynos (2x), deep view on how memory is allocated per dyno
Console timeouts and connectivity issues
Manage multiple heroku accounts from the command line with heroku:accounts
Lead Platform Architect at the startup that powers photo manipulation mobile apps such as The Walking Dead Dead Yourself app, which has been the #1 app on the iTunes AppStore and has surpassed 8 million downloads. The platform runs completely on Heroku and has been able to support intense traffic and load spikes.
Over the last 15 years I have worked on a variety of projects as a consultant, developing web applications for large companies and small startups. I also have developed several personal projects and prototypes for startup ideas of my own, most of which I host on Heroku as well.
I have been developing dynamic database driven web applications since 1999, initially with PHP & MySQL and since 2006 started working with Ruby On Rails.
- Lectures 0
- Quizzes 0
- Duration 50 hours
- Skill level All level
- Language English
- Students 6811
- Assessments Self