SlideShare una empresa de Scribd logo
1 de 14
Ruby on Rails Application
11 Things to Consider Before Deploying Your Ruby on Rails
Application
Ruby on Rails
At VinSol, we have been developing and deploying Rails applications for more
than four years. During this period, we have identified some best practices that we
prefer to follow while deploying rails application to production server.
Below is the
checklist of these
practices:
1. Ensure that NS records and MX records
are changed if they need to be changed
Changing nameservers will point the domain
to the hosting server, and changing MX
records will redirect incoming mails to the
mail server. As a very first step, we should
make sure that name servers of the domain
are set to be the correct one. Changing MX
record is a must if our application is parsing
incoming mails or we wants to use other
mail services for e-mail exchange, for
example Gmail.
2. Ensure some backup mechanism in place for both data as well as
user uploaded content like images/documents etc.
Since production data is very critical, we must setup backup mechanism. It
could be some type of scheduled task that takes periodic backup of all critical
data, Or it could be some type of backup service provided by hosting company.
When we talk about critical production data, it includes production DB, content
generated by application users like images, documents, etc.
Ensure Database indexes
We might have done development without having
proper database indexes, but we should avoid going to
production without them. Adding indexes might slow
down insert queries a bit but it increases the
performance of read queries. It applies when
application in production has percentage of read
operations much more than write operations.
Enable your slow
query log
This is specific to MySQL. Enabling slow
query log allows MySQL to log slow
running queries to a file. And this log
can be used to find queries that take a
long time to execute and are therefore
candidates for optimization.
Ensure exception is in place
We might want to be notified when something bad happens to our
application. There are several hosted services available who receive
and track exceptions, for example Hoptoadapp.com,
GetExceptional.com etc… Either we can choose one from these
hosted services or we can use “exception notifier” plugin.
Ensure adding
entries for
cron/scheduled
jobs
Most of the applications have some
functionality/jobs that need to be run
periodically, for example generating invoices,
sending newsletters etc. In most cases these
jobs are done by a rake task. We should make
sure that we have added such jobs to cron or
similar program.
Monitoring
Important
Processes
To ensure that our site is up 24×7 we need
to ensure that all processes that our
application needs are up. There can be
many processes like MySQL, Mongrel,
Apache etc.. These processes are very
important as our application directly
depends on them. For example if MySQL
process get killed accidentally, our
application would not be able to connect to
MySQL and will start throwing exceptions.
We can choose any of the available
monitoring tools like God, Monit, 24×7 etc…
Ensure Confidential Data
Filtering
We would never like to leak/share confidential information of our
application users. We should make sure that none of the user’s
confidential data like SSN, Credit card info, password are being written to
log files. We might not have paid much attention on this while developing
the application.
RotateLog
Files
Once our site is up and running, every single request write
some text in log file. And hence size of the log file keeps on
increasing. Larger log files can put us in trouble if we get it
beyond certain size. It’s difficult to manage these log files, as
larger files need more memory to open and need more time to
download. In one of the rescue project we did , the log file size
was 3GB.
We would recommend having logrotate setup for the
application.
Setup Asset Host
Setting up asset hosts can reduce loading time by 50%
or more. We must setup asset hosts for our application.
Once asset hosts are all set, our static files will be
delivered via asset hosts for example
asset1.hostname.com, asset2.hostname.com
Clearing up stale sessions
We should make sure we should not left any stale session on the server. If our
application is using DB or file system as session store, we must add a schedule
task to delete stale sessions.
These are some of the points we have identified from our past experience and we
might be missing some. Feel free to always add them as comments, and I’ll keep
this post updated.
Thank you
See more at - http://vinsol.com/blog/2009/11/16/11-things-
to-consider-before-deploying-your-rails-application/

Más contenido relacionado

La actualidad más candente

So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015Ryan Schouten
 
Analitica de datos en tiempo real con Apache Flink y Apache BEAM
Analitica de datos en tiempo real con Apache Flink y Apache BEAMAnalitica de datos en tiempo real con Apache Flink y Apache BEAM
Analitica de datos en tiempo real con Apache Flink y Apache BEAMjavier ramirez
 
Dedicated web servers or shared web servers
Dedicated web servers or shared web serversDedicated web servers or shared web servers
Dedicated web servers or shared web serversHTS Hosting
 
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...Amazon Web Services
 
Web server hardware and software
Web server hardware and softwareWeb server hardware and software
Web server hardware and softwareHumma Rashid
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Softwarewebhostingguy
 
Integrating Your CTMS with Your EDMS
Integrating Your CTMS with Your EDMSIntegrating Your CTMS with Your EDMS
Integrating Your CTMS with Your EDMSPerficient
 

La actualidad más candente (8)

So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015So You Want to Be a SharePoint Developer - SPS Utah 2015
So You Want to Be a SharePoint Developer - SPS Utah 2015
 
Analitica de datos en tiempo real con Apache Flink y Apache BEAM
Analitica de datos en tiempo real con Apache Flink y Apache BEAMAnalitica de datos en tiempo real con Apache Flink y Apache BEAM
Analitica de datos en tiempo real con Apache Flink y Apache BEAM
 
Dedicated web servers or shared web servers
Dedicated web servers or shared web serversDedicated web servers or shared web servers
Dedicated web servers or shared web servers
 
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...
Streaming ETL for Data Lakes using Amazon Kinesis Firehose - May 2017 AWS Onl...
 
Asp objects
Asp objectsAsp objects
Asp objects
 
Web server hardware and software
Web server hardware and softwareWeb server hardware and software
Web server hardware and software
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Software
 
Integrating Your CTMS with Your EDMS
Integrating Your CTMS with Your EDMSIntegrating Your CTMS with Your EDMS
Integrating Your CTMS with Your EDMS
 

Destacado

фотоальбом о путешествии
фотоальбом о путешествиифотоальбом о путешествии
фотоальбом о путешествииdsyuru
 
Semana 6 -_libro__marketing_pag._243_-_251
Semana 6 -_libro__marketing_pag._243_-_251Semana 6 -_libro__marketing_pag._243_-_251
Semana 6 -_libro__marketing_pag._243_-_251Ronald Collado
 
Students Writing Analysis
Students Writing AnalysisStudents Writing Analysis
Students Writing AnalysisJessica McClure
 
л3 ст уя 2012
л3 ст уя 2012л3 ст уя 2012
л3 ст уя 2012STUYAKMMT
 
Steve Eppel Resume 15
Steve Eppel Resume 15Steve Eppel Resume 15
Steve Eppel Resume 15Steve Eppel
 
Semana 7 -_libro__marketing_pag._236_-_242
Semana 7 -_libro__marketing_pag._236_-_242Semana 7 -_libro__marketing_pag._236_-_242
Semana 7 -_libro__marketing_pag._236_-_242Ronald Collado
 
Operate with an openstack deployment by code
Operate with an openstack deployment by codeOperate with an openstack deployment by code
Operate with an openstack deployment by codeAlessandro Martellone
 
Sector Update - Consumer Staples- Tobacco. pdf
Sector Update - Consumer Staples- Tobacco. pdfSector Update - Consumer Staples- Tobacco. pdf
Sector Update - Consumer Staples- Tobacco. pdfElizabeth Cahill
 
Consumer Staples Q3 Report
Consumer Staples Q3 ReportConsumer Staples Q3 Report
Consumer Staples Q3 ReportElizabeth Cahill
 

Destacado (11)

фотоальбом о путешествии
фотоальбом о путешествиифотоальбом о путешествии
фотоальбом о путешествии
 
Semana 6 -_libro__marketing_pag._243_-_251
Semana 6 -_libro__marketing_pag._243_-_251Semana 6 -_libro__marketing_pag._243_-_251
Semana 6 -_libro__marketing_pag._243_-_251
 
Students Writing Analysis
Students Writing AnalysisStudents Writing Analysis
Students Writing Analysis
 
л3 ст уя 2012
л3 ст уя 2012л3 ст уя 2012
л3 ст уя 2012
 
Steve Eppel Resume 15
Steve Eppel Resume 15Steve Eppel Resume 15
Steve Eppel Resume 15
 
Semana 7 -_libro__marketing_pag._236_-_242
Semana 7 -_libro__marketing_pag._236_-_242Semana 7 -_libro__marketing_pag._236_-_242
Semana 7 -_libro__marketing_pag._236_-_242
 
ECA result - Jayanta
ECA result - JayantaECA result - Jayanta
ECA result - Jayanta
 
Equinoxe1
Equinoxe1Equinoxe1
Equinoxe1
 
Operate with an openstack deployment by code
Operate with an openstack deployment by codeOperate with an openstack deployment by code
Operate with an openstack deployment by code
 
Sector Update - Consumer Staples- Tobacco. pdf
Sector Update - Consumer Staples- Tobacco. pdfSector Update - Consumer Staples- Tobacco. pdf
Sector Update - Consumer Staples- Tobacco. pdf
 
Consumer Staples Q3 Report
Consumer Staples Q3 ReportConsumer Staples Q3 Report
Consumer Staples Q3 Report
 

Similar a Ruby on rails application

File Upload with RESP API
File Upload with RESP APIFile Upload with RESP API
File Upload with RESP APIThiago Santana
 
Introduction to requirement of microservices
Introduction to requirement of microservicesIntroduction to requirement of microservices
Introduction to requirement of microservicesAvik Das
 
Real time service oriented cloud computing
Real time service oriented cloud computingReal time service oriented cloud computing
Real time service oriented cloud computingwww.pixelsolutionbd.com
 
OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONSUMIT KUMAR
 
How Nextdoor Built a Scalable, Serverless Data Pipeline for Billions of Event...
How Nextdoor Built a Scalable, Serverless Data Pipeline for Billions of Event...How Nextdoor Built a Scalable, Serverless Data Pipeline for Billions of Event...
How Nextdoor Built a Scalable, Serverless Data Pipeline for Billions of Event...Amazon Web Services
 
Building Data Lakes and Analytics on AWS. IPExpo Manchester.
Building Data Lakes and Analytics on AWS. IPExpo Manchester.Building Data Lakes and Analytics on AWS. IPExpo Manchester.
Building Data Lakes and Analytics on AWS. IPExpo Manchester.javier ramirez
 
How Intuit TurboTax Ran Entirely on AWS for 2017 Taxes (ARC307) - AWS re:Inve...
How Intuit TurboTax Ran Entirely on AWS for 2017 Taxes (ARC307) - AWS re:Inve...How Intuit TurboTax Ran Entirely on AWS for 2017 Taxes (ARC307) - AWS re:Inve...
How Intuit TurboTax Ran Entirely on AWS for 2017 Taxes (ARC307) - AWS re:Inve...Amazon Web Services
 
利用Fargate無伺服器的容器環境建置高可用的系統
利用Fargate無伺服器的容器環境建置高可用的系統利用Fargate無伺服器的容器環境建置高可用的系統
利用Fargate無伺服器的容器環境建置高可用的系統Amazon Web Services
 
AWSome Day - Solutions Architecture Best Practices
AWSome Day - Solutions Architecture Best PracticesAWSome Day - Solutions Architecture Best Practices
AWSome Day - Solutions Architecture Best PracticesAmazon Web Services
 
Tech Brief Questions
Tech Brief Questions Tech Brief Questions
Tech Brief Questions webhostingguy
 
Tech Brief Questions
Tech Brief Questions Tech Brief Questions
Tech Brief Questions webhostingguy
 
All you need to know about yelowsofts new version update
All you need to know about yelowsofts new version updateAll you need to know about yelowsofts new version update
All you need to know about yelowsofts new version updateYelowsoft
 
Updating current Network Design It18 roshan basnet
Updating current Network Design It18 roshan basnetUpdating current Network Design It18 roshan basnet
Updating current Network Design It18 roshan basnetrosu555
 
Accelerate Database Development and Testing with Amazon Aurora (DAT313) - AWS...
Accelerate Database Development and Testing with Amazon Aurora (DAT313) - AWS...Accelerate Database Development and Testing with Amazon Aurora (DAT313) - AWS...
Accelerate Database Development and Testing with Amazon Aurora (DAT313) - AWS...Amazon Web Services
 
Building-a-Modern-Data-Platform-in-the-Cloud.pdf
Building-a-Modern-Data-Platform-in-the-Cloud.pdfBuilding-a-Modern-Data-Platform-in-the-Cloud.pdf
Building-a-Modern-Data-Platform-in-the-Cloud.pdfAmazon Web Services
 
Building Modern Platforms: A Practical Way to Migrate Legacy Systems to Amazo...
Building Modern Platforms: A Practical Way to Migrate Legacy Systems to Amazo...Building Modern Platforms: A Practical Way to Migrate Legacy Systems to Amazo...
Building Modern Platforms: A Practical Way to Migrate Legacy Systems to Amazo...Amazon Web Services
 
Migrate and Modernize Your Database
Migrate and Modernize Your DatabaseMigrate and Modernize Your Database
Migrate and Modernize Your DatabaseAmazon Web Services
 

Similar a Ruby on rails application (20)

File Upload with RESP API
File Upload with RESP APIFile Upload with RESP API
File Upload with RESP API
 
Introduction to requirement of microservices
Introduction to requirement of microservicesIntroduction to requirement of microservices
Introduction to requirement of microservices
 
Real time service oriented cloud computing
Real time service oriented cloud computingReal time service oriented cloud computing
Real time service oriented cloud computing
 
OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATION
 
How Nextdoor Built a Scalable, Serverless Data Pipeline for Billions of Event...
How Nextdoor Built a Scalable, Serverless Data Pipeline for Billions of Event...How Nextdoor Built a Scalable, Serverless Data Pipeline for Billions of Event...
How Nextdoor Built a Scalable, Serverless Data Pipeline for Billions of Event...
 
Building Data Lakes and Analytics on AWS. IPExpo Manchester.
Building Data Lakes and Analytics on AWS. IPExpo Manchester.Building Data Lakes and Analytics on AWS. IPExpo Manchester.
Building Data Lakes and Analytics on AWS. IPExpo Manchester.
 
Final Presentation
Final PresentationFinal Presentation
Final Presentation
 
How Intuit TurboTax Ran Entirely on AWS for 2017 Taxes (ARC307) - AWS re:Inve...
How Intuit TurboTax Ran Entirely on AWS for 2017 Taxes (ARC307) - AWS re:Inve...How Intuit TurboTax Ran Entirely on AWS for 2017 Taxes (ARC307) - AWS re:Inve...
How Intuit TurboTax Ran Entirely on AWS for 2017 Taxes (ARC307) - AWS re:Inve...
 
How to Monitor IIS
How to Monitor IISHow to Monitor IIS
How to Monitor IIS
 
利用Fargate無伺服器的容器環境建置高可用的系統
利用Fargate無伺服器的容器環境建置高可用的系統利用Fargate無伺服器的容器環境建置高可用的系統
利用Fargate無伺服器的容器環境建置高可用的系統
 
AWSome Day - Solutions Architecture Best Practices
AWSome Day - Solutions Architecture Best PracticesAWSome Day - Solutions Architecture Best Practices
AWSome Day - Solutions Architecture Best Practices
 
Tech Brief Questions
Tech Brief Questions Tech Brief Questions
Tech Brief Questions
 
Tech Brief Questions
Tech Brief Questions Tech Brief Questions
Tech Brief Questions
 
All you need to know about yelowsofts new version update
All you need to know about yelowsofts new version updateAll you need to know about yelowsofts new version update
All you need to know about yelowsofts new version update
 
Updating current Network Design It18 roshan basnet
Updating current Network Design It18 roshan basnetUpdating current Network Design It18 roshan basnet
Updating current Network Design It18 roshan basnet
 
Just do it!
Just do it!Just do it!
Just do it!
 
Accelerate Database Development and Testing with Amazon Aurora (DAT313) - AWS...
Accelerate Database Development and Testing with Amazon Aurora (DAT313) - AWS...Accelerate Database Development and Testing with Amazon Aurora (DAT313) - AWS...
Accelerate Database Development and Testing with Amazon Aurora (DAT313) - AWS...
 
Building-a-Modern-Data-Platform-in-the-Cloud.pdf
Building-a-Modern-Data-Platform-in-the-Cloud.pdfBuilding-a-Modern-Data-Platform-in-the-Cloud.pdf
Building-a-Modern-Data-Platform-in-the-Cloud.pdf
 
Building Modern Platforms: A Practical Way to Migrate Legacy Systems to Amazo...
Building Modern Platforms: A Practical Way to Migrate Legacy Systems to Amazo...Building Modern Platforms: A Practical Way to Migrate Legacy Systems to Amazo...
Building Modern Platforms: A Practical Way to Migrate Legacy Systems to Amazo...
 
Migrate and Modernize Your Database
Migrate and Modernize Your DatabaseMigrate and Modernize Your Database
Migrate and Modernize Your Database
 

Último

BDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
How to utilize calculated properties in your HubSpot setups
How to utilize calculated properties in your HubSpot setupsHow to utilize calculated properties in your HubSpot setups
How to utilize calculated properties in your HubSpot setupsssuser4571da
 
Google 3rd-Party Cookie Deprecation [Update] + 5 Best Strategies
Google 3rd-Party Cookie Deprecation [Update] + 5 Best StrategiesGoogle 3rd-Party Cookie Deprecation [Update] + 5 Best Strategies
Google 3rd-Party Cookie Deprecation [Update] + 5 Best StrategiesSearch Engine Journal
 
Unraveling the Mystery of The Circleville Letters.pptx
Unraveling the Mystery of The Circleville Letters.pptxUnraveling the Mystery of The Circleville Letters.pptx
Unraveling the Mystery of The Circleville Letters.pptxelizabethella096
 
W.H.Bender Quote 61 -Influential restaurant and food service industry network...
W.H.Bender Quote 61 -Influential restaurant and food service industry network...W.H.Bender Quote 61 -Influential restaurant and food service industry network...
W.H.Bender Quote 61 -Influential restaurant and food service industry network...William (Bill) H. Bender, FCSI
 
How to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessHow to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessAggregage
 
Major SEO Trends in 2024 - Banyanbrain Digital
Major SEO Trends in 2024 - Banyanbrain DigitalMajor SEO Trends in 2024 - Banyanbrain Digital
Major SEO Trends in 2024 - Banyanbrain DigitalBanyanbrain
 
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756dollysharma2066
 
The Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdfThe Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdfVWO
 
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Unlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich ManuscriptUnlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich Manuscriptelizabethella096
 
Brand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdfBrand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdftbatkhuu1
 

Último (20)

BDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 150 Noida Escorts >༒8448380779 Escort Service
 
SEO Master Class - Steve Wiideman, Wiideman Consulting Group
SEO Master Class - Steve Wiideman, Wiideman Consulting GroupSEO Master Class - Steve Wiideman, Wiideman Consulting Group
SEO Master Class - Steve Wiideman, Wiideman Consulting Group
 
How to utilize calculated properties in your HubSpot setups
How to utilize calculated properties in your HubSpot setupsHow to utilize calculated properties in your HubSpot setups
How to utilize calculated properties in your HubSpot setups
 
Turn Digital Reputation Threats into Offense Tactics - Daniel Lemin
Turn Digital Reputation Threats into Offense Tactics - Daniel LeminTurn Digital Reputation Threats into Offense Tactics - Daniel Lemin
Turn Digital Reputation Threats into Offense Tactics - Daniel Lemin
 
How to Create a Social Media Plan Like a Pro - Jordan Scheltgen
How to Create a Social Media Plan Like a Pro - Jordan ScheltgenHow to Create a Social Media Plan Like a Pro - Jordan Scheltgen
How to Create a Social Media Plan Like a Pro - Jordan Scheltgen
 
Google 3rd-Party Cookie Deprecation [Update] + 5 Best Strategies
Google 3rd-Party Cookie Deprecation [Update] + 5 Best StrategiesGoogle 3rd-Party Cookie Deprecation [Update] + 5 Best Strategies
Google 3rd-Party Cookie Deprecation [Update] + 5 Best Strategies
 
Creator Influencer Strategy Master Class - Corinne Rose Guirgis
Creator Influencer Strategy Master Class - Corinne Rose GuirgisCreator Influencer Strategy Master Class - Corinne Rose Guirgis
Creator Influencer Strategy Master Class - Corinne Rose Guirgis
 
Unraveling the Mystery of The Circleville Letters.pptx
Unraveling the Mystery of The Circleville Letters.pptxUnraveling the Mystery of The Circleville Letters.pptx
Unraveling the Mystery of The Circleville Letters.pptx
 
The 100x Factor Growth with AI - Susan Diaz
The 100x Factor  Growth with AI - Susan DiazThe 100x Factor  Growth with AI - Susan Diaz
The 100x Factor Growth with AI - Susan Diaz
 
W.H.Bender Quote 61 -Influential restaurant and food service industry network...
W.H.Bender Quote 61 -Influential restaurant and food service industry network...W.H.Bender Quote 61 -Influential restaurant and food service industry network...
W.H.Bender Quote 61 -Influential restaurant and food service industry network...
 
How to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail SuccessHow to Leverage Behavioral Science Insights for Direct Mail Success
How to Leverage Behavioral Science Insights for Direct Mail Success
 
Major SEO Trends in 2024 - Banyanbrain Digital
Major SEO Trends in 2024 - Banyanbrain DigitalMajor SEO Trends in 2024 - Banyanbrain Digital
Major SEO Trends in 2024 - Banyanbrain Digital
 
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu.Ka.Tilla Delhi Contact Us 8377877756
 
Digital Strategy Master Class - Andrew Rupert
Digital Strategy Master Class - Andrew RupertDigital Strategy Master Class - Andrew Rupert
Digital Strategy Master Class - Andrew Rupert
 
The Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdfThe Science of Landing Page Messaging.pdf
The Science of Landing Page Messaging.pdf
 
Brand Strategy Master Class - Juntae DeLane
Brand Strategy Master Class - Juntae DeLaneBrand Strategy Master Class - Juntae DeLane
Brand Strategy Master Class - Juntae DeLane
 
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 128 Noida Escorts >༒8448380779 Escort Service
 
Unlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich ManuscriptUnlocking the Mystery of the Voynich Manuscript
Unlocking the Mystery of the Voynich Manuscript
 
Brand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdfBrand experience Peoria City Soccer Presentation.pdf
Brand experience Peoria City Soccer Presentation.pdf
 
Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...
Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...
Top 5 Breakthrough AI Innovations Elevating Content Creation and Personalizat...
 

Ruby on rails application

  • 1. Ruby on Rails Application 11 Things to Consider Before Deploying Your Ruby on Rails Application
  • 2. Ruby on Rails At VinSol, we have been developing and deploying Rails applications for more than four years. During this period, we have identified some best practices that we prefer to follow while deploying rails application to production server.
  • 3. Below is the checklist of these practices: 1. Ensure that NS records and MX records are changed if they need to be changed Changing nameservers will point the domain to the hosting server, and changing MX records will redirect incoming mails to the mail server. As a very first step, we should make sure that name servers of the domain are set to be the correct one. Changing MX record is a must if our application is parsing incoming mails or we wants to use other mail services for e-mail exchange, for example Gmail.
  • 4. 2. Ensure some backup mechanism in place for both data as well as user uploaded content like images/documents etc. Since production data is very critical, we must setup backup mechanism. It could be some type of scheduled task that takes periodic backup of all critical data, Or it could be some type of backup service provided by hosting company. When we talk about critical production data, it includes production DB, content generated by application users like images, documents, etc.
  • 5. Ensure Database indexes We might have done development without having proper database indexes, but we should avoid going to production without them. Adding indexes might slow down insert queries a bit but it increases the performance of read queries. It applies when application in production has percentage of read operations much more than write operations.
  • 6. Enable your slow query log This is specific to MySQL. Enabling slow query log allows MySQL to log slow running queries to a file. And this log can be used to find queries that take a long time to execute and are therefore candidates for optimization.
  • 7. Ensure exception is in place We might want to be notified when something bad happens to our application. There are several hosted services available who receive and track exceptions, for example Hoptoadapp.com, GetExceptional.com etc… Either we can choose one from these hosted services or we can use “exception notifier” plugin.
  • 8. Ensure adding entries for cron/scheduled jobs Most of the applications have some functionality/jobs that need to be run periodically, for example generating invoices, sending newsletters etc. In most cases these jobs are done by a rake task. We should make sure that we have added such jobs to cron or similar program.
  • 9. Monitoring Important Processes To ensure that our site is up 24×7 we need to ensure that all processes that our application needs are up. There can be many processes like MySQL, Mongrel, Apache etc.. These processes are very important as our application directly depends on them. For example if MySQL process get killed accidentally, our application would not be able to connect to MySQL and will start throwing exceptions. We can choose any of the available monitoring tools like God, Monit, 24×7 etc…
  • 10. Ensure Confidential Data Filtering We would never like to leak/share confidential information of our application users. We should make sure that none of the user’s confidential data like SSN, Credit card info, password are being written to log files. We might not have paid much attention on this while developing the application.
  • 11. RotateLog Files Once our site is up and running, every single request write some text in log file. And hence size of the log file keeps on increasing. Larger log files can put us in trouble if we get it beyond certain size. It’s difficult to manage these log files, as larger files need more memory to open and need more time to download. In one of the rescue project we did , the log file size was 3GB. We would recommend having logrotate setup for the application.
  • 12. Setup Asset Host Setting up asset hosts can reduce loading time by 50% or more. We must setup asset hosts for our application. Once asset hosts are all set, our static files will be delivered via asset hosts for example asset1.hostname.com, asset2.hostname.com
  • 13. Clearing up stale sessions We should make sure we should not left any stale session on the server. If our application is using DB or file system as session store, we must add a schedule task to delete stale sessions. These are some of the points we have identified from our past experience and we might be missing some. Feel free to always add them as comments, and I’ll keep this post updated.
  • 14. Thank you See more at - http://vinsol.com/blog/2009/11/16/11-things- to-consider-before-deploying-your-rails-application/