SlideShare a Scribd company logo
1 of 156
Download to read offline
Launching Ruby on Rails Applications
                        A CHECKLIST




Friday, July 24, 2009
Launching Ruby on Rails Applications
                                 A CHECKLIST




                        Thanks Mark!



Friday, July 24, 2009
Launching Ruby on Rails Applications
                        A CHECKLIST




Friday, July 24, 2009
Launching Ruby on Rails Applications
                        A CHECKLIST




Friday, July 24, 2009
Launching Ruby on Rails Applications
                        A CHECKLIST




Friday, July 24, 2009
Launching Ruby on Rails Applications
                         A CHECKLIST

                        From our team
                        at Planet Argon, direct to you




Friday, July 24, 2009
Launching Ruby on Rails Applications
                         A CHECKLIST

                        Best Practices
                        for prepping your launch pad




Friday, July 24, 2009
Launching Ruby on Rails Applications




Friday, July 24, 2009
Launching Ruby on Rails Applications




                        HOSTING




Friday, July 24, 2009
Launching Ruby on Rails Applications




                        SEARCH ENGINES
                           HOSTING




Friday, July 24, 2009
Launching Ruby on Rails Applications




                        DATA HARVESTING
                        SEARCH ENGINES
                           HOSTING




Friday, July 24, 2009
Launching Ruby on Rails Applications




                           FEEDBACK
                        DATA HARVESTING
                        SEARCH ENGINES
                            HOSTING




Friday, July 24, 2009
Launching Ruby on Rails Applications




                          EXCEPTIONS
                           FEEDBACK
                        DATA HARVESTING
                        SEARCH ENGINES
                            HOSTING




Friday, July 24, 2009
Launching Ruby on Rails Applications




                         PERFORMANCE
                          EXCEPTIONS
                           FEEDBACK
                        DATA HARVESTING
                        SEARCH ENGINES
                            HOSTING




Friday, July 24, 2009
Launching Ruby on Rails Applications



                            CLIENTS
                         PERFORMANCE
                          EXCEPTIONS
                           FEEDBACK
                        DATA HARVESTING
                        SEARCH ENGINES
                            HOSTING




Friday, July 24, 2009
Launching Ruby on Rails Applications



                                       CLIENTS
                                    PERFORMANCE
                                     EXCEPTIONS
                                      FEEDBACK
                                   DATA HARVESTING
                                   SEARCH ENGINES
                                       HOSTING



                        Have your cake and eat it too!
Friday, July 24, 2009
CHECK
                  YOUR LIST


                        Launching Ruby on Rails
                                   Applications
                                     Checklist


    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
SURVEY
                        SAYS...

    Q. How many
       Ruby on Rails                    None
       applications                      4%     1
                                               10%
       have you
                                   5+
       deployed?                  38%




                                                 1-5
                                                 47%




Friday, July 24, 2009
Don’t wait until the last minute!




Friday, July 24, 2009
lots of topics
                          project management
                                                   interaction design
                                  development
                           hosting                  tracking errors
                                       visual design       planning
                        testing code
                                              user feedback
                          public relations        browser testing
                                client management         marketing
                    quality assurance          search engine optimization
                               data harvesting       teamwork
                                        brainstorming
                                                etc.
Friday, July 24, 2009
lots of topics
                          project management
                                                   interaction design
                                  development
                           hosting                  tracking errors
                                       visual design       planning
                        testing code
                                              user feedback
                          public relations        browser testing
                                client management         marketing
                    quality assurance          search engine optimization
                               data harvesting       teamwork
                                        brainstorming
                                                etc.
Friday, July 24, 2009
Launching Ruby on Rails Applications
                                        Hosting




Friday, July 24, 2009
Automate Deployments
Friday, July 24, 2009
CHECK
                  YOUR LIST



                               Create reusable
                               tasks to release
                              new versions of the
                                 application.


Friday, July 24, 2009
SURVEY
                        SAYS...

    Q. Do you use an
       automated
       deployment                  No
       tool?
                                  23%


                                        Yes
                                        77%




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
That means nearly
                        one in four are still...
                           Manually uploading source
                             code via FTP or SFTP

                             SSHing into the server




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



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
Friday, July 24, 2009
That means nearly
                        one in four are still...
                           Manually uploading source
                Don’t Repeat Yourself!
                             code via FTP or SFTP

                             SSHing into the server

                          Manually running migrations

                            Manually restarting their
                                 application
Friday, July 24, 2009
Minimize Human
    Error




Friday, July 24, 2009
Knowledgeable Team




Friday, July 24, 2009
Make time to test deployments
Friday, 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
CHECK
                  YOUR LIST




                              Make sure your team
                               knows how to test,
                                 deploy & rollback
                                 when necessary.


Friday, July 24, 2009
Setup a Staging Environment
Friday, July 24, 2009
Practice
                        in your production environment




Friday, July 24, 2009
Brand new Rails App
        Sign contract
        Setup git repository
        Generate new Rails app

         Deploy to staging!




Friday, July 24, 2009
TIP
                        FROM
                        ROBBY



                          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 Toms
Friday, 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 guide
Friday, July 24, 2009
TIP
                        FROM
                        ROBBY




                           Put configuration
                               files in Git



Friday, July 24, 2009
TIP
                        FROM
                        ROBBY




                         Have a backup strategy!




Friday, July 24, 2009
CHECK
                  YOUR LIST




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




Friday, July 24, 2009
Monitoring Your App
Friday, July 24, 2009
SURVEY
                        SAYS...

    Q. Do you use
       monit or god
       for server side
                                         Monit
       monitoring?                       26%



                                   No
                                  57%            God
                                                 13%

                                        Other
                                         4%




Friday, July 24, 2009
Use Server Monitoring Tools
  for...
                                        Mongrel

          memcached




                        backgroundDrb
                          delayed_job

Friday, July 24, 2009
CHECK
                  YOUR LIST




                              Setup monit or god.




Friday, July 24, 2009
“Have you tried turning it off
    and on again?”




Friday, July 24, 2009
SURVEY
                        SAYS...

    Q. Do you use any
       uptime
       monitoring                       Nagios
       tools in                          18%

       production?                           Pingdom

                                   No          10%



                                  60%       Other
                                            12%




Friday, July 24, 2009
Use Client Side Monitoring Tools




              do it yourself?

Friday, July 24, 2009
EXTRA
                        CREDIT!




Friday, July 24, 2009
EXTRA
               CREDIT!

   Use Cucumber
   to test in
   production




Friday, July 24, 2009
Be cool & confident...
                        use best practices



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

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
URLs are part of the UI



                            Permalinks?



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
Sign up for...
    Google Webmaster Tools




Friday, July 24, 2009
Launching Ruby on Rails Applications
                                        Data   Harvesting
                                               & Analytics




Friday, July 24, 2009
CHECK
                  YOUR 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 Analytics
    and make sure your Clients have access




Friday, July 24, 2009
Setup your primary
                         conversion goals
Friday, July 24, 2009
Usage testing
                    not the same as Usability testing




Friday, July 24, 2009
CrazyEgg
           Heatmaps and usage patterns




                         Crazyegg



Friday, July 24, 2009
Clicktale
           Screencasts of real visitors on your site




                             Clicktale



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
Launching Ruby on Rails Applications
                                        Data Feedback
                                        User
                                        Data




                        Data Harvesting
Friday, July 24, 2009
Who is responsible for
                           responding to
                             feedback?




Friday, July 24, 2009
User Voice
       Customers vote on ideas




Friday, July 24, 2009
Tender
         Create a support center




Friday, July 24, 2009
zendesk
        Support tool for small companies




Friday, July 24, 2009
GetSatisfaction
         Make it easy for your users to send you feedback




Friday, July 24, 2009
Launching Ruby on Rails Applications
                                        Exceptions




Friday, July 24, 2009
SURVEY
                        SAYS...

    Q. Do you catch and
       track Application
       Exceptions in
       production?                 No
                                  31%
                                        Yes
                                        69%




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
                        500
Friday, 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
SURVEY
                        SAYS...

    Q. Do you use any
       performance
       monitoring tools
       in production?
                                        Yes
                                        36%


                                   No
                                  64%


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 your database queries efficient?


                        are the database
                        queries efficient?


Friday, July 24, 2009
Are your database queries efficient?
                                      missing indexes?



                        are the database
                        queries efficient?


Friday, July 24, 2009
What are your slowest
                         controller actions?


Friday, July 24, 2009
What are your slowest
                         controller actions?
                          negatively impacting our KPIs?



Friday, July 24, 2009
TIP
                        FROM
                        ROBBY




                          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 coach
Friday, July 24, 2009
TIP
                        FROM
                        ROBBY



                           Make sure you are
                         managing your client’s
                         manage expectations
                             expectations



Friday, July 24, 2009
Launch is the starting line
Friday, 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
Share some champagne...




                        Celebrate!
Friday, July 24, 2009
...or Scotch. ;-)
Friday, July 24, 2009
Have a plan ready for
                          the road ahead




Friday, July 24, 2009
Analyze your KPIs
            Keep up on user feedback
            Push 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
CHECK
                  YOUR LIST




                               Don’t postpone
                              preparation until
                                  the end



Friday, July 24, 2009
CHECK
                  YOUR LIST



                                 Keep your
                                application
                              deployable at all
                                   times


Friday, July 24, 2009
CHECK
                  YOUR LIST




                              Pace yourself




Friday, July 24, 2009
CHECK
                  YOUR LIST




                              Prepare for the
                                unexpected




Friday, July 24, 2009
CHECK
                  YOUR LIST




                              Solve the right
                                problems




Friday, July 24, 2009
CHECK
                  YOUR LIST




                                    Have fun!
                              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: robby@planetargon.com




Friday, July 24, 2009
PLANET ARGON
                           DESIGN // DEVELOPMENT // DEPLOYMENT




                        More information at http://planetargon.com
Friday, July 24, 2009

More Related Content

Similar to Launching Ruby on Rails projects: A checklist

Welcome To Ruby On Rails
Welcome To Ruby On RailsWelcome To Ruby On Rails
Welcome To Ruby On RailsKevin Lawver
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Shaer Hassan
 
Why Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdfWhy Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdfKaty Slemon
 
Ruby on Rails Development Services
Ruby on Rails Development ServicesRuby on Rails Development Services
Ruby on Rails Development ServicesSpritleSoftware
 
What is Ruby on Rails?
What is Ruby on Rails?What is Ruby on Rails?
What is Ruby on Rails?Karmen Blake
 
Make your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsMake your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsNataly Tkachuk
 
Test Your JavaScript
Test Your JavaScriptTest Your JavaScript
Test Your JavaScriptmdubya
 
Most common mistakes in ruby on rails development (and how to avoid making them)
Most common mistakes in ruby on rails development (and how to avoid making them)Most common mistakes in ruby on rails development (and how to avoid making them)
Most common mistakes in ruby on rails development (and how to avoid making them)Katy Slemon
 
Practical Search in the Cloud - By Marc Krellenstein
Practical Search in the Cloud - By Marc KrellensteinPractical Search in the Cloud - By Marc Krellenstein
Practical Search in the Cloud - By Marc Krellensteinlucenerevolution
 

Similar to Launching Ruby on Rails projects: A checklist (11)

Welcome To Ruby On Rails
Welcome To Ruby On RailsWelcome To Ruby On Rails
Welcome To Ruby On Rails
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09
 
Why Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdfWhy Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdf
 
Ruby on Rails Development Services
Ruby on Rails Development ServicesRuby on Rails Development Services
Ruby on Rails Development Services
 
Cloud, agile
Cloud, agileCloud, agile
Cloud, agile
 
What is Ruby on Rails?
What is Ruby on Rails?What is Ruby on Rails?
What is Ruby on Rails?
 
Make your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsMake your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On Rails
 
Test Your JavaScript
Test Your JavaScriptTest Your JavaScript
Test Your JavaScript
 
Most common mistakes in ruby on rails development (and how to avoid making them)
Most common mistakes in ruby on rails development (and how to avoid making them)Most common mistakes in ruby on rails development (and how to avoid making them)
Most common mistakes in ruby on rails development (and how to avoid making them)
 
Practical Search in the Cloud - By Marc Krellenstein
Practical Search in the Cloud - By Marc KrellensteinPractical Search in the Cloud - By Marc Krellenstein
Practical Search in the Cloud - By Marc Krellenstein
 
Romulus project presentation
Romulus project presentationRomulus project presentation
Romulus project presentation
 

Recently uploaded

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Launching Ruby on Rails projects: A checklist

  • 1. Launching Ruby on Rails Applications A CHECKLIST Friday, July 24, 2009
  • 2. Launching Ruby on Rails Applications A CHECKLIST Thanks Mark! Friday, July 24, 2009
  • 3. Launching Ruby on Rails Applications A CHECKLIST Friday, July 24, 2009
  • 4. Launching Ruby on Rails Applications A CHECKLIST Friday, July 24, 2009
  • 5. Launching Ruby on Rails Applications A CHECKLIST Friday, July 24, 2009
  • 6. Launching Ruby on Rails Applications A CHECKLIST From our team at Planet Argon, direct to you Friday, July 24, 2009
  • 7. Launching Ruby on Rails Applications A CHECKLIST Best Practices for prepping your launch pad Friday, July 24, 2009
  • 8. Launching Ruby on Rails Applications Friday, July 24, 2009
  • 9. Launching Ruby on Rails Applications HOSTING Friday, July 24, 2009
  • 10. Launching Ruby on Rails Applications SEARCH ENGINES HOSTING Friday, July 24, 2009
  • 11. Launching Ruby on Rails Applications DATA HARVESTING SEARCH ENGINES HOSTING Friday, July 24, 2009
  • 12. Launching Ruby on Rails Applications FEEDBACK DATA HARVESTING SEARCH ENGINES HOSTING Friday, July 24, 2009
  • 13. Launching Ruby on Rails Applications EXCEPTIONS FEEDBACK DATA HARVESTING SEARCH ENGINES HOSTING Friday, July 24, 2009
  • 14. Launching Ruby on Rails Applications PERFORMANCE EXCEPTIONS FEEDBACK DATA HARVESTING SEARCH ENGINES HOSTING Friday, July 24, 2009
  • 15. Launching Ruby on Rails Applications CLIENTS PERFORMANCE EXCEPTIONS FEEDBACK DATA HARVESTING SEARCH ENGINES HOSTING Friday, July 24, 2009
  • 16. Launching Ruby on Rails Applications CLIENTS PERFORMANCE EXCEPTIONS FEEDBACK DATA HARVESTING SEARCH ENGINES HOSTING Have your cake and eat it too! Friday, July 24, 2009
  • 17. CHECK YOUR LIST Launching Ruby on Rails Applications Checklist Watch for it on my blog: http://robbyonrails.com Friday, July 24, 2009
  • 19. 1200+ respondents More information at http://rails-hosting.com Friday, July 24, 2009
  • 20. Before we begin... Friday, July 24, 2009
  • 21. Working on your first Rails project? Friday, July 24, 2009
  • 22. Have you launched at least one Rails app? Friday, July 24, 2009
  • 23. Have you launched at least one Rails app? 2-5 Rails apps? Friday, July 24, 2009
  • 24. Have you launched at least one Rails app? 2-5 Rails apps? more than 5? Friday, July 24, 2009
  • 25. SURVEY SAYS... Q. How many Ruby on Rails None applications 4% 1 10% have you 5+ deployed? 38% 1-5 47% Friday, July 24, 2009
  • 26. Don’t wait until the last minute! Friday, July 24, 2009
  • 27. lots of topics project management interaction design development hosting tracking errors visual design planning testing code user feedback public relations browser testing client management marketing quality assurance search engine optimization data harvesting teamwork brainstorming etc. Friday, July 24, 2009
  • 28. lots of topics project management interaction design development hosting tracking errors visual design planning testing code user feedback public relations browser testing client management marketing quality assurance search engine optimization data harvesting teamwork brainstorming etc. Friday, July 24, 2009
  • 29. Launching Ruby on Rails Applications Hosting Friday, July 24, 2009
  • 31. CHECK YOUR LIST Create reusable tasks to release new versions of the application. Friday, July 24, 2009
  • 32. SURVEY SAYS... Q. Do you use an automated deployment No tool? 23% Yes 77% Friday, July 24, 2009
  • 33. That means nearly one in four are still... Friday, July 24, 2009
  • 34. That means nearly one in four are still... Manually uploading source code via FTP or SFTP Friday, July 24, 2009
  • 35. That means nearly one in four are still... Manually uploading source code via FTP or SFTP SSHing into the server Friday, July 24, 2009
  • 36. That means nearly one in four are still... Manually uploading source code via FTP or SFTP SSHing into the server Manually running migrations Friday, July 24, 2009
  • 37. 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 Friday, July 24, 2009
  • 38. That means nearly one in four are still... Manually uploading source Don’t Repeat Yourself! code via FTP or SFTP SSHing into the server Manually running migrations Manually restarting their application Friday, July 24, 2009
  • 39. Minimize Human Error Friday, July 24, 2009
  • 41. Make time to test deployments Friday, July 24, 2009
  • 42. Know how to ROLLBACK when necessary Friday, July 24, 2009
  • 43. Testing gives your team confidence! Friday, July 24, 2009
  • 44. Hire a specialist who knows their stuff Friday, July 24, 2009
  • 45. CHECK YOUR LIST Make sure your team knows how to test, deploy & rollback when necessary. Friday, July 24, 2009
  • 46. Setup a Staging Environment Friday, July 24, 2009
  • 47. Practice in your production environment Friday, July 24, 2009
  • 48. Brand new Rails App Sign contract Setup git repository Generate new Rails app Deploy to staging! Friday, July 24, 2009
  • 49. TIP FROM ROBBY Keep your application deployable at all times! (Not just releasable) Friday, July 24, 2009
  • 51. Staging site to the rescue! Friday, July 24, 2009
  • 52. Test the water... Friday, July 24, 2009
  • 53. ... before diving in! Friday, July 24, 2009
  • 54. Keep out the Peeping Toms Friday, July 24, 2009
  • 57. Test your scheduled tasks... in a real hosting environment Friday, July 24, 2009
  • 58. Create a deployment guide Friday, July 24, 2009
  • 59. TIP FROM ROBBY Put configuration files in Git Friday, July 24, 2009
  • 60. TIP FROM ROBBY Have a backup strategy! Friday, July 24, 2009
  • 61. CHECK YOUR LIST Set up a staging environment as soon as the project is started. Friday, July 24, 2009
  • 63. SURVEY SAYS... Q. Do you use monit or god for server side Monit monitoring? 26% No 57% God 13% Other 4% Friday, July 24, 2009
  • 64. Use Server Monitoring Tools for... Mongrel memcached backgroundDrb delayed_job Friday, July 24, 2009
  • 65. CHECK YOUR LIST Setup monit or god. Friday, July 24, 2009
  • 66. “Have you tried turning it off and on again?” Friday, July 24, 2009
  • 67. SURVEY SAYS... Q. Do you use any uptime monitoring Nagios tools in 18% production? Pingdom No 10% 60% Other 12% Friday, July 24, 2009
  • 68. Use Client Side Monitoring Tools do it yourself? Friday, July 24, 2009
  • 69. EXTRA CREDIT! Friday, July 24, 2009
  • 70. EXTRA CREDIT! Use Cucumber to test in production Friday, July 24, 2009
  • 71. Be cool & confident... use best practices !Automate your deployments !Setup a staging environment !Server-side monitoring !Client-side monitoring Friday, July 24, 2009
  • 72. Launching Ruby on Rails Applications Search Engines Friday, July 24, 2009
  • 73. <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
  • 74. Page titles are used in search results Friday, July 24, 2009
  • 75. URLs are part of the UI Permalinks? Friday, July 24, 2009
  • 76. Use markup to create structure Search bots like structure. Friday, July 24, 2009
  • 77. <h1>Get in Touch</h1>... <h2>Visit Us</h2>... Friday, July 24, 2009
  • 78. <img src=”studio.jpg” alt=”Planet Argon Studio” /> Friday, July 24, 2009
  • 79. <a href=”/who-we-are” title=”Who We Are”>...</a> Friday, July 24, 2009
  • 80. I see possible issues with AJAX and Javascript BOOM! Friday, July 24, 2009
  • 81. Search engines may not be able to access some content Friday, July 24, 2009
  • 83. Create an XML Sitemap Friday, July 24, 2009
  • 84. Automate the generation of your sitemap Friday, July 24, 2009
  • 85. Notify these guys when you have an updated sitemap Friday, July 24, 2009
  • 86. Sign up for... Google Webmaster Tools Friday, July 24, 2009
  • 87. Launching Ruby on Rails Applications Data Harvesting & Analytics Friday, July 24, 2009
  • 88. CHECK YOUR LIST Identify your Key Performance Indicators (KPIs) Friday, July 24, 2009
  • 89. What are some example KPIs? Friday, July 24, 2009
  • 90. Example KPIs • Page views (per day / per visit) Friday, July 24, 2009
  • 91. Example KPIs • Page views (per day / per visit) • Newsletter subscriptions Friday, July 24, 2009
  • 92. Example KPIs • Page views (per day / per visit) • Newsletter subscriptions • Successful orders Friday, July 24, 2009
  • 93. Example KPIs • Page views (per day / per visit) • Newsletter subscriptions • Successful orders • Abandoned shopping carts Friday, July 24, 2009
  • 94. Example KPIs • Page views (per day / per visit) • Newsletter subscriptions • Successful orders • Abandoned shopping carts • Homepage bounce rate Friday, July 24, 2009
  • 95. Collect & Segment Friday, July 24, 2009
  • 96. Sign up for Google Analytics and make sure your Clients have access Friday, July 24, 2009
  • 97. Setup your primary conversion goals Friday, July 24, 2009
  • 98. Usage testing not the same as Usability testing Friday, July 24, 2009
  • 99. CrazyEgg Heatmaps and usage patterns Crazyegg Friday, July 24, 2009
  • 100. Clicktale Screencasts of real visitors on your site Clicktale Friday, July 24, 2009
  • 101. Look for patterns Friday, July 24, 2009
  • 102. Get rid of the guesswork Friday, July 24, 2009
  • 103. Test your ideas Friday, July 24, 2009
  • 104. Launching Ruby on Rails Applications Data Feedback User Data Data Harvesting Friday, July 24, 2009
  • 105. Who is responsible for responding to feedback? Friday, July 24, 2009
  • 106. User Voice Customers vote on ideas Friday, July 24, 2009
  • 107. Tender Create a support center Friday, July 24, 2009
  • 108. zendesk Support tool for small companies Friday, July 24, 2009
  • 109. GetSatisfaction Make it easy for your users to send you feedback Friday, July 24, 2009
  • 110. Launching Ruby on Rails Applications Exceptions Friday, July 24, 2009
  • 111. SURVEY SAYS... Q. Do you catch and track Application Exceptions in production? No 31% Yes 69% Friday, July 24, 2009
  • 112. exception_notification http://github.com/rails/exception_notification/tree/master Friday, July 24, 2009
  • 116. Default 404 Default 500 Friday, July 24, 2009
  • 117. Helpful 404 Page Friday, July 24, 2009
  • 118. Helpful 500 Page Friday, July 24, 2009
  • 119. Launching Ruby on Rails Applications Performance Friday, July 24, 2009
  • 120. Page load is king Friday, July 24, 2009
  • 122. Google Page Speed Friday, July 24, 2009
  • 124. SURVEY SAYS... Q. Do you use any performance monitoring tools in production? Yes 36% No 64% Friday, July 24, 2009
  • 128. Is your source code efficient? Friday, July 24, 2009
  • 129. Are your database queries efficient? are the database queries efficient? Friday, July 24, 2009
  • 130. Are your database queries efficient? missing indexes? are the database queries efficient? Friday, July 24, 2009
  • 131. What are your slowest controller actions? Friday, July 24, 2009
  • 132. What are your slowest controller actions? negatively impacting our KPIs? Friday, July 24, 2009
  • 133. TIP FROM ROBBY Use data to drive your optimization efforts Friday, July 24, 2009
  • 135. Launching Ruby on Rails Applications Clients Holding their hands Friday, July 24, 2009
  • 136. Be a coach Friday, July 24, 2009
  • 137. TIP FROM ROBBY Make sure you are managing your client’s manage expectations expectations Friday, July 24, 2009
  • 138. Launch is the starting line Friday, July 24, 2009
  • 139. On-going maintenance is a necessity Friday, July 24, 2009
  • 140. Budget for a reliable hosting solution Friday, July 24, 2009
  • 141. Be ready on Launch Day Friday, July 24, 2009
  • 143. Share some champagne... Celebrate! Friday, July 24, 2009
  • 144. ...or Scotch. ;-) Friday, July 24, 2009
  • 145. Have a plan ready for the road ahead Friday, July 24, 2009
  • 146. Analyze your KPIs Keep up on user feedback Push out bug fixes early and often Friday, July 24, 2009
  • 147. Launching Ruby on Rails Applications Summary Let’s do a quick review Friday, July 24, 2009
  • 148. CHECK YOUR LIST Don’t postpone preparation until the end Friday, July 24, 2009
  • 149. CHECK YOUR LIST Keep your application deployable at all times Friday, July 24, 2009
  • 150. CHECK YOUR LIST Pace yourself Friday, July 24, 2009
  • 151. CHECK YOUR LIST Prepare for the unexpected Friday, July 24, 2009
  • 152. CHECK YOUR LIST Solve the right problems Friday, July 24, 2009
  • 153. CHECK YOUR LIST Have fun! Have Fun. Friday, July 24, 2009
  • 155. Where’s Robby? • blog: http://robbyonrails.com • company: http://planetargon.com • twitter: @robbyrussell • email: robby@planetargon.com Friday, July 24, 2009
  • 156. PLANET ARGON DESIGN // DEVELOPMENT // DEPLOYMENT More information at http://planetargon.com Friday, July 24, 2009