1) Do I need a dedicated server?
You need a dedicated server in the following situations:
• Your application has thousands of users and needs to scale. Sharing your server with other applications can compromise performance.
• Your application is mission-critical and cannot afford downtime. Sharing your server with other applications can compromise stability.
• You need to install custom applications and components that shared server hosting providers refuse to install.
You do not need a dedicated server if:
• Your application does not need to scale or you do not anticipate too many users at present.
• Your business is not affected if the application has some downtime.
• You use only standard components in your application.
If you require only some features of a dedicated server, you could also consider going in for a Virtual Private Server offered by some hosting providers. This gives you many features of a dedicated server on a shared server.
Back to top
2) What server technology should I go in for?
This is largely a matter of preference. However some of the following issues must be considered before making a decision:
• You have one or more existing applications developed with a particular technology and your application needs to interact with those applications.
• You have people proficient in a particular technology and you plan to use them to maintain your application.
• Your application can use existing components or frameworks that are available on a particular technology platform.
• A particular server technology has features that will enhance the functionality of your application.
• Hosting on a particular server technology is more cost-effective.
Back to top
3) Which database server should I use?
This again, is largely a matter of preference. Some of the points mentioned as a response to the previous question also apply here. Some additional points that need to be considered are:
• Which server technology does your application use? This can make a difference because some databases play better with certain server technologies. Hosting issues can also affect the decision. For example, it makes more sense to use a database like MySQL when using PHP because hosting providers generally provide both as part of a hosting package.
• Does your application need additional functionality like enhanced reporting and data mining? Some database servers like Microsoft SQL Server offer additional tools for this.
Back to top
4) How is sensitive data like a credit card number handled in my application? Is it safe?
There are some standard practices that are applied when dealing with sensitive data. For example, web pages that require users to enter their credit card information are served using the HTTPS protocol. This lets the user verify if the web page is being served from your web server or not. The HTTPS protocol also encrypts the data flowing between the web server and the user’s browser using a 128 bit encryption (which is considered quite secure). This ensures that servers en route do not have access to the sensitive data.
Credit card numbers are not generally stored within the application database and are directly passed on to the payment gateway that processes the information. However in some situations, it is necessary to store the credit card information in the application database. In such situations, it is important to ensure that this information is encrypted before it is stored. Physical access to the database must also be secured.
Back to top
5) What kind of application do I need? A desktop application? Or a browser-based one?
Desktop applications offer the advantage of greater interactivity, local storage and offline functionality. However deploying and maintaining such applications cost more than in the case of browser-based applications.
Browser-based applications can be accessed from any location that is connected to the Internet. They do not need anything to be installed and can be updated easily. However, they cannot be used in an offline mode. They also do not provide the rich interactivity that is required in some applications.
New technologies are blurring the distinction between the two kinds of applications. Web applications that use AJAX (Asynchronous JavaScript and XML) are bringing rich interactive applications to the browser. These technologies offer some advantages over plain vanilla browser applications. However, they still require a user to be online.
Smart clients are designed to solve this problem. They provide all the advantages of a desktop application and function in an offline mode. However, they connect to networks and synchronize data with servers when they are online. They are also easy to deploy and maintain. However, they need a runtime engine to be installed on the client machine. But this not too much of a problem since it is a one-time operation. Outsource your custom application development to India
Do you require high value software and web application development services? Why not consider outsourcing to India? Indian software development companies offer seasoned, effective software solutions that meet your business goals.
Back to top
|