Pages

Thursday, May 19, 2011

SugarCRM 101: 10 Questions for Hosting Providers

Photo by ivanpw/Flickr
Those evaluating SugarCRM for use in their business may have encountered of information regarding its use through a shared hosting provider such as GoDaddy, 1and1, Hostgator, TMDHosting or any of the various other options available.


Due to the extensive amount of hosting providers that are available today, building and maintaining a comprehensive list of all those compatible for use with SugarCRM is a daunting and difficult task for any single individual such as myself. However, it is also not necessary to do so, as the answers to a few questions should suffice in determining the suitability of any provider.


Before you sign up, ask these questions:


1. Which version of PHP is installed? 


An answer such as PHP 5 will not suffice. It needs to be exact, such as PHP 5.3.1. While there are many versions of PHP that are compatible with SugarCRM, there are also a number of them that are not. It is worth noting that many hosting providers have a tendency to use the latest versions of PHP. This is sometimes a problem for SugarCRM as said versions may not yet have thoroughly tested. One should not assume that SugarCRM will work because the server is using the latest release.


2. How often is PHP updated and can I revert to an older version if necessary?


One common problem SugarCRM users encounter on shared hosting providers is that the provider will at random update the version of PHP in use. That action unto itself is not a problem, except that sometimes the update is to a version of PHP that is not supported by SugarCRM. The ability to switch to a different version (one supported by SugarCRM) would be a helpful capability.


3. What is the memory limit for PHP?


This is one of the most important factors. Anything below 64MB is unusable for SugarCRM. If it is less than 128MB, you will only be able to run SugarCRM Community Edition. For this scenario, the higher the number, the better. 


4. Are CRON jobs allowed?


CRON is a scheduling mechanism that functions at the operating system level. If it is not allowed, the automation of tasks such as sending campaign emails, retrieving group email, pruning the database and other tasks listed in the Sugar Scheduler becomes hindered. Alternate methods to automate it would need to be used, but the chances of alternate methods being available are likely even less of an option if CRON is not available.


5. Are the following extensions available: IMAP, mbstrings, zip, curl?


Some providers choose to disable some PHP extensions, or added functionality, for their own specific reasons. Unfortunately, some of them are required for SugarCRM. For example, the IMAP extension is used to retrieve and send email, while mbstrings is used for double-byte character support. There are no workarounds should they not be available.  


6. What are the maximum allowed values for max_input_time and max_execution_time?


Both should allow at least 300 seconds, which equates to 5 minutes. Shorter time windows tend to cause problems with the execution of updates, upgrades or installation of modules. Actions that process a large number of records -- such as globally updating 1 or more fields on X number of contacts -- can also be hindered or fail.


7. Are there any PHP caching or accelerators in use?


One of the easiest methods for enhancing performance of SugarCRM is by means of a PHP caching or acceleration tools. Some common options are: memcache, APC, Zend and eAccelerator. It is not required by SugarCRM, but is of great help on shared environments. 


8. Do you offer shell access?


While not mandatory, having it is rather helpful. Shell access allows one to execute commands at the console and often times greatly facilitates the process of applying customizations and/or troubleshooting problems.


9. What are the disk space usage limits?


Email attachments, documents, attached files and other similar files associated with SugarCRM records are all stored in a specific folder within the SugarCRM install folder. As with the memory limit, the higher the number, the better, as it would allow one to store more files. SugarCRM does not have a defined minimum value, but anything less than 1 GB is likely to become a problem in a short amount of time, specially with a lot of users. On a related note, ask whether or not any potential limits also apply to the MySQL databases.


10. Are there any bandwidth restrictions? 


Lastly, one needs to know of any hidden costs that might be incurred through day-to-day usage of SugarCRM. These are likely to come in the form of bandwidth limits. Be sure to ask of any potential limits and associated costs should they be exceeded. Most providers today offer unlimited bandwidth, but it is always worth asking.


If ever in doubt about the information you have received and its suitability for use with SugarCRM, consult the official SugarCRM system requirements page:
http://www.sugarcrm.com/crm/products/supported-platforms.html

Some final notes on specific providers:
  • I have been a long time fan of Hostgator due to the value-to-price ratio. Unfortunately, its 64MB limit for PHP memory makes it impossible to use for hosting anything other that the Community Edition, although, I wonder for how much longer. As a result, I am no longer actively promoting its use.
  • TMDHosting is my new, preferred provider. The value-to-price ratio is not only better than Hostgator, but they also heavily focus on SugarCRM. Performance is noticeably superior to most other hosting providers and it is hard to beat the 512MB memory limit without actually getting a dedicated server.
  • I strongly discourage the use of GoDaddy and PowWeb. GoDaddy offers some low end subscriptions that have key PHP extensions disabled, namely IMAP -- remember, there are no workarounds to missing PHP extensions. PowWeb, on the other hand, has proven to be significantly poorer on the performance side. Coupled with the fact that it also tends to be a bit more expensive than both Hostgator and TMDHosting, there is little about it that is attractive.
Do you have any other tips you would like to share with others?

7 comments:

  1. >>Do you have any other tips you would like to share with others?
    Never use shared hosting for your SugarCRM!!! :)
    To be more serious I personally can't imagine any reasons to use shared hosting while nowadays we have ready-to-deploy Amazon machines images from BitNami http://bitnami.org/stack/sugarcrm and AWS Free Usage Tier from Amazon http://aws.amazon.com/free/ . Everyone can have fully functional scalable for the future SugarCRM instance on its own server with full root acces FOR FREE for a whole year with a minutes!

    ReplyDelete
  2. @Egor

    There is absolutely nothing wrong with using a shared environment, so long as it meets the necessary criteria. There are many customers that successfully use it with such accounts.

    As for Amazon and BitNamin, I've yet to be impressed by either as it relates to Sugar.

    I am sure that Amazon is great for many things, but I'd rather use Rackspace than Amazon. I've seen oddities with the way the API works and considerable performance differences between Amazon and Rackspace. The performance problems are specially noticeable if you go with the lower end services offered by Amazon (such as the Free tier).

    As for BitNami, in theory it is a great idea. In practice, I am not sure it is so great except for specific scenarios, as I discussed in a previous post: http://cheleguanaco.blogspot.com/2010/09/sugarcrm-stack-installers-yay-or-nay.html.

    ReplyDelete
  3. Angel, many thanks for Rackspace references.
    As for bundles, I never use them personally because it turned out too specific to use them in the future. But here in Russia I often meet guys who persistently install Sugar on shared hosting and then bravely fight with perfmissions issue, PHP versions, modules, etc. Sometimes they're even ready to pay for keeping their Sugars running smoothly in a bad environment :) . In those cases, I think, using Amazon AWS is not a really bad idea.

    ReplyDelete
  4. @Egor:

    It is not just Russia. I've met plenty of people all from all kinds of places that insist on using it on inappropriate shared hosting environments and then wonder why they have so much trouble. Hopefully some of the tidbits in here will help people make better decisions about their provider.

    I agree with your point on the bundles. Good idea, but in the end, it is not flexible enough for production use.

    ReplyDelete
  5. Hello to everybody.

    We have our own server for develop, but We bought an vhost server from other provider because we need to access to multiple crm at any time, and sometimes the web connection is down or the server fails for some reason.

    Thanks

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
  7. I really appreciate for your brilliant Efforts on spending time to post this information in a simple and systematic manner.

    ReplyDelete

Your comments, feedback and suggestions are welcome, but please refrain from using offensive language and/or berating others. Thank you in advance.