eAPPS upDATE Newsletter
Published by eApps Hosting
May 2008

In this issue:


News
- High Availability Services Now Available! Brought to you by eApps Network Operations

More News - eApps Attends JavaOne
Best Post Winners - Community Forum Monthly Best Post Winners!
Promotions - Best GlassFish Application, Setup Fee Waived on High Availability Service
Updated Application Versions - IMAP, SendMail, PostgreSQL, OpenLDAP, Mod_jk
Errata - Add Applications button disappears when renewal order is generated
Article - The "9"s - How Many do you Need for Reliable Service?
Tech Tips - Ruby on Rails, Using the Command Line


Having trouble viewing this newsletter? 
Visit http://eapps.com/News/eApps_upDateMay08.html
News
High Availability Services now Available! Brought to you by eApps Network Operations
In a previous newsletter we reported that we are working on an economical high availability service using the CoyotePoint Load Balancer. We are pleased to announce that this service is now available. The project to develop this service was handled by our Network Operations department. These are the members of eApps Hosting that you rarely hear about, primarily because they do their job so well. We were recently informed by one of the top monitoring services for our industry that we have the highest uptime record of any hosting company offering similar services. Suffice it to say they are hard at work keeping our network up and protecting your service from attack by hackers. Now they have made this outstanding high availability service for your use

Here is how it works. The service is designed to cluster and load balance HTTP requests. What this means is that you can have multiple VPS servers, running on separate physical servers, working in a cluster to handle your HTTP requests. The load balancer will keep track of which VPS servers in the cluster are available and pass the requests on accordingly. There is a one time setup fee of $100 and a charge of $25 per month for each VPS in your cluster. An added benefit of this approach is that you can now scale horizontally, i.e. can add additional VPS servers into the cluster to handle your load, in addition to upgrading the size of your VPS. Our Network Operations department can also assist you in setting up redundant database servers on the backend in either a replication or cluster mode. For more information on this new offering, please contact sales@eapps.com.

More News
eApps Attends JavaOne
Some of you may know that eApps Hosting has offered hosting services to the Java community since early 2001. That was the year we first offered Shared Tomcat Hosting services. Soon after that we were one of the first providers to offer Virtual Private Server hosting for Tomcat and JBoss. Last month we began supporting the GlassFish Java application server. As a result of our growing relationship with the GlassFish community, we were invited to attend the JavaOne conference and the preceeding Community One conference.

The Community One conference focuses on the open source communities that are committed to the care and feeding of many of the leading open source solutions offered by eApps Hosting such as MySQL, JBoss, and GlassFish. Through our participation we were able to strengthen our ties to these communities and learn more about how they work and how eApps Hosting can participate as a member.

The JavaOne conference is all about Java. We saw the latest advancements in the language including the JavaFX media extensions and more. Since the conference is focused on developers we learned more about their needs. We also met several exhibitors that support various parts of the vast Java world. An example of one of the exhibitors that we met is Terracotta. This is an open source project that provides a JVM clustering solution. We were very impressed with this group and will be exploring how this component can be used to enhance our high availability services.

Best Post Winners
Winners Announced for May's Best Post in Community Forum
Each month we select at least one outstanding post on our Community Forum and award a $50 credit to the account of the selected contributor(s)! The winners for the May newsletter are . . .
  • courtenayt - Upgrading to postgres 8.2 or higher
  • pdoren - Rail application from your Domain root
  • frankc01a - How to relay email from Tomcat app
Please stop by the forum and check it out, ask a question, offer a suggestion, or answer a question. You might just win a $50 credit in June!

Promotion
We have two promotions this month. One is for GlassFish users and one is for customers interested in High Availability services.

Best GlassFish Application
One of the reasons we started offering the GlassFish Java application server is that we were impressed with its power and ease of use. This promotion will reward the customer that shows us the best application running on our GlassFish service with a $100 credit to their account. The judging will be conducted by the eApps Technical Support department.

Setup Fee Waived on High Availability Service
If the new eApps High Availability Service appeals to you, there is no better time to get started. For the next month, we will waive the setup fee. This represents a savings of $100!

To take advantage of either promotion, just send an email to sales@eapps.com with the subject 'Best GlassFish Application' or 'Setup Fee Waived on High Availability Service' and specify your domain so we can find your account. We will reply with additional information. These promotions are valid through June 9, 2008. There is a limit of $100 in credits per customer during these promotions.
 
Updated Application Versions
Updates to IMAP, SendMail, PostgreSQL, OpenLDAP, Mod_jk
For customers on our CentOS 5 plans, we now have updated versions of the following applications:
  • IMAP 2007a - bug fixes and some features
  • SendMail 8.14.2 - bug fixes and some features
  • PostgreSQL 8.3.0 - significant update with new features
  • OpenLDAP 2.4.8 - bug fixes and some new features
  • Mod_jk 1.2.26 - bug fixes
To install updates, login to your control panel, click on System tab, then All Applications. Select the application you want to upgrade and click Upgrade to Latest. If you are interested in moving to the new CentOS 5 environment, please contact billing@eapps.com.

Errata
Add Applications button disappears when renewal order is generated
We recently upgraded the version of the Control Panel software and discovered that a bug was introduced in this update.

Renewal orders for your subscription are generated automatically 7 days before the end of your billing date. The Renewal order is not due at this time, but it provides you the opportunity to see what your payment is going to be in advance. Customers that have set a credit card for Recurring Billing (automatic payment) will have this renewal order paid automatically the night before the new billing cycle starts, assuming the card is accepted by the card issuer.

The bug that was introduced causes the Add Application button on the System tab of the Control Panel to disappear when the renewal order for the hosting subscription is generated. We have reported this to our vendor and have received a bug tracking number from them. We expect to get a fix for this problem within a few weeks. In the meantime, the workaround is to go to the My Account tab and cancel the renewal order. The absence of the renewal order will cause the button to re-appear.




Article

The "9"s - How Many do you Need for Reliable Service?
The number 9 is back, after being out of favor for almost 40 years. Back in the day, 9 was the hot number. People were dressed to the '9's, went for the whole 9 yards, sang 99 bottles of beer on the wall, and in the USA attended the national past-time in droves, which of course had 9 innings and 9 players. Yes, 9 was the king of numbers. But the number 9 fell out of favor. It started in the early 60s, with the advent of the Fab 4 and the British invasion. Soon after the Beatles came the Dave Clark 5, followed by the hit song "1 is the loneliest number." Other sports gained in popularity, giving us 4 quarters in football, basketball and soccer. Chants of "we're number 1" and even the trademarking of the term "3peat" further diminished the importance of 9. The final blow was the infamous "7" episode on Seinfeld, where George's friends stole his idea of using the number 7 as the name of their child. From the 60s through the 90s the other numbers stepped it up, and 9 clearly took a back seat. But now, in the 21st Century, 9 is definitely back. Everyone wants 9, and they want as many as they can get.

The reason we know this is because we get asked all the time by customers, "I need five 9s, do you provide five 9s of uptime? This means that the service must be available .99999 of the time. Let's take a look at what the "9"s really means, from the perspective of how much downtime is allowable to not exceed this expectation.

.99999 uptime means that out of 525,600 minutes in a year the service will be down less than a miniscule 5.3 minutes during that time. Four "9s" represents downtime of 52.6 minutes per year, less than one hour out of 8,760 hours. Achieving even four 9s without using a high availability infrastructure for the web site is highly unlikely. This is because, even when using the most reliable hardware and software web sites run on a single server, which is subject to failure. An excellent article titled "Five Nines: Chasing the Dream?" by Andrew Hiles addresses this in more depth. The author reviews the components required to deliver a web site and discusses the likelihood of downtime and the often overlooked risk and economic factors involved. This is an excellent article for gaining a better understanding of the issues and economics of uptime.

What about Grid or "cloud" computing? Is this the answer to maximizing 9s? Grid computing is touted as a solution for maximizing uptime. Under the grid concept a customer's service is running on multiple physical servers, allowing continuation of processing when one or more servers goes down. But Grid computing, as appealing as it sounds, is not the end all, be all solution. The Grid is very complex, meaning that it has a lot of moving software parts. The more services offered the more complex it becomes. These moving software parts sometimes fail or degrade, causing problems throughout the Grid. The Grid decreases the risk of hardware failures, but increases the risk of software failures. There are also access and control issues, which ultimately restrict what a customer can and can not do. Last but not least is the the 'hidden' cost of variable pricing for CPU and memory usage, which is built into all Grid offerings.

At eApps Hosting, we use the most reliable hardware and most advanced and reliable virtualization software available to run our VPS based service. Our servers will typically run for many months without incident. However, the servers will crash. Due to the sophisticated configuration required to run the VPS servers it often takes longer to recover from these crashes than a less complex server. It can sometimes take 6 hours or more to recover a severely crashed server depending on the circumstances. These are the facts that we deal with in the hosting industry, and we have not yet even addressed the impact of issues of downtime caused by the customer's application itself. Sometimes the customer's computer programs go off the tracks, causing issues inside of a VPS that we are neither aware of nor responsible for.

For these reasons, we have been working on high availability solutions for our customers that are most sensitive to outages. These solutions will spread your processing out over multiple physical servers, greatly reducing the risk of server failures. Our database replication and clustering, and new HTTP load balancing services offer valuable benefits now. We will continue to develop additional economical services designed to give you the 9s you need. Long live 9!

Tech Tips
In our March newsletter we offered information and tips on working with files from the command line. This month we provide tips on Ruby on Rails, and Using the Command Line.

Ruby on Rails

Ruby on Rails is a powerful tool for developing and deploying applications. As you gain expertise you will probably have situations where you want to improve the performance of your application. Consider the following tips:

1) Avoid the use of dynamic URL generation (link_to, url_for) since rails needs to look up the routes table and that may take time. Consider hard coding the controller name and the action.
2) Try to avoid the excess use of helpers since it adds overhead.
3) Consider using Rails Bench http://railsbench.rubyforge.org/ to do some testing for you *rails application performance*.
4) Consider using memcached to cache your model and library computation results.
5) Consider partial caching for your view partials.
6) Optimize your database queries. If you use ActiveRecord find, be careful with computation intensive sql queries that return a lot of data that you may not need. The method find may result in the execution of many more select statements than you realize.

For more information, check out these links:

Rails Performance:
http://www.infoq.com/articles/Rails-Performance

Rails Tips:
http://www.fortytwo.gr/blog/18/9-Essential-Rails-Tips

Using the Command Line
It sometimes seems that we have two kinds of customers, those that use the Command Line and those that do not. Those that do not probably have found that the Control Panel allows you to do just about anything you need to do without having to use the command line. But you ever need to install software, or do some serious work with files or directories, you may find that the command line is very helpful. The following tips may help you use the command line more effectively. For those new to the command line, please be careful with the commands you execute!

PuTTY - free client side software for command line access via SSH

Virtuozzo Power Panel - supplemental control panel that is accessible from the System tab of regular control panel, which has a built in SSH client for command line access

root - command line access by default is via the 'root' user. Login as 'root' and enter your 'root' password. If you do not know your 'root' password you can reset if from the Users and Groups area on the System tab of your control panel.

Tutorials for commands:

http://www.ee.surrey.ac.uk/Teaching/Unix/unix1.html
http://www.ee.surrey.ac.uk/Teaching/Unix/unix2.html
http://www.ee.surrey.ac.uk/Teaching/Unix/unix3.html
http://www.ee.surrey.ac.uk/Teaching/Unix/unix5.html
http://www.ee.surrey.ac.uk/Teaching/Unix/unix8.html

Please share this publication with your colleagues and friends!

To SUBSCRIBE to this publication, send an email with the subject "SUBSCRIBE" (in all caps) to:
newsletter@eapps.com

To be REMOVED from this publication, send an email with the subject "REMOVE" (in all caps) to:
newsletter@eapps.com


eApps Hosting | USA +1 (770) 448 2100 | UK +44 (0)20 8133 6940 | sales@eApps.com | support@eApps.com

Copyright © 2008 Strategic Systems Consulting, Inc. All Rights Reserved.