launching ruby on rails projects: a checklist
Post on 19-Oct-2014
27.025 views
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 RussellTRANSCRIPT
Launching Ruby on Rails ApplicationsA CHECKLIST
Friday, July 24, 2009
Launching Ruby on Rails ApplicationsA CHECKLIST
Thanks Mark!
Friday, July 24, 2009
Launching Ruby on Rails ApplicationsA CHECKLIST
Friday, July 24, 2009
Launching Ruby on Rails ApplicationsA CHECKLIST
Friday, July 24, 2009
Launching Ruby on Rails ApplicationsA CHECKLIST
Friday, July 24, 2009
Launching Ruby on Rails ApplicationsA CHECKLIST
From our teamat Planet Argon, direct to you
Friday, July 24, 2009
Launching Ruby on Rails ApplicationsA CHECKLIST
Launching Ruby on Rails Applications
Best Practicesfor prepping your launch pad
Friday, July 24, 2009
Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications
Friday, July 24, 2009
HOSTING
Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications
Friday, July 24, 2009
HOSTING
SEARCH ENGINES
Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications
Friday, July 24, 2009
HOSTING
SEARCH ENGINES
DATA HARVESTING
Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications
Friday, July 24, 2009
HOSTING
SEARCH ENGINES
DATA HARVESTING
FEEDBACK
Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications
Friday, July 24, 2009
HOSTING
SEARCH ENGINES
DATA HARVESTING
FEEDBACK
EXCEPTIONS
Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications
Friday, July 24, 2009
HOSTING
SEARCH ENGINES
DATA HARVESTING
FEEDBACK
EXCEPTIONS
PERFORMANCE
Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications
Friday, July 24, 2009
HOSTING
SEARCH ENGINES
DATA HARVESTING
FEEDBACK
EXCEPTIONS
PERFORMANCE
CLIENTS
Launching Ruby on Rails ApplicationsLaunching Ruby on Rails Applications
Friday, July 24, 2009
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
Launching Ruby on Rails Applications
Checklist
CHECKYOUR LIST
Watch for it on my blog: http://robbyonrails.com
Friday, July 24, 2009
Friday, July 24, 2009
1200+ respondents
More information at http://rails-hosting.com
Friday, July 24, 2009
Before we begin...
Friday, July 24, 2009
Working on your first Rails project?
Friday, July 24, 2009
Have you launched at least one Rails app?
Friday, July 24, 2009
Have you launched at least one Rails app?
2-5 Rails apps?
Friday, July 24, 2009
Have you launched at least one Rails app?
2-5 Rails apps?more than 5?
Friday, July 24, 2009
How many Ruby on Rails applications have you deployed?
SURVEY SAYS...
5+38%
1-5 47%
110%
None4%
Q.
Friday, July 24, 2009
Don’t wait until the last minute!
Friday, July 24, 2009
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
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
Launching Ruby on Rails ApplicationsHosting
Friday, July 24, 2009
Automate DeploymentsFriday, July 24, 2009
CHECKYOUR LIST
Create reusable tasks to release
new versions of the application.
Friday, July 24, 2009
Do you use an automated deployment tool?
SURVEY SAYS...
No23%
Yes77%
Q.
Friday, July 24, 2009
That means nearly one in four are still...
Friday, July 24, 2009
That means nearly one in four are still...
Manually uploading source code via FTP or SFTP
Friday, July 24, 2009
Manually uploading source code via FTP or SFTP
SSHing into the server
That means nearly one in four are still...
Friday, July 24, 2009
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
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
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
Minimize Human Error
Friday, July 24, 2009
Knowledgeable Team
Friday, July 24, 2009
Make time to test deploymentsFriday, July 24, 2009
Know how to ROLLBACK when necessary
Friday, July 24, 2009
Testing gives your team confidence!
Friday, July 24, 2009
Hire a specialist who knows their stuff
Friday, July 24, 2009
CHECKYOUR LIST
Make sure your team knows how to test,
deploy & rollback when necessary.
Friday, July 24, 2009
Setup a Staging EnvironmentFriday, July 24, 2009
Practicein your production environment
Friday, July 24, 2009
Brand new Rails App
Deploy to staging!
Sign contractSetup git repositoryGenerate new Rails app
Friday, July 24, 2009
TIPFROMROBBY
Keep your application deployable at all times!
(Not just releasable)
Friday, July 24, 2009
Friday, July 24, 2009
Staging site to the rescue!Friday, July 24, 2009
Test the water...
Friday, July 24, 2009
... before diving in!Friday, July 24, 2009
Keep out the Peeping TomsFriday, July 24, 2009
HTTP Basic Authentication
Friday, July 24, 2009
Friday, July 24, 2009
Test your scheduled tasks... in a real hosting environment
Friday, July 24, 2009
Create a deployment guideFriday, July 24, 2009
TIPFROMROBBY
Put configuration files in Git
Friday, July 24, 2009
TIPFROMROBBY
Have a backup strategy!
Friday, July 24, 2009
CHECKYOUR LIST
Set up a staging environment as soon as the project is started.
Friday, July 24, 2009
Monitoring Your AppFriday, July 24, 2009
Do you use monit or god for server side monitoring?
SURVEY SAYS...
No57%
Other4%
God13%
Monit26%
Q.
Friday, July 24, 2009
Mongrel
memcached
backgroundDrb
Use Server Monitoring Tools for...
delayed_job
Friday, July 24, 2009
CHECKYOUR LIST
Setup monit or god.
Friday, July 24, 2009
“Have you tried turning it off and on again?”
Friday, July 24, 2009
Do you use any uptime monitoring tools in production?
SURVEY SAYS...
No60%
Other12%
Pingdom10%
Nagios18%
Q.
Friday, July 24, 2009
Use Client Side Monitoring Tools
do it yourself?
Friday, July 24, 2009
EXTRACREDIT!
Friday, July 24, 2009
Use Cucumber to test in production
EXTRACREDIT!
Friday, July 24, 2009
!Automate your deployments!Setup a staging environment!Server-side monitoring!Client-side monitoring
Be cool & confident... use best practices
Friday, July 24, 2009
Launching Ruby on Rails Applications
Search Engines
Friday, July 24, 2009
<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 titles are used in search results
Friday, July 24, 2009
Permalinks?
URLs are part of the UI
Friday, July 24, 2009
Use markup to create structure
Search bots like structure.
Friday, July 24, 2009
<h1>Get in Touch</h1>...
<h2>Visit Us</h2>...
Friday, July 24, 2009
<img src=”studio.jpg”
alt=”Planet Argon Studio” />
Friday, July 24, 2009
<a href=”/who-we-are”
title=”Who We Are”>...</a>
Friday, July 24, 2009
I see possible issues with AJAX
and Javascript
BOOM!
Friday, July 24, 2009
Search engines may not be able to access some content
Friday, July 24, 2009
Degrade Gracefully
Friday, July 24, 2009
Create an XML Sitemap
Friday, July 24, 2009
Automate the generation of your sitemap
Friday, July 24, 2009
Notify these guys when you have an updated sitemap
Friday, July 24, 2009
Google Webmaster Tools
Sign up for...
Friday, July 24, 2009
Launching Ruby on Rails Applications
Data Harvesting & Analytics
Friday, July 24, 2009
CHECKYOUR LIST
Identify your Key Performance Indicators (KPIs)
Friday, July 24, 2009
What are some example KPIs?
Friday, July 24, 2009
Example KPIs
• Page views (per day / per visit)
Friday, July 24, 2009
Example KPIs
• Page views (per day / per visit)
• Newsletter subscriptions
Friday, July 24, 2009
Example KPIs
• Page views (per day / per visit)
• Newsletter subscriptions
• Successful orders
Friday, July 24, 2009
Example KPIs
• Page views (per day / per visit)
• Newsletter subscriptions
• Successful orders
• Abandoned shopping carts
Friday, July 24, 2009
Example KPIs
• Page views (per day / per visit)
• Newsletter subscriptions
• Successful orders
• Abandoned shopping carts
• Homepage bounce rate
Friday, July 24, 2009
Collect & Segment
Friday, July 24, 2009
Sign up for Google Analyticsand make sure your Clients have access
Friday, July 24, 2009
Setup your primary conversion goals
Friday, July 24, 2009
Usage testingnot the same as Usability testing
Friday, July 24, 2009
Crazyegg
CrazyEggHeatmaps and usage patterns
Friday, July 24, 2009
Clicktale
ClicktaleScreencasts of real visitors on your site
Friday, July 24, 2009
Look for patterns
Friday, July 24, 2009
Get rid of the guesswork
Friday, July 24, 2009
Test your ideas
Friday, July 24, 2009
Data Harvesting
DataDataLaunching Ruby on Rails Applications
User Feedback
Friday, July 24, 2009
Who is responsible for responding to
feedback?
Friday, July 24, 2009
User VoiceCustomers vote on ideas
Friday, July 24, 2009
TenderCreate a support center
Friday, July 24, 2009
zendeskSupport tool for small companies
Friday, July 24, 2009
GetSatisfactionMake it easy for your users to send you feedback
Friday, July 24, 2009
Launching Ruby on Rails Applications
Exceptions
Friday, July 24, 2009
Do you catch and track Application Exceptions in production?
SURVEY SAYS...
No31%
Yes69%
Q.
Friday, July 24, 2009
exception_notification
http://github.com/rails/exception_notification/tree/master
Friday, July 24, 2009
hoptoad
Friday, July 24, 2009
Exceptional
Friday, July 24, 2009
Friday, July 24, 2009
Default
404
Default
500Friday, July 24, 2009
Helpful 404 Page
Friday, July 24, 2009
Helpful 500 Page
Friday, July 24, 2009
Launching Ruby on Rails Applications
Performance
Friday, July 24, 2009
Page load is king
Friday, July 24, 2009
YSlow
Friday, July 24, 2009
Google Page Speed
Friday, July 24, 2009
Benchmark against staging
Friday, July 24, 2009
Do you use any performance monitoring tools in production?
SURVEY SAYS...
No64%
Yes36%
Q.
Friday, July 24, 2009
Scout
Friday, July 24, 2009
FiveRuns
Friday, July 24, 2009
New Relic
Friday, July 24, 2009
Is your source code efficient?
Friday, July 24, 2009
are the database queries efficient?
Are your database queries efficient?
Friday, July 24, 2009
are the database queries efficient?
Are your database queries efficient?missing indexes?
Friday, July 24, 2009
What are your slowest controller actions?
Friday, July 24, 2009
negatively impacting our KPIs?
What are your slowest controller actions?
Friday, July 24, 2009
TIPFROMROBBY
Use data to drive your optimization efforts
Friday, July 24, 2009
Stop guessing!
Friday, July 24, 2009
Launching Ruby on Rails Applications
Clients Holding their hands
Friday, July 24, 2009
Be a coachFriday, July 24, 2009
manage expectations
TIPFROMROBBY
Make sure you are managing your client’s
expectations
Friday, July 24, 2009
Launch is the starting lineFriday, July 24, 2009
On-going maintenance is a necessity
Friday, July 24, 2009
Budget for a reliable hosting solution
Friday, July 24, 2009
Be ready on Launch Day
Friday, July 24, 2009
Celebrate!Friday, July 24, 2009
Celebrate!
Share some champagne...
Friday, July 24, 2009
...or Scotch. ;-)Friday, July 24, 2009
Have a plan ready forthe road ahead
Friday, July 24, 2009
Analyze your KPIsKeep up on user feedbackPush out bug fixes early and often
Friday, July 24, 2009
Launching Ruby on Rails Applications
Summary
Let’s do a quick review
Friday, July 24, 2009
CHECKYOUR LIST
Don’t postpone preparation until
the end
Friday, July 24, 2009
CHECKYOUR LIST
Keep your application
deployable at all times
Friday, July 24, 2009
CHECKYOUR LIST
Pace yourself
Friday, July 24, 2009
CHECKYOUR LIST
Prepare for the unexpected
Friday, July 24, 2009
CHECKYOUR LIST
Solve the right problems
Friday, July 24, 2009
Have Fun.
CHECKYOUR LIST
Have fun!
Friday, July 24, 2009
Thank you
Friday, July 24, 2009
Where’s Robby?
• blog: http://robbyonrails.com
• company: http://planetargon.com
• twitter: @robbyrussell
• email: [email protected]
Friday, July 24, 2009
PLANET ARGONDESIGN // DEVELOPMENT // DEPLOYMENT
More information at http://planetargon.com
Friday, July 24, 2009