Keep Your Ruby on Rails App Healthy
🚀 Launching your app feels incredible...but it's just the start!
After you've shipped, you'll want to make sure you keep your app running in top condition!
This means monitoring, maintaining, and developing your app as time goes on to ensure it is always fast, up-to-date, stable and secure.
Keep Your Ruby on Rails App Healthy is the complete course that teaches you how to design, build and set up your Ruby on Rails apps to make this essential work much easier.
📖 FREE SAMPLE CHAPTER: Download a complete lesson from the book for free now!
This course will help you stop worrying about deployments, making finding a fixing bugs a breeze, and help you monitor your app's health, so you can concentrate on adding great new features for your customers.
📚The Course - What You'll Learn
In Keep Your Ruby on Rails App Healthy, you’ll learn how to design, build, monitor and maintain your Ruby on Rails apps to keep them fast, stable, and secure.
“I’ve been writing Rails apps for 10 years and learned enough in the first chapter to justify higher a price…” (@jot)
As you work through each lesson, you'll get valuable tips, discover easy-to-implement best-practices, and learn how to set up tools and automated processes to monitor, maintain and improve your Ruby on Rails apps.
With this knowledge you'll be able to start paying back technical debt in your projects - and keep it from building up again.
Through this packed course, you'll learn how to...
- Perform a quick health-check on your site to make sure pages are optimised and responsive.
- Audit and Secure your app and its dependencies against vulnerabilities and outdated gems.
- Check your code for known "code smells" - and how to fix them.
- See how your code measures up against current Ruby and Rails code styles and best practice techniques. Your code becomes instantly easier to maintain.
- Setup monitoring for all layers of your app, from uptime checking to code performance, and error reporting.
- Automate and schedule ongoing checks of your app's health using everyday Ruby tools. Check with every commit, and rest assured that your code is in great condition.
- Automate Your Infrastructure Configuring a basic server for your app with Ansible, to make managing your infrastructure simply and consistent.
- Making and Managing Backups How to set up automated, encrypted off–site backups for your app's critical data.
- Smart Notifications Setting up a notification strategy for monitoring all layers of your app.
- Use Object storage to handle your app's content and assets off-site, and reduce dependencies. (Download this chapter for free)
- Learn the basics of using Docker to containerise your app for development.
- Protecting your app by automating SSL and configuration in your app.
- ...and much more (See full chapter list below)
🛠 Toolkit Edition
The Toolkit Edition includes the original Keep Your Ruby on Rails App Healthy eCourse, plus:
- Code / Auditing Scripts (including a standalone Docker-based tool) that can be used to automatically check the quality of your app's code, and report on any security issues;
- A complete Ansible playbook to use as the basis for provisioning your own application servers;
- A pre-launch checklist to use as a handy reference to make deploying your Ruby on Rails apps as smooth as possible;
- Free updates to the toolkit - you'll get access new tools and resources as they are added to the toolkit.
Why should I buy this course?
Modern software applications—including websites—rely on dozens of external dependencies, all of which are regularly updated and patched as time goes on, new security vulnerabilities are found, and new bugs discovered.
Rather than rebuilding your site, and ending up in the same situation 6 months from now, you are far better off investing to bring your existing app up to scratch, and improve upon things in a little-and-often approach.
Seeing your Rails app as a long-term investment, rather than a delivered-and-done project, means you can more quickly act on new business trends, test your propositions, and adapt to your business’ needs.
A healthy app keeps you safe in the knowledge that when services on which your app depends change (e.g. Facebook, Google, Mailchimp, SendGrid, Heroku…), your code is ready and can be quickly updated to keep working.
📢 What People are Saying
“I really enjoyed the book. A lot of quick wins for me to implement and makes me realise I can do more with guard.”
– Ben (@r0_0tKat)
“I’ve been writing Rails apps for 10 years and learned enough in the first chapter to justify higher a price…”
– Jonathan (@jot)
👋 Who wrote this course?
Keep Your Ruby on Rails App Healthy is written by Chris Blunt, a software consultant and developer based in Plymouth, UK. Chris has been using Rails to build web applications since 2008.
Today, Chris works with clients to design and support their apps for the long-term. He also provides consulting and technical training for software businesses and developers who are building products with Ruby on Rails and supporting technologies.
You can find out more about Chris' professional services at plymouthsoftware.com. He also writes about software, business and life at chrisblunt.com.
To connect, follow @cblunt on Twitter and cbluntuk on LinkedIn. If you have any questions about the course or content, please reach out on social media, or get in touch via email.
🙏 100% Satisfaction Guarantee
Keep Your Ruby on Rails App Healthy comes with a 100% satisfaction guarantee.
If within 30 days of purchase, you're not entirely satisfied with the course for any reason, let me know and I'll refund your money, no questions asked.
📖 Can I get a Free Chapter / Sample?
Sure! Download the free Using Object Storage lesson here.
If you want more, head to healthyrailsapps.com to get the free Healthy Rails Apps Fundamentals course which includes several free lessons.
Full Chapter List
- Why Keep your Rails App Healthy?
What is a Healthy App?
- Designing Healthy Apps
A Quick Health Check
Building a Test Suite
- What to Test
- Feature Tests
- Scenarios Coverage
Looking for Code Smells
- What is a Code Smell?
- Securing Your App and its Dependencies
- Your App's Dependency Graph
- Updating Outdating Gems
- Auditing Gems
- Checking Your Code for Security Vulnerabilities
- Other Vulnerabilities
Coding Standards and Best Practice
- What are Rails Best Practices?
- Automating Your Code Checks
- Setting up Guard
- Configuring a Regular Audit
Configuring Application Secrets
- Using Environment Variables
- Encrypted Secrets (Rails 5.1)
- Why delegate transactional email?
- Checking Email Deliverability
Use Object Storage for Assets
- Why use Object Storage?
- Using Amazon S3 to Store Your App's Assets
- Setting up a Bucket
- Permissions and Policies
- Create a new user for your app
- Create the Bucket
- Configure a Bucket Policy
- Configure Your App
- Serve Assets over CDN
- Create a Distribution
- Configuring Carrierwave for CDN
Hosting Your App
Hosting on Heroku
- What is Heroku?
- Things to Consider
Hosting on Your Own (Virtual) Server
- Which Provider?
- PreRequisite: Your SSH Key
- Getting Started
- Basic Configuration
- User accounts
- Deploying Your App and its Requirements
Host Your App on Docker
- Getting Started with Docker
- Writing Your Dockerfile
- Connect your app's container to other services
- Publish Your Docker Image to a Registry
- Choosing a Registry
- Pushing Your Image
- Pull and Run Your Image
Automate Your Server Configuration
- A Basic Server
- The Hosts File
- Writing a Playbook
- Setting up a Firewall
- Create a new user
A Simple Rails Application Server
- Creating a Ruby Role
- Creating a PostgreSQL Role
- Creating an Nginx Role
Encrypt Your App's Traffic
Enforce SSL across your app
Configure and Install SSL
- Your Own Server
Monitoring Your App
- Why Monitor?
- Availability & Performance
- Errors and Crashes
- Monitoring Scheduled (Cron) Jobs
Be Smart About Notifications
- Types of Notification
- Notification Channels
- Getting Started
- Test Your Backups!
❓I have a question...
Great! I'd love to help - please drop me an email, or send a message to @cblunt on Twitter if you have any questions.