CRM Deployment Options

Exclusive offer: get 50% off this eBook here
Implementing SugarCRM 5.x

Implementing SugarCRM 5.x — Save 50%

Install, configure, and administer a robust Customer Relationship Management system using SugarCRM

$29.99    $15.00
by Angel Magaña Michael Whitehead | September 2010 | Open Source

SugarCRM is a popular Customer Relationship Management (CRM) system. It is available in both free open source and commercial versions, making it an ideal way for small or medium-size businesses to try out a CRM system without committing large sums of money. SugarCRM is an extensive PHP/MySQL based application, but with its rich administration interfaces, no programming is required to get measurable benefits from its use.

In this article by Angel Magaña and Michael Whitehead, authors of the book Implementing SugarCRM 5.x, we will take a systematic approach in making the right deployment choices for your business. First, we take a detailed look at the alternatives you have for a CRM deployment, including On-Demand (no installation at all for you), Collocation (someone else hosting and installing on a server that belongs to you), a conventional On-Premise installation, where you own and manage your own server and lastly, a Shared Server hosting option for small organizations.

(For more resources on SugarCRM, see here.)

Before you investigate that section of this article, it is important to review some of the issues that should be accounted for when deploying your own server. Some of the important items from that list include the following:

  • Selecting an operating system: You must weigh the value of using Windows Server versus Linux (or other operating system) and vice-versa.
  • Hardware configuration of the server: It must be capable of handling your expected immediate load, plus allow for at least 18 to 24 months of expected growth.
  • Identify existing infrastructure that may be repurposed for the task: Your deployment does not require new hardware; it requires hardware capable of handling the current load with some room for growth.
  • Establish a powerful data backup and security plan: The data in your CRM system is arguably the most valuable information your business owns. You must treat it as such, and plan for the worst. You must be able to quickly recover from anything, including theft of hardware and a natural disaster.
  • Internet bandwidth: The current Internet connection at your office may be sufficient for today's e-mail and web browsing needs, but may not be adequate for responsive use of your CRM system, especially if you are using an On-Demand provider.

As mentioned previously, this article does not specifically cover the process of installing your CRM system; however, it does discuss the aforementioned issues in detail. This information should help you make well-informed decisions for your deployment.

Deployment alternatives

One of the advantages of using SugarCRM as your CRM solution is its flexibility in a number of areas. For now, the flexibility we are most concerned with is its ability to be installed in a variety of environments. SugarCRM is rather unique in its breadth of supported deployment options.

The four basic options from which you must choose are as follows:

  • On-Demand: In this situation, you pay a fee for the right to use the SugarCRM application. Fees are usually based on a per month and per user model, but can vary greatly depending on the provider. The advantage of this deployment is the quick time to deployment and elimination of responsibilities, such as backing up the server and so forth. Some of the reasons why businesses choose not to use this model include the following:
    • The data resides on someone else's server
    • There is a limited access to the data beyond the application
    • There are limits on some of the customizations that can be applied to the system

    The latter point can become a real issue if you intend to integrate your CRM system extensively.

  • Collocation: The main difference between this option and the previous one is that you are supplying the server that will host your installation, as opposed to paying a fee for the right to use a preconfigured one. As you are responsible for providing the server, you are also responsible for making the appropriate hardware purchases that will provide redundancy and high availability. You must still pay a monthly fee while also assuming the responsibility of configuring and maintaining the hardware, although many collocation providers offer maintenance services at an additional cost that may fit your budget. In addition, you are also responsible for installing and maintaining your SugarCRM installation; although, this level of control over your server and installation also eliminates the various limitations inherited by On-Demand environments. Collocation is also helpful for addressing bandwidth and disaster recovery needs. Collocation service providers are able to provide high bandwidth connections that are likely to be cost-prohibitive if you were to try to get the same at your office. Their facilities are also equipped with solid security and backup measures. These measures protect your server and its data, part of which includes their inclusion of systems that handle emergencies, such as fire and power outages.
  • On-Premise: This option should be fairly self-explanatory—you buy a server (or use the one you already have), then install the required software on it. In this model, you are taking on the responsibility for maintaining the hardware, installing the appropriate software and furthermore, addressing the security measures, such as backups, security, fire prevention, and others. However, the result is a system over which you have a complete control. Since this type of endeavor is sometimes beyond the financial means of many small businesses, there is a temptation to cut costs by eliminating some of the components, especially lesser valued items, such as security. Remember, the data in your CRM system is the lifeblood of your business. It is arguably the single most important asset of your business. Treat it as such.
  • Shared Server: This is the least expensive, not surprisingly, and also the lowest capacity option. You have your SugarCRM instance hosted on a server whose capabilities you rent on a monthly basis and are shared with other users. Those services include not only server space, but also backup and other security services that were discussed previously. Due to the proliferation of hosting providers, costs for shared hosting services are within the reach of nearly all businesses. However, a vast majority of these service providers are in the business of providing generic hosting platforms that customers tend to use for hosting websites, as opposed to applications, such as SugarCRM. While many are able to provide services that are conducive to a positive experience with SugarCRM, it is not uncommon to run into providers whose services hinder its installation, performance, or overall usage. It is also not unheard of for a hosting provider to make system changes that in turn cause SugarCRM to no longer function. Again, their priority is not that you have a working SugarCRM system, but that their services are able to compete effectively in their market. This also means that the features they offer, such as direct access to the data, will vary by provider. For many businesses, the low cost is reason enough to overlook the potential risks and limitations, but nevertheless, you must be careful in your selection of a service provider if you are choosing this option.

A deployment option that continues to rapidly grow in popularity is the use of cloud computing services, such as Amazon Elastic Compute Cloud (Amazon EC2) (http://aws.amazon.com/ec2/). It offers many of the same benefits as the collocation option; however, unlike collocation, you do not need to provide a physical server. You are renting a virtual server at costs as low as approximately US$100 per month (at the time of this writing), allowing you to deploy a very comprehensive solution.

In addition to reduced costs, cloud computing also gives you the flexibility to effortlessly scale by adding additional servers by means of a few mouse clicks. This process allows you to double (triple, quadruple, and so on) your processing capacity in minutes—a process that in past years may have taken days to complete.

The popularity of such services is such that you can even find a virtual server with SugarCRM already installed on it, eliminating the potentially complex setup work and bringing it closer to the turnkey model of the On-Demand option.

 

Let us look at a comparison chart of the various options which are as follows:

 

On-Demand

On-Demand

On-Premise

Shared Server

Initial cost

Low

Medium

Medium

Low

Ongoing cost

Medium/High

Medium

Low

Low

Initial setup

Easy

Complex

Complex

Somewhat complex

Your ongoing effort

Low

Medium

Medium

Medium/High

Custom fit

Limited

Excellent

Excellent

Varies

Data security

Excellent

Excellent

Self supplied

Excellent

Performance

Excellent

Excellent

Likely excellent

Varies

A couple of important points can be extrapolated from the previous chart.

First, note that your initial expenses will be higher with either the Collocation or On-Premise option. This makes perfect sense, as both require that you provide a physical server which you may have to purchase—unless you already have a suitable server available. Even then, you may still need to buy a Server Operating System. On a related note, you may also incur additional costs to develop and implement a data backup and security solution. It would also be a wise investment to pay an experienced SugarCRM consultant a nominal fee to install your system.

The latter point touches on an unproductive scenario in which too many get trapped. Most entrepreneurs tend to have a "hands-on" mentality, meaning they like to do things for themselves as much as possible. Sometimes, this is out of necessity or shortage of financial resources, while on other occasions different motivators explain the behavior. The danger, however, is that installing a piece of software is sometimes a task best left to someone with more experience.

It is not uncommon for some people to spend 3 to 4 hours (or days) attempting to complete the installation, whereas an experienced SugarCRM consultant should be able to do the same in well under an hour. You should weigh the value of your time against the costs that would be incurred from using a consultant. Unless your time is worth less than US$10/hour, you are likely to find that hiring a consultant to perform the task is a far more cost-effective approach.

A second point of importance that should be highlighted on the chart relates to post-deployment costs. An On-Demand deployment requires little upfront investment, but in the long run, it may prove to be quite expensive. Your subscription is based on a per user, per month fee that usually starts at around US$30/month. Thus, a five user implementation would represent US$150/month or US$1,800/year. Furthermore, some On-Demand service providers require a commitment of at least 12 months or longer. Such arrangements represent not only a financial commitment, but also one to the CRM solution, underscoring the importance of diligently evaluating whether or not the feature set it offers will meet your business needs. The financial part may be a trivial matter for businesses with a small user count, as it removes the burden of maintaining a server, and others. However, if your business has more than 10 users, you should consider an On-Premise deployment, not only for financial reasons, but also to meet a wide variety of customization needs that may not be feasible in an On-Demand environment.

If you use SugarCRM as an On-Demand service, you will, in all likelihood not have a whole server dedicated to running SugarCRM for your business. Instead, your service provider will most likely be using a shared server facility—a controlled portion of the resources of a physical server—to support your business' CRM deployment.

If you are planning to use your CRM to house a lot of shared documents for your business, you should check with your On-Demand service provider if any disk space limitations are applicable to your subscription—they are often surprisingly low.

From reviewing the table, you should also notice that the Shared-Server approach is the least cost-prohibitive option for deploying a CRM system. It is cost-effective, but your customization capabilities and ability to handle larger loads of data and users will vary greatly depending upon the service provider. You may quickly run into disk space issues if your service provider offers a limited amount of disk space and you intend to use a lot of files, documents, so on in conjunction with your CRM data. Some service providers also place restrictions on the amount of bandwidth you are allowed to use. Larger data and user loads are likely to cause that limit to be reached rather quickly. Due to the wide range of hosting providers and options available today, it is important to evaluate the various features they offer with great scrutiny. Some of the important factors include: disk space limits, shell access, remote MySQL connections, and bandwidth restrictions. In general, even in the best of scenarios, this option should not be used for more than 10 users.

For most businesses with more than 10 employees, the choice between the deployment options is a trade-off between cost versus complexity, and effort. There is also an issue of comfort. Although On-Demand providers take a number of precautions to ensure system availability and safeguard data and servers (such as the use of surveillance equipment, secure server areas, and so on), the thought of relying on another party for this safety is sometimes beyond the comfort level of some businesses.

Regardless of which option you select for your business, it is beneficial to have at least a basic understanding of the related technology features. Some of these features include bandwidth or connection speeds, performance and scalability, and backup and security procedures. This information will make you a knowledgeable consumer and in turn, assist you in your decision making process.

In the case of On-Premise and Collocated deployments, there are additional topics of importance that must be discussed and evaluated. Although we lightly touched on some of these topics earlier in this section, it is important that we examine them in more detail. The section that follows will lead us through this examination.

Choosing a server operating system

Server and network operating systems have been around for a long time. Many years ago, Novell Netware, Banyan Vines, and numerous variants of UNIX (most notably, Solaris from Sun Microsystems) were the major players in this marketplace, but today, the largest players in network/server operating systems for small to medium-sized businesses are Microsoft Windows and Linux.

Choosing which is best for your needs can be a confusing and sometimes a daunting process. Microsoft Windows, for example, is offered in a variety of flavors, including Web Edition, Standard Edition, Datacenter Edition, and others. In addition to pricing, the various editions also vary in their ability to scale, that is, handle more demanding computing needs.

For example, 64-bit versions of the Web and Standard Editions are limited to 32 GB of RAM and do not support clustering— a technology used to provide redundancy and increase scalability. Datacenter Edition, on the other hand, not only supports clustering, but is also capable of supporting up to 2 TB of RAM (1000 GB = 1 TB). As you can see, your decision will vary greatly depending on your anticipated needs. If you expect a large volume of data (over a million accounts or contacts), you will want to ensure that you use a version of Windows that supports at least 8 GB of RAM. Data needs ranging in the area of 100,000 or less (accounts or contacts) are likely to function well with 4 GB of RAM, but you should remember the earlier statement that the hardware that you pick today should be capable of handling today's load, plus that expected within the next 18 to 24 months.

If you have never used Linux before, but are considering it for your CRM server, you should prepare yourself for a vastly different selection process. First and foremost, Linux is available in many different flavors (commonly referred to as distributions or "distros"). The various distributions differ mostly on the structure of the file system (that is, the location of configuration files and tools) and included software. Strong opinions on which distribution is best are equally plentiful. We will, however, discuss the leading distributions, namely, Red Hat, Fedora Core, CentOS, and Ubuntu.

Much like Windows, different iterations of these distributions will support different hardware configurations. However, unlike Windows, the costs incurred in using a more scalable version versus a less capable version do not change because the operating system is free.

Red Hat is the exception to this rule. Red Hat's Enterprise Linux Server is a subscription based product ranging in price from US$349 to US$2,499 per year, per server. The subscription includes software updates and support.

In contrast, costs for Windows Server 2008 begin at approximately US$470 per server for the Web Edition and can be as high as US$3,000 per processor for the Datacenter Edition. You are also likely to incur additional costs for Client Access Licenses (CAL), a license that allows a computer on your network to legally connect to a server and normally costs approximately US$30 each. These costs are for licenses only and do not include support services.

A business with very limited financial resources may conclude that both—Red Hat Enterprise Linux and Windows Server—are beyond their means. Even if you are not in that situation, it is comforting to know that Fedora Core and CentOS are both widely used zero-cost alternatives, and also happen to be derivatives of Red Hat. CentOS in particular is intended to be a clone of Red Hat Enterprise Linux and it has a large following. If you have not heard of it before and are concerned about its viability, the fact that SugarCRM (the company) utilizes 64-bit versions of CentOS for its On-Demand datacenter (at the time of this writing) should help ease your fears.

The final distribution mentioned was Ubuntu. Ubuntu is quite different, in that it has a long history of focusing on growing the adoption of Linux on the desktop. It has gained popularity primarily due to its ease of use. Server installations of Ubuntu are definitely possible and many users today are successfully using it for their SugarCRM implementations. In general, choosing one distribution versus another usually becomes a matter of personal preference and comfort.

The cost involved in purchasing a server operating system has just been explained and the choice is yours. Clearly, were you to base your decision solely on licensing costs, Linux would be a more cost-effective choice. In practice, either of the operating systems is more than capable of fulfilling your CRM needs and in addition, each requires a certain amount of investment to maintain, and these costs are not readily visible up front. As a result, your selection is usually a choice more directly influenced by licensing and ongoing support costs, more so than licensing costs alone.

The level and type of technical resources you have access to will no doubt have some influence on your choice. You will need someone to be on call in case of emergencies, perhaps to come in and set things up for you in the beginning, and possibly to perform backups each week. There are many independent network and server support people who make their living performing this type of work and it should not be difficult to locate a resource. Prices will vary, but working with one of these individuals might cost you US$5,000 to US$10,000 per year and depending on your circumstances, could be a perfect fit.

Of course, the On-Demand option at US$30/per user/per month remains an option as well.

Specifying your server hardware

At home, most of us use our computers as isolated workstations for work or play. A few of us may also connect several computers at home into a network, much in the same manner they are connected at the office. When several computers are connected in a network, there is often value in attaching one or more special computers to the network that is designed to act as a shared resource for all users. These special, typically more powerful computers are called servers.

Most of us are familiar enough with a home or office Personal Computer or PC. The usual product is a so-called three-box configuration—the system unit, the display, and the keyboard. While a computer server can look quite similar to a PC, it has a number of fundamental differences relating to hardware that affect cost.

Note that there are plenty of low-end servers from the likes of HP and Dell that use non-parity memory, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) disk drives, and a single power supply. They can be used for small SugarCRM installations fairly effectively (those not exceeding 10 users). You should, however, always aim for the highest capacity and reliability that you can afford. Remember, it must serve your needs today and in the future, for a minimum of 18 to 24 months. A lower cost solution may seem attractive today, but rarely pays off in the long run. It is usually best to invest a little more in higher quality components up front, rather than pay for problems down the road as they will be more costly.

Error Correction Codes (ECC) memory for example, has the ability to detect and correct the most common forms of errors that could be made by semi-conductor memory when it starts to fail. Typical PC memory, by contrast, does not have this capability (due to the lack of a feature called parity) and certainly does not have the ability to correct those errors. The only time a PC checks to see if its memory actually works is at system boot time—when you turn it on. As you intend to leave your server on all the time, that approach clearly will not work.

Similarly, power to a server is typically supplied through two physical power supply units connected to it in a redundant manner. Should one unit fail (not uncommon), the fault is reported, but the system continues to function using the working power supply unit. You would then eliminate immediate impact and be allowed the opportunity to replace the power supply at a scheduled maintenance window of time, as opposed to the time of failure.

A Redundant Array of Inexpensive Disks (RAID) hard drive configuration is designed to provide performance and redundancy. These types of configurations require the use of multiple hard drives that work in tandem to split data into smaller chunks that in turn reduce access times. There are varying levels of RAID configurations numbered 0 through 6 (skipping 2). The number of drives required to implement a RAID system will vary depending on the level that you select. It can range from two drives (RAID 0) to as many as four (RAID 6).

Redundancy levels are also directly tied to the level that you choose. RAID 0 should never be used in a server environment as it does not offer any sort of redundancy. You should look at using RAID 5 or 6, as they offer the best performance and redundancy. A hard drive failure in such environments would not represent a loss of data. RAID 5 and 6 systems are specifically designed to tolerate such problems without causing loss of data.

The Central Processing Unit (CPU) or processor used in a server is typically a multi-core processor (at least two cores). Depending on your anticipated load, you might be better off with a quad core chip. The general rule of thumb is that the more cores, the better the performance as computing work would be divided amongst the various cores.

System memory size is perhaps the biggest difference between a server and a PC. Most PC users (other than those doing graphics design and other demanding tasks) work happily with 2 to 4 GB of memory in their PC—usually 2 GB is the norm. In contrast, few servers use less than 2 GB of memory, at least those that perform well. Most use a minimum of 4 GB. With more memory, the work being done for many users can stay in memory simultaneously as it is performed, rather than being sent temporarily out to the hard disk if memory runs out of space. As system memory is at least 100 times faster than the hard disk, anything that involves the hard disk will slow down the system substantially. It is also worth noting that database applications, such as SugarCRM, perform better when more memory is made available to the database server.

Some of these differences are summarized in the table that follows:

 

PC

Server

Form factor

Desktop, Tower

Tower, Rack mount

Memory type

Non-parity

ECC (Error Checking and Correcting)

Memory size

2 GB to 4 GB

4 GB to 32 GB

Hard disk technology

PATA / SATA

SATA / RAID

Hard disk speed

5,400 RPM to 10,000 RPM

10,000 RPM to 15,000 RPM

LAN interface

Ethernet 10/100, Wireless

One or more Giga-Ethernet

Power supply

Single 250 W to 450W

Redundant 500W

Processor (CPU)

Single Dual Core Chip

One or more Quad Core Chip

Video

Often High Performance for Gaming

Low Performance / Generic

Users

One-Local

Many-Remote

Servers are used for many tasks. A network may have a specific server to act as a database server , for example. That type of server would be optimized for fast and reliable disk storage and high memory capacity. Another server might be an application server— one on which applications are run, with the results being communicated to the users on the PCs using those applications. An application server is typically optimized with lots of memory and CPU power—to get through all that application processing quickly. An example of an application server is a SugarCRM server—the SugarCRM application is actually running on the server—and multiple user PCs are just running web browsers that display web pages. These web pages communicate to the users what is going on in their particular session.

For a business with 10 users or less, a SugarCRM server to be used as a combined database and application server should look something like the following:

  • 500 GB of disk space on a RAID 5 configuration
  • 4 GB of ECC memory
  • Two dual core or one quad core CPU
  • A single Gig-Ethernet connection to the network
  • An Uninterruptible Power Supply (UPS)
  • CentOS Linux or Windows Server Standard Edition (32-bit)

For a business with perhaps 25 users, the following would be better suited:

  • 1 TB of disk space on a RAID 5 configuration
  • 8 GB of ECC memory
  • Two quad core CPUs
  • A single Gig-Ethernet connection to the network
  • An Uninterruptible Power Supply (UPS)
  • CentOS Linux or Windows Server Standard Edition (64-bit)

For a business with 100 users, the server specifications would resemble the following:

  • 2 TB of disk space on a RAID 6 configuration
  • 32 GB of ECC memory
  • Four quad core CPUs
  • Dual Gig-Ethernet connections to the network
  • An Uninterruptible Power Supply (UPS)
  • CentOS Linux (64-bit) or Windows Server Enterprise Edition (32 or 64-bit)
Implementing SugarCRM 5.x Install, configure, and administer a robust Customer Relationship Management system using SugarCRM
Published: September 2010
eBook Price: $29.99
Book Price: $49.99
See more
Select your format and quantity:

Read more about this book

(For more resources on SugarCRM, see here.)

Web-based application platforms

In today's computing world, there are three major web-based application development and delivery platforms. They are as follows:

  • Microsoft's proprietary .NET platform
  • Sun Microsystems's partially open Java platform
  • The Open Source LAMP (Linux-Apache-MySQL-PHP) platform

Each of these environments provides a comprehensive set of tools for developers to build and test web-based applications and for users of the applications to access them. In addition, all have their dedicated followers and advocates.

SugarCRM utilizes the latter of the aforementioned technologies, a stack developed by the open source community that is widely known as LAMP.

LAMP stands for Linux, Apache, MySQL, and PHP (plus Perl and Python).

The LAMP stack looks like the following:

CRM Deployment Options

As you can see, Linux and Apache are the base upon which the LAMP stack is built. They form a formidable system that has helped immensely in the maturation and adoption of not only Linux and Apache, but also a number of open source applications that leverage it, such as SugarCRM.

 

MySQL, a popular open source database server, was developed by MySQL AB of Sweden, and is known for speed, scalability, and reliability. Although it does not offer all the features of an expensive enterprise level solution, such as Oracle or Informix, it is still very well suited to the needs of smaller-sized businesses, including SugarCRM users.

One of the strengths of the LAMP concept is that each of its four components can be used independently—and more importantly, can be replaced with other similar technologies. This capability allows administrators to create highly customized stacks and allow applications that leverage the stack to run under a wide range of operating systems.

Other than the use of alternative scripting languages, for example, Python or Perl, the most common change to LAMP is at the operating system level. It is not uncommon to encounter stacks that use Windows in place of Linux, a combination referred to as a WAMP stack, while the other three components remain the same.

The stack has sufficient flexibility that allows more than one component to be modified simultaneously, while still delivering the intended functionality. For example, another common combination is one dubbed WIMP, where Microsoft Windows replaces Linux and Microsoft Internet Information Services (IIS) replaces Apache web server

Generally speaking, Windows has a much greater footprint than Linux; thus, a WAMP stack will require more resources that would be required if LAMP were utilized. For an average 25-person business, your CRM server can get away with 4 GB of memory if you use the LAMP stack, but 8 GB is a safer bet if you want to use WAMP. Aside from that cautionary note, a WAMP stack should function just as well as a LAMP stack, while simultaneously offering the advantage of living within an environment that is familiar to many people, simplifying administrative tasks.

It is extremely important not to take the above statements as justification for using underpowered servers for LAMP based deployments. The comments are a vis-à-vis comparison of LAMP versus WAMP performance on the same server. By extension, this also means that in general, LAMP can perform well with fewer resources, but it has its own limits as well. You should treat your LAMP server as you would any other critical business system. Remember, it needs to handle your needs today and for the next 18 to 24 months.

Lastly, a note on WIMP. The WIMP stack has not always been received well, mostly due to past stability issues between IIS and PHP. In recent years however, many of those issues have been resolved and Microsoft has demonstrated a genuine interest in bettering their support for PHP. Today, while still not as popular as LAMP or WAMP deployments, it is successfully used by a number of organizations.

Backup and security considerations

Backup and security are the two things that are most likely to suffer if you take on the responsibility of an On-Premise deployment. If this is the deployment option you are considering, and you have little experience with a server's backup and security issues, then this is an important section for you.

Clearly, once you get your dream CRM up and running, you will want everyone in the organization to be using it and will want to make it a central data hub for your business. The nature and importance of the data that your CRM system will house makes it imperative that you take the necessary precautions to make sure that the system does not fail, which may in turn produce prolonged down times or worse, data loss.

Accordingly, you will need to devise a data backup strategy to protect the data. One solution is to buy a data backup device—which typically will be tape-based, but could also involve network-attached disk storage. Most backup solutions can be a bit expensive, but, adopting a reliable backup plan is completely mandatory. Losing all your data would be a much more expensive venture.

Some inexpensive backup solutions do exist, such as connecting an external USB hard drive to your server and backing up the server hard drive to the external hard drive. In a similar manner, you can also buy a second drive for your server and backup the main drive to the secondary drive. Note that files that are open at backup time will most likely not be backed up by a simple operating-system level file or drive copy—so be very careful.

Many server administrators will opt to use an internal tape backup unit with proper tape backup software that performs a daily incremental backup and a weekly full backup. Rotate the tape used in the tape drive each week and keep at least 5 tapes in the rotation. Testing of said backups should occur once a month. This can be easily accomplished by identifying a document that has been recently created and checking whether or not it can be successfully restored from the backup.

Regardless of which option you choose, make sure that you keep a copy of your backup at a safe location, away from your office, such as at a bank safety deposit box, safe at your home or elsewhere.

Server security

Your CRM server is likely to have a permanent link to the Internet to provide remote users with access to its data while away from their office. The data they will be accessing is perhaps the most vital and sensitive information your business owns. Bells should be going off in your head, warning you to make sure that the server is properly secured, as this combination is too tempting for someone with malicious intentions. Cyber attacks, or the attempted theft of your competitive information are two among the many very real threats for which you must plan.

For a start, security specialists will always tell you that nothing is completely secure. There are simply levels of security—each more cumbersome and expensive than the last—and you need to implement a level of security that is sensible and appropriate in your business context.

Some minimal security measures you should consider include the following:

  • A UPS (Uninterruptible Power Supply) to save your server from crashing when there is a power outage. Windows and Linux both have utilities that can receive a message from the UPS notifying the server when the UPS has gone over to battery backup, so that the server can be shut down in a controlled manner if the power remains out for too long.
  • A locked server room, so only authorized employees can access the server, reducing its chances of being stolen, being damaged, or having its data compromised.
  • A surveillance system is an effective deterrent of theft or vandalism. You should consider installing one that has the ability to monitor your server room.
  • A VPN (Virtual Private Network) to limit the server's exposure to the Internet, while simultaneously allowing remote users uninterrupted access to the system.
  • A firewall between the server and the Internet connection, with only limited and specific access to the web server being permitted from the Internet.

If you are installing the SugarCRM server at your own office, you will typically position the server behind your firewall to protect it from the outside world, but will allow external access by opening ports on the firewall to the web server on your SugarCRM server. From a security point of view, it would be even better to actually have separate web and application servers, with security rules between them—but this is not a necessary security measure for smaller firms.

If your SugarCRM server will be collocated, a similar networking configuration should be used, but you must make sure that you talk to your service provider about this matter.

If you are using an On-Demand service, none of this will be vital to you, except insofar as you may wish to ask your service provider about the security architecture currently in use and how it handles the web server and application server issues.

Emergencies and natural disasters

Backups and security measures are intended to protect you from foreseeable mishaps. Unfortunately, there are other situations that may arise that are often overlooked by individuals maintaining their own servers.

Fire and floods are two additional dangers you must be prepared to handle. Should a fire damage your office, you will want to have proper fire fighting equipment handy that will protect your server.

You must also be prepared for water emergencies, such as a flood or a burst water line in your office. To reduce such potential risks, it would be wise to not locate your server in an area that is near water lines. In addition, your server should not be sitting on the floor of the selected area. It should be placed in a server rack where it cannot be stepped on or easily damaged by rising waters.

Lastly, the area where the server is maintained must be kept cool. Sometimes this requires the purchase of additional air conditioning equipment. A closed room with 3 to 4 servers will warm up rather quickly and heat is not well received by servers. In extreme situations, the heat in such environments can cause the server to reboot or even shut down and in turn cause unexpected downtime.

Bandwidth capacity and reliability considerations

We have all had the experience of visiting a useful website, containing a lot of valuable information, and being frustrated by its low speed or responsiveness. You need to make sure that your CRM users never have such an experience.

Bandwidth, or connection speed, is an important link in the chain of good performance for a web-based CRM system, such as SugarCRM.

CRM Deployment Options

In the previous diagram, the Outbound Traffic leaves Your Offices for the Internet at a speed called the uplink, or upload speed. Inbound Traffic arrives at your building through the downlink, or download speed. Notice that for a Remote User connecting to the server at your office; it is important that the uplink connection be reliable and fast so as to deliver the data as quickly as possible.

 

Usually, your employees will complain if the office download speed is slow, as web browsing, or retrieving e-mail from an external e-mail service will be slow.

Employees will also complain (at least the ones who access your CRM system while away from the office) if the office's Internet connection has a slow uplink connection.

So the conclusion we must draw is that if we intend to house our CRM server at the office, we need to make sure that the office has a fast download and upload connection.

Another potential bottleneck for a Remote User is the speed of the connection they are using while away from the office. For such users, the speed of inbound traffic will have a direct impact on their experience of using the CRM system. Data travelling from the office to a remote user's computer will travel only as fast as the slowest link between the two. For example, if the server at the office is able to deliver data through its outbound traffic link at a rate of 10 mbps, but the inbound traffic link being used by the remote user is limited to one tenth of that speed, the data from the office to the remote user's computer will be received at 1 mbps and not at 10 mbps.

The last scenario highlights some of the challenges in determining the appropriate speed for your office. In the last example, increasing the speed of the outbound traffic connection at the office would have yielded zero benefits as the bottleneck was at the receiving end.

Another factor to consider is the day-to-day importance of Internet usage within your business. A software development company, for example, will most likely have higher bandwidth requirements than a T-shirt printing firm, or for that matter, RayDoc Carpets.

For an average white collar business (if there is such a thing), 2 mbps of download speed for each of the 25 employees/users will normally suffice. With a CRM server at the office being accessed by remote employees during the day, or at night from home, you will most likely need something like 1 megabit of upload or uplink speed for each of the ten concurrent remote users. Your needs may dictate that you get a dedicated connection to your CRM server in order to eliminate saturation of your connection from other activities.

You should avoid uplink speeds lower than 1 megabit if you intend to access SugarCRM remotely. It will still work on slower connections of course, but you may find that the response time is less than desirable and it may frustrate you.

Many Internet connections tend to be faster in the download direction than the upload direction. These connections are referred to as Asymmetric. If your CRM server is located at your office, your business becomes a candidate to have an Internet connection that is closer to being Symmetric, or balanced, in its upload and download speeds.

When you use an On-Demand service for your CRM deployment, or have your server collocated, your server benefits from the fact that the Internet connection at the provider's location is much faster in both directions than it is at your office. It is also a more reliable connection. Typically, these providers will utilize multiple suppliers for their Internet connection pipes, so that if the connection provided by one supplier fails, those from another supplier will automatically carry on moving traffic.

This redundancy is usually difficult for small businesses to afford. If you intend to use an On-Premise CRM deployment, the lack of this redundancy may be something you will have to accept. Nevertheless, you should investigate pricing for redundant connections in your area, as well as keep yourself informed on the level of guaranteed availability offered by the Internet Service Providers in your area. It also does not hurt to solicit input about them from your business associates.

Lastly, if you choose the On-Demand or Collocated deployment option, be sure you know the amount of bandwidth you are allowed to consume (per user or for your whole server), or you might end up paying for bandwidth surcharges. Some providers do not have any restrictions, or the limits are not practical, but it is important to understand any restrictions in advance so as to avoid any additional charges.

Performing the installation

In order not to interrupt our CRM business analysis context with a lot of procedural instructions, the actual details of installing SugarCRM may be found in Appendices A and B that cover the complete process of installing SugarCRM on CentOS Linux and Microsoft Windows network operating system environments.

Summary

In this article, we covered the practical considerations of installing and running SugarCRM in your business. The key points included are as follows:

  • Comparing the advantages of an On-Demand service versus a Collocated, On-Premise, or Shared Server. We also compared the up front costs of maintaining your own server versus paying monthly fees for an On-Demand service. We also explained the minimal support for customizations available with an On-Demand service or Shared Server.
  • If you choose to deploy SugarCRM on your own server, you will need to select the operating system and hardware configuration for your server, and also make decisions regarding server security and Internet connection bandwidth.
  • Using Windows or Linux as the server operating system on your SugarCRM server and learned about the LAMP stack. We also examined some popular variations of the LAMP stack including WAMP and WIMP.
  • For security, you should consider a UPS (battery backup), a locked server closet, a firewall, VPN, and a surveillance system to protect your server from intrusions, theft or damage.
  • Your offices should have an Internet connection of at least 1 megabit for both download and upload speeds. You will need about 2 megabits of download speed for every 25 employees, and about 1 megabit of upload speed for every 10 concurrent remote CRM users.

Further resources on this subject:


Implementing SugarCRM 5.x Install, configure, and administer a robust Customer Relationship Management system using SugarCRM
Published: September 2010
eBook Price: $29.99
Book Price: $49.99
See more
Select your format and quantity:

About the Author :


Angel Magaña

Based in Los Angeles, California, Angel currently works as a CRM consultant helping businesses of all sizes realize the benefits of SugarCRM. He is a seasoned veteran of the technology world, initially getting his start in the CRM industry back in 1996 with GoldMine Software (now FrontRange Solutions). During his years at GoldMine he authored numerous technical documents, and contributed heavily to development and product management efforts that helped make GoldMine a leading and award-winning solution.

His affection for open source software began in 1998 when he started exploring Red Hat Linux, Apache, MySQL, and PHP; a combination now widely known as the LAMP stack. As an advocate of open source technologies, Angel has continually focused on emphasizing their feasibility and viability in relation to CRM and small business needs.

SugarCRM first caught his attention in 2005. Impressed by what he saw, Angel quickly moved to familiarizing himself with its capabilities, and shortly thereafter deployed his first instance. Since then, Angel has continuously refined his SugarCRM skills while also sharing his knowledge with others as an active member of the SugarCRM user community. In addition to his numerous contributions on the SugarCRM Forums, his projects on SugarForge.org have earned him two "Project of the Month" recognitions. Angel also maintains a blog at http://cheleguanaco.blogspot.com, where he shares additional insights on customizing and troubleshooting SugarCRM.

Away from the computer he is an avid soccer fan and regularly writes about the local soccer scene for LAist.com. When he is not playing, watching or writing about soccer, he is out running, riding his bike or enjoying the outdoors. He is fluent in English and Spanish, with a little French in between. His two dogs are a constant source of amusement.

Michael Whitehead

Michael Whitehead is a leading authority on the design and implementation of Customer Relationship Management (CRM) systems. Michael’s experience and expertise spans a thirty year career in software architecture, design and development as well as business management and ownership of multiple technology organizations. Among many other accomplishments Michael is the contributing author of the SugarCRM Open Source User Guide.

Michael has authored this book for entrepreneurs and small/medium business leaders, like himself, to help propel the success of their businesses through the disciplined application of CRM best practices. More than just a practical guide for the implementation of SugarCRM, this book explores and explains the business implications—and benefits—of customer relationship management for the small/medium business.

Michael is currently the founder and President of The Long Reach Corporation (www.thelongreach.com). Long Reach blends real world CRM expertise with commercial open source technologies to develop and deliver cost effective CRM solutions for small/medium business and divisions of large enterprises. Long Reach offers a full range of SugarCRM implementation, customization and training services. Long Reach is also the developer of Info At Hand™, a complete, commercial-grade, customer-centric business management solution built on SugarCRM Open Source.

Books From Packt


SugarCRM Developer's Manual: Customize and extend SugarCRM
SugarCRM Developer's Manual: Customize and extend SugarCRM

jQuery 1.4 Reference Guide
jQuery 1.4 Reference Guide

Agile Web Application Development with Yii1.1 and PHP5
Agile Web Application Development with Yii1.1 and PHP5

FreeSWITCH 1.0.6
FreeSWITCH 1.0.6

Nginx HTTP Server
Nginx HTTP Server

PHP 5 CMS Framework Development - 2nd Edition
PHP 5 CMS Framework Development - 2nd Edition

Joomla! 1.5 Multimedia
Joomla! 1.5 Multimedia

MySQL 5.1 Plugin Development
MySQL 5.1 Plugin Development


No votes yet

Post new comment

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
7
d
s
Y
q
f
Enter the code without spaces and pay attention to upper/lower case.
Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software