+ All Categories
Home > Technology > Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails projects: A checklist

Date post: 19-Oct-2014
Category:
View: 27,024 times
Download: 1 times
Share this document with a friend
Description:
Summary A collection of best practices and lessons learned for launching your next Rails application. Details The big product launch is approaching for your shiny new application and you’re scrambling to fix last minute bugs and work out the kinks. Deep down, you have this suspicious feeling that you’re forgetting something important. Whether it’s your first or your twentieth time that you’ve launched an application, it’s almost guaranteed that there are things that will get overlooked. In this talk, Robby Russell, a partner and the Chief Evangelist at Planet Argon will walk the audience through his team’s Project Launch checklist, which has evolved through several years of designing, developing, and deploying web applications. Robby will share his experiences and outline a collection of best practices such as; keeping your project releasable at all times, managing staging and production environments, bootstrapping your application for SEO and analytics/conversion tracking, preparing for the unexpected, and most importantly… making sure your clients are ready for the bumpy ride. Robby’s goal is to share from the hard lessons that his team has experienced over the years and provide you with some ideas to walk away with you. As you’ll learn, it’s never too early to start preparing an application for the big launch. This topic will be presented by Robby Russell
Popular Tags:
156
Launching Ruby on Rails Applications A CHECKLIST Friday, July 24, 2009
Transcript
Page 1: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails ApplicationsA CHECKLIST

Friday, July 24, 2009

Page 2: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails ApplicationsA CHECKLIST

Thanks Mark!

Friday, July 24, 2009

Page 3: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails ApplicationsA CHECKLIST

Friday, July 24, 2009

Page 4: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails ApplicationsA CHECKLIST

Friday, July 24, 2009

Page 5: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails ApplicationsA CHECKLIST

Friday, July 24, 2009

Page 6: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails ApplicationsA CHECKLIST

From our teamat Planet Argon, direct to you

Friday, July 24, 2009

Page 7: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails ApplicationsA CHECKLIST

Launching Ruby on Rails Applications

Best Practicesfor prepping your launch pad

Friday, July 24, 2009

Page 8: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications

Friday, July 24, 2009

Page 9: Launching Ruby on Rails projects: A checklist

HOSTING

Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications

Friday, July 24, 2009

Page 10: Launching Ruby on Rails projects: A checklist

HOSTING

SEARCH ENGINES

Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications

Friday, July 24, 2009

Page 11: Launching Ruby on Rails projects: A checklist

HOSTING

SEARCH ENGINES

DATA HARVESTING

Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications

Friday, July 24, 2009

Page 12: Launching Ruby on Rails projects: A checklist

HOSTING

SEARCH ENGINES

DATA HARVESTING

FEEDBACK

Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications

Friday, July 24, 2009

Page 13: Launching Ruby on Rails projects: A checklist

HOSTING

SEARCH ENGINES

DATA HARVESTING

FEEDBACK

EXCEPTIONS

Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications

Friday, July 24, 2009

Page 14: Launching Ruby on Rails projects: A checklist

HOSTING

SEARCH ENGINES

DATA HARVESTING

FEEDBACK

EXCEPTIONS

PERFORMANCE

Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications

Friday, July 24, 2009

Page 15: Launching Ruby on Rails projects: A checklist

HOSTING

SEARCH ENGINES

DATA HARVESTING

FEEDBACK

EXCEPTIONS

PERFORMANCE

CLIENTS

Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications

Friday, July 24, 2009

Page 16: Launching Ruby on Rails projects: A checklist

HOSTING

SEARCH ENGINES

DATA HARVESTING

FEEDBACK

EXCEPTIONS

PERFORMANCE

CLIENTS

Have your cake and eat it too!

Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications

Friday, July 24, 2009

Page 17: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails Applications

Checklist

CHECKYOUR LIST

Watch for it on my blog: http://robbyonrails.com

Friday, July 24, 2009

Page 18: Launching Ruby on Rails projects: A checklist

Friday, July 24, 2009

Page 19: Launching Ruby on Rails projects: A checklist

1200+ respondents

More information at http://rails-hosting.com

Friday, July 24, 2009

Page 20: Launching Ruby on Rails projects: A checklist

Before we begin...

Friday, July 24, 2009

Page 21: Launching Ruby on Rails projects: A checklist

Working on your first Rails project?

Friday, July 24, 2009

Page 22: Launching Ruby on Rails projects: A checklist

Have you launched at least one Rails app?

Friday, July 24, 2009

Page 23: Launching Ruby on Rails projects: A checklist

Have you launched at least one Rails app?

2-5 Rails apps?

Friday, July 24, 2009

Page 24: Launching Ruby on Rails projects: A checklist

Have you launched at least one Rails app?

2-5 Rails apps?more than 5?

Friday, July 24, 2009

Page 25: Launching Ruby on Rails projects: A checklist

How many Ruby on Rails applications have you deployed?

SURVEY SAYS...

5+38%

1-5 47%

110%

None4%

Q.

Friday, July 24, 2009

Page 26: Launching Ruby on Rails projects: A checklist

Don’t wait until the last minute!

Friday, July 24, 2009

Page 27: Launching Ruby on Rails projects: A checklist

lots of topics

hosting

data harvesting

marketing

visual design

development

project managementinteraction design

quality assurance

client management

tracking errors

user feedbackpublic relations

teamwork

browser testing

testing code

search engine optimization

planning

brainstormingetc.

Friday, July 24, 2009

Page 28: Launching Ruby on Rails projects: A checklist

lots of topics

hosting

data harvesting

marketing

visual design

development

project managementinteraction design

quality assurance

client management

tracking errors

user feedbackpublic relations

teamwork

browser testing

testing code

search engine optimization

planning

brainstormingetc.

Friday, July 24, 2009

Page 29: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails ApplicationsHosting

Friday, July 24, 2009

Page 30: Launching Ruby on Rails projects: A checklist

Automate DeploymentsFriday, July 24, 2009

Page 31: Launching Ruby on Rails projects: A checklist

CHECKYOUR LIST

Create reusable tasks to release

new versions of the application.

Friday, July 24, 2009

Page 32: Launching Ruby on Rails projects: A checklist

Do you use an automated deployment tool?

SURVEY SAYS...

No23%

Yes77%

Q.

Friday, July 24, 2009

Page 33: Launching Ruby on Rails projects: A checklist

That means nearly one in four are still...

Friday, July 24, 2009

Page 34: Launching Ruby on Rails projects: A checklist

That means nearly one in four are still...

Manually uploading source code via FTP or SFTP

Friday, July 24, 2009

Page 35: Launching Ruby on Rails projects: A checklist

Manually uploading source code via FTP or SFTP

SSHing into the server

That means nearly one in four are still...

Friday, July 24, 2009

Page 36: Launching Ruby on Rails projects: A checklist

Manually uploading source code via FTP or SFTP

SSHing into the server

Manually running migrations

That means nearly one in four are still...

Friday, July 24, 2009

Page 37: Launching Ruby on Rails projects: A checklist

Manually uploading source code via FTP or SFTP

SSHing into the server

Manually running migrations

Manually restarting their application

That means nearly one in four are still...

Friday, July 24, 2009

Page 38: Launching Ruby on Rails projects: A checklist

That means nearly one in four are still...

Manually uploading source code via FTP or SFTP

SSHing into the server

Manually running migrations

Manually restarting their application

Don’t Repeat Yourself!

Friday, July 24, 2009

Page 39: Launching Ruby on Rails projects: A checklist

Minimize Human Error

Friday, July 24, 2009

Page 40: Launching Ruby on Rails projects: A checklist

Knowledgeable Team

Friday, July 24, 2009

Page 41: Launching Ruby on Rails projects: A checklist

Make time to test deploymentsFriday, July 24, 2009

Page 42: Launching Ruby on Rails projects: A checklist

Know how to ROLLBACK when necessary

Friday, July 24, 2009

Page 43: Launching Ruby on Rails projects: A checklist

Testing gives your team confidence!

Friday, July 24, 2009

Page 44: Launching Ruby on Rails projects: A checklist

Hire a specialist who knows their stuff

Friday, July 24, 2009

Page 45: Launching Ruby on Rails projects: A checklist

CHECKYOUR LIST

Make sure your team knows how to test,

deploy & rollback when necessary.

Friday, July 24, 2009

Page 46: Launching Ruby on Rails projects: A checklist

Setup a Staging EnvironmentFriday, July 24, 2009

Page 47: Launching Ruby on Rails projects: A checklist

Practicein your production environment

Friday, July 24, 2009

Page 48: Launching Ruby on Rails projects: A checklist

Brand new Rails App

Deploy to staging!

Sign contractSetup git repositoryGenerate new Rails app

Friday, July 24, 2009

Page 49: Launching Ruby on Rails projects: A checklist

TIPFROMROBBY

Keep your application deployable at all times!

(Not just releasable)

Friday, July 24, 2009

Page 50: Launching Ruby on Rails projects: A checklist

Friday, July 24, 2009

Page 51: Launching Ruby on Rails projects: A checklist

Staging site to the rescue!Friday, July 24, 2009

Page 52: Launching Ruby on Rails projects: A checklist

Test the water...

Friday, July 24, 2009

Page 53: Launching Ruby on Rails projects: A checklist

... before diving in!Friday, July 24, 2009

Page 54: Launching Ruby on Rails projects: A checklist

Keep out the Peeping TomsFriday, July 24, 2009

Page 55: Launching Ruby on Rails projects: A checklist

HTTP Basic Authentication

Friday, July 24, 2009

Page 56: Launching Ruby on Rails projects: A checklist

Friday, July 24, 2009

Page 57: Launching Ruby on Rails projects: A checklist

Test your scheduled tasks... in a real hosting environment

Friday, July 24, 2009

Page 58: Launching Ruby on Rails projects: A checklist

Create a deployment guideFriday, July 24, 2009

Page 59: Launching Ruby on Rails projects: A checklist

TIPFROMROBBY

Put configuration files in Git

Friday, July 24, 2009

Page 60: Launching Ruby on Rails projects: A checklist

TIPFROMROBBY

Have a backup strategy!

Friday, July 24, 2009

Page 61: Launching Ruby on Rails projects: A checklist

CHECKYOUR LIST

Set up a staging environment as soon as the project is started.

Friday, July 24, 2009

Page 62: Launching Ruby on Rails projects: A checklist

Monitoring Your AppFriday, July 24, 2009

Page 63: Launching Ruby on Rails projects: A checklist

Do you use monit or god for server side monitoring?

SURVEY SAYS...

No57%

Other4%

God13%

Monit26%

Q.

Friday, July 24, 2009

Page 64: Launching Ruby on Rails projects: A checklist

Mongrel

memcached

backgroundDrb

Use Server Monitoring Tools for...

delayed_job

Friday, July 24, 2009

Page 65: Launching Ruby on Rails projects: A checklist

CHECKYOUR LIST

Setup monit or god.

Friday, July 24, 2009

Page 66: Launching Ruby on Rails projects: A checklist

“Have you tried turning it off and on again?”

Friday, July 24, 2009

Page 67: Launching Ruby on Rails projects: A checklist

Do you use any uptime monitoring tools in production?

SURVEY SAYS...

No60%

Other12%

Pingdom10%

Nagios18%

Q.

Friday, July 24, 2009

Page 68: Launching Ruby on Rails projects: A checklist

Use Client Side Monitoring Tools

do it yourself?

Friday, July 24, 2009

Page 69: Launching Ruby on Rails projects: A checklist

EXTRACREDIT!

Friday, July 24, 2009

Page 70: Launching Ruby on Rails projects: A checklist

Use Cucumber to test in production

EXTRACREDIT!

Friday, July 24, 2009

Page 71: Launching Ruby on Rails projects: A checklist

!Automate your deployments!Setup a staging environment!Server-side monitoring!Client-side monitoring

Be cool & confident... use best practices

Friday, July 24, 2009

Page 72: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails Applications

Search Engines

Friday, July 24, 2009

Page 73: Launching Ruby on Rails projects: A checklist

<h1>Write Good Markup</h1>

<ul>

<li>Page Titles</li>

<li>Permalinks</li>

<li>Important Elements</li>

</ul>

<p>Hire a UI guru!</p>

Friday, July 24, 2009

Page 74: Launching Ruby on Rails projects: A checklist

Page titles are used in search results

Friday, July 24, 2009

Page 75: Launching Ruby on Rails projects: A checklist

Permalinks?

URLs are part of the UI

Friday, July 24, 2009

Page 76: Launching Ruby on Rails projects: A checklist

Use markup to create structure

Search bots like structure.

Friday, July 24, 2009

Page 77: Launching Ruby on Rails projects: A checklist

<h1>Get in Touch</h1>...

<h2>Visit Us</h2>...

Friday, July 24, 2009

Page 78: Launching Ruby on Rails projects: A checklist

<img src=”studio.jpg”

alt=”Planet Argon Studio” />

Friday, July 24, 2009

Page 79: Launching Ruby on Rails projects: A checklist

<a href=”/who-we-are”

title=”Who We Are”>...</a>

Friday, July 24, 2009

Page 80: Launching Ruby on Rails projects: A checklist

I see possible issues with AJAX

and Javascript

BOOM!

Friday, July 24, 2009

Page 81: Launching Ruby on Rails projects: A checklist

Search engines may not be able to access some content

Friday, July 24, 2009

Page 82: Launching Ruby on Rails projects: A checklist

Degrade Gracefully

Friday, July 24, 2009

Page 83: Launching Ruby on Rails projects: A checklist

Create an XML Sitemap

Friday, July 24, 2009

Page 84: Launching Ruby on Rails projects: A checklist

Automate the generation of your sitemap

Friday, July 24, 2009

Page 85: Launching Ruby on Rails projects: A checklist

Notify these guys when you have an updated sitemap

Friday, July 24, 2009

Page 86: Launching Ruby on Rails projects: A checklist

Google Webmaster Tools

Sign up for...

Friday, July 24, 2009

Page 87: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails Applications

Data Harvesting & Analytics

Friday, July 24, 2009

Page 88: Launching Ruby on Rails projects: A checklist

CHECKYOUR LIST

Identify your Key Performance Indicators (KPIs)

Friday, July 24, 2009

Page 89: Launching Ruby on Rails projects: A checklist

What are some example KPIs?

Friday, July 24, 2009

Page 90: Launching Ruby on Rails projects: A checklist

Example KPIs

• Page views (per day / per visit)

Friday, July 24, 2009

Page 91: Launching Ruby on Rails projects: A checklist

Example KPIs

• Page views (per day / per visit)

• Newsletter subscriptions

Friday, July 24, 2009

Page 92: Launching Ruby on Rails projects: A checklist

Example KPIs

• Page views (per day / per visit)

• Newsletter subscriptions

• Successful orders

Friday, July 24, 2009

Page 93: Launching Ruby on Rails projects: A checklist

Example KPIs

• Page views (per day / per visit)

• Newsletter subscriptions

• Successful orders

• Abandoned shopping carts

Friday, July 24, 2009

Page 94: Launching Ruby on Rails projects: A checklist

Example KPIs

• Page views (per day / per visit)

• Newsletter subscriptions

• Successful orders

• Abandoned shopping carts

• Homepage bounce rate

Friday, July 24, 2009

Page 95: Launching Ruby on Rails projects: A checklist

Collect & Segment

Friday, July 24, 2009

Page 96: Launching Ruby on Rails projects: A checklist

Sign up for Google Analyticsand make sure your Clients have access

Friday, July 24, 2009

Page 97: Launching Ruby on Rails projects: A checklist

Setup your primary conversion goals

Friday, July 24, 2009

Page 98: Launching Ruby on Rails projects: A checklist

Usage testingnot the same as Usability testing

Friday, July 24, 2009

Page 99: Launching Ruby on Rails projects: A checklist

Crazyegg

CrazyEggHeatmaps and usage patterns

Friday, July 24, 2009

Page 100: Launching Ruby on Rails projects: A checklist

Clicktale

ClicktaleScreencasts of real visitors on your site

Friday, July 24, 2009

Page 101: Launching Ruby on Rails projects: A checklist

Look for patterns

Friday, July 24, 2009

Page 102: Launching Ruby on Rails projects: A checklist

Get rid of the guesswork

Friday, July 24, 2009

Page 103: Launching Ruby on Rails projects: A checklist

Test your ideas

Friday, July 24, 2009

Page 104: Launching Ruby on Rails projects: A checklist

Data Harvesting

DataDataLaunching Ruby on Rails Applications

User Feedback

Friday, July 24, 2009

Page 105: Launching Ruby on Rails projects: A checklist

Who is responsible for responding to

feedback?

Friday, July 24, 2009

Page 106: Launching Ruby on Rails projects: A checklist

User VoiceCustomers vote on ideas

Friday, July 24, 2009

Page 107: Launching Ruby on Rails projects: A checklist

TenderCreate a support center

Friday, July 24, 2009

Page 108: Launching Ruby on Rails projects: A checklist

zendeskSupport tool for small companies

Friday, July 24, 2009

Page 109: Launching Ruby on Rails projects: A checklist

GetSatisfactionMake it easy for your users to send you feedback

Friday, July 24, 2009

Page 110: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails Applications

Exceptions

Friday, July 24, 2009

Page 111: Launching Ruby on Rails projects: A checklist

Do you catch and track Application Exceptions in production?

SURVEY SAYS...

No31%

Yes69%

Q.

Friday, July 24, 2009

Page 112: Launching Ruby on Rails projects: A checklist

exception_notification

http://github.com/rails/exception_notification/tree/master

Friday, July 24, 2009

Page 113: Launching Ruby on Rails projects: A checklist

hoptoad

Friday, July 24, 2009

Page 114: Launching Ruby on Rails projects: A checklist

Exceptional

Friday, July 24, 2009

Page 115: Launching Ruby on Rails projects: A checklist

Friday, July 24, 2009

Page 116: Launching Ruby on Rails projects: A checklist

Default

404

Default

500Friday, July 24, 2009

Page 117: Launching Ruby on Rails projects: A checklist

Helpful 404 Page

Friday, July 24, 2009

Page 118: Launching Ruby on Rails projects: A checklist

Helpful 500 Page

Friday, July 24, 2009

Page 119: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails Applications

Performance

Friday, July 24, 2009

Page 120: Launching Ruby on Rails projects: A checklist

Page load is king

Friday, July 24, 2009

Page 121: Launching Ruby on Rails projects: A checklist

YSlow

Friday, July 24, 2009

Page 122: Launching Ruby on Rails projects: A checklist

Google Page Speed

Friday, July 24, 2009

Page 123: Launching Ruby on Rails projects: A checklist

Benchmark against staging

Friday, July 24, 2009

Page 124: Launching Ruby on Rails projects: A checklist

Do you use any performance monitoring tools in production?

SURVEY SAYS...

No64%

Yes36%

Q.

Friday, July 24, 2009

Page 125: Launching Ruby on Rails projects: A checklist

Scout

Friday, July 24, 2009

Page 126: Launching Ruby on Rails projects: A checklist

FiveRuns

Friday, July 24, 2009

Page 127: Launching Ruby on Rails projects: A checklist

New Relic

Friday, July 24, 2009

Page 128: Launching Ruby on Rails projects: A checklist

Is your source code efficient?

Friday, July 24, 2009

Page 129: Launching Ruby on Rails projects: A checklist

are the database queries efficient?

Are your database queries efficient?

Friday, July 24, 2009

Page 130: Launching Ruby on Rails projects: A checklist

are the database queries efficient?

Are your database queries efficient?missing indexes?

Friday, July 24, 2009

Page 131: Launching Ruby on Rails projects: A checklist

What are your slowest controller actions?

Friday, July 24, 2009

Page 132: Launching Ruby on Rails projects: A checklist

negatively impacting our KPIs?

What are your slowest controller actions?

Friday, July 24, 2009

Page 133: Launching Ruby on Rails projects: A checklist

TIPFROMROBBY

Use data to drive your optimization efforts

Friday, July 24, 2009

Page 134: Launching Ruby on Rails projects: A checklist

Stop guessing!

Friday, July 24, 2009

Page 135: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails Applications

Clients Holding their hands

Friday, July 24, 2009

Page 136: Launching Ruby on Rails projects: A checklist

Be a coachFriday, July 24, 2009

Page 137: Launching Ruby on Rails projects: A checklist

manage expectations

TIPFROMROBBY

Make sure you are managing your client’s

expectations

Friday, July 24, 2009

Page 138: Launching Ruby on Rails projects: A checklist

Launch is the starting lineFriday, July 24, 2009

Page 139: Launching Ruby on Rails projects: A checklist

On-going maintenance is a necessity

Friday, July 24, 2009

Page 140: Launching Ruby on Rails projects: A checklist

Budget for a reliable hosting solution

Friday, July 24, 2009

Page 141: Launching Ruby on Rails projects: A checklist

Be ready on Launch Day

Friday, July 24, 2009

Page 142: Launching Ruby on Rails projects: A checklist

Celebrate!Friday, July 24, 2009

Page 143: Launching Ruby on Rails projects: A checklist

Celebrate!

Share some champagne...

Friday, July 24, 2009

Page 144: Launching Ruby on Rails projects: A checklist

...or Scotch. ;-)Friday, July 24, 2009

Page 145: Launching Ruby on Rails projects: A checklist

Have a plan ready forthe road ahead

Friday, July 24, 2009

Page 146: Launching Ruby on Rails projects: A checklist

Analyze your KPIsKeep up on user feedbackPush out bug fixes early and often

Friday, July 24, 2009

Page 147: Launching Ruby on Rails projects: A checklist

Launching Ruby on Rails Applications

Summary

Let’s do a quick review

Friday, July 24, 2009

Page 148: Launching Ruby on Rails projects: A checklist

CHECKYOUR LIST

Don’t postpone preparation until

the end

Friday, July 24, 2009

Page 149: Launching Ruby on Rails projects: A checklist

CHECKYOUR LIST

Keep your application

deployable at all times

Friday, July 24, 2009

Page 150: Launching Ruby on Rails projects: A checklist

CHECKYOUR LIST

Pace yourself

Friday, July 24, 2009

Page 151: Launching Ruby on Rails projects: A checklist

CHECKYOUR LIST

Prepare for the unexpected

Friday, July 24, 2009

Page 152: Launching Ruby on Rails projects: A checklist

CHECKYOUR LIST

Solve the right problems

Friday, July 24, 2009

Page 153: Launching Ruby on Rails projects: A checklist

Have Fun.

CHECKYOUR LIST

Have fun!

Friday, July 24, 2009

Page 154: Launching Ruby on Rails projects: A checklist

Thank you

Friday, July 24, 2009

Page 155: Launching Ruby on Rails projects: A checklist

Where’s Robby?

• blog: http://robbyonrails.com

• company: http://planetargon.com

• twitter: @robbyrussell

• email: [email protected]

Friday, July 24, 2009

Page 156: Launching Ruby on Rails projects: A checklist

PLANET ARGONDESIGN // DEVELOPMENT // DEPLOYMENT

More information at http://planetargon.com

Friday, July 24, 2009


Recommended