Getting Real with Ruby: Understanding the Benefits

By Jennifer Marsh

Jennifer Marsh is a software developer, programmer and technology writer and occasionally blogs for Rackspace Hosting.

Ruby is an advanced language for many programmers, but it’s a powerful language used to make dynamic interfaces on the web. Dynamic web hosting shouldn’t be taken lightly because security holes still exist. A good cloud web host will offer a safe environment for development while still offering scalability and usability for Ruby programming, testing and deployment.

Space for Testing and Development

Web applications can grow to several gigabytes. For newer Ruby developers, it’s helpful to have enough storage space for backups, so a backup can be made to support the deployed code changes. Ruby is an interpreted language, but a bug can still mean a lot of time and resources devoted to discovery and fixing. Instead of emergency code reviews, the developer can restore the old version of the application before troubleshooting bugs.

Support for Database or Hard Drive Restoration

In severe cases, the application corrupts the data stored in the database. A good web host will backup the database and then restore it when the site owner needs it restored. This is especially useful in emergencies when the site gets hacked or data is corrupted due to application changes or hard drive crashes. The web host should support the client, including in cases of restoring database and application backups.

Find Support for Ruby

To run Ruby, the web host must support the framework. Check with the hosting company, and verify the host allows execution of CGI files. A good way to check is to find a host that has FastCGI and specifies that it supports Ruby and Ruby on Rails. Ruby is typically supported by Linux hosts, but some Windows hosts will support Ruby. Ruby is an interpreted language like Java, so it can run on any operating system.

Ask for Shell Access

Ruby configuration can be a bit hairy to configure. If the programmer is familiar with the language, having shell access helps speed up application configuration. Not all hosts will offer shell access, but with extended or advanced service, most hosts will oblige the webmaster. Shell access gives the webmaster more control of the Ruby settings.

The most important part of a web host is customer support an up-time. Most web hosts have a contract with the client that promises a percentage of up-time. This should be around 99%, meaning the website will be up for visitors. Check with the host for contract specifics before purchasing cloud hosting for Ruby.

Challenges in Virtualization

By Sue Poremba

Sue Poremba is a freelance writer focusing primarily on security and technology issues and occasionally blogs for Rackspace Hosting.

Virtualization has been a boon to enterprise, as it makes IT operations more efficient. Some like its green qualities as virtualization saves on energy consumption, while others appreciate the storage capacity, as well as the data recovery solutions for if disaster strikes.

However, the virtual environment is invisible, and with that come more challenges in making sure it runs smoothly. The cloud might be simple to setup, but it becomes more complex over time. In addition, the more machines and data involved, the more difficult it can be to monitor for space, CPU spikes, network security and other indicators.

“If there is a bug or a discrepancy, I need to know that there’s a problem before my customer does. And though that is the biggest challenge, it’s also a great opportunity,” Russ Caldwell, CTO, Emcien Corporation said.

One of those challenges is making sure storage in the virtualized environment is adequate. “We focus on storage and database environments that scale as the customers grow,” said Caldwell. “Determining how fast customers grow and change is the biggest factor for determining the adequate storage size.”

Companies looking at virtualization solutions need storage solutions that are flexible so they can add or remove storage, as needed. Even though it may have been the right size in the beginning of a project, things change, and a flexible virtualization tool can give that peace of mind when things change. For example, when we’re working with slow-moving manufacturing data, we can determine the adequate storage size easier than when we’re working with hundreds of millions of bank nodes, where the growth is much more dramatic.

The key, according to John Ross with virtual solution company Phantom Business Development at Net Optics, is to truly assess the performance of the servers and the requirements of the virtual machines. This requires monitoring to be in place for the life of the systems to predict utilization and to modify placement based on performance. “When this is not accounted for, it can appear as though there is high CPU utilization on the hosts as well as the VMs,” said Ross, “With the use of protocols such as NFS and ISCSI, it can put quite a load on the network.”

Companies moving to the cloud also have to change how they think about networking. “It can be hard to understand how network connection works when there aren’t wires to simply plug it into a box, but instead virtual, invisible connections that need to be managed through APIs or online interfaces,” said Caldwell. One of the challenges for a company with multiple clients is keeping client data separate from one another. Grouping machines together and isolating them in their own network is the best approach in tackling this challenge. Using excellent monitoring tools smartly can ensure that the network is as reliable as possible.

“Network connectivity comes down to whether the network connection is a single point of failure: If your virtualization solution is off-site, it’s only as good as the quality of the Internet connection between you and your provider,” said William L. Horvath with DoX Systems. If you have a single connection between you and the Internet, that’s one problem. (You can reduce the risks by contracting with two or more ISPs and getting routers that support trunking.) Likewise, if your virtualization provider’s facility is in a single geographical location (say, Manhatten) that loses functionality for an extended period of time due to some natural disaster, you’re hosed. Our Chamber of Commerce lost access to a cloud-based service not too long ago because someone in the data center, which wasn’t owned by the service provider, forgot to disable the fire suppression system during emergency testing, which unexpectedly destroyed most of the hard drives in the servers.

To avoid the challenges involved in virtualization, Ross provided the following tips:

1. Plan on virtualizing everything — not just the servers but the network, the storage, the security … everything!

2. Standardize everything, from the operating systems on upwards through middleware and applications. The more uniformity exists within configurations, the easier it will be to scale and move these workloads optimally around the environment.

3. Ensure network capabilities are met. This will dynamically change and collapse. There will be huge flow changes as utilization and cloud are adopted.

4. Implement resource monitoring. Existing legacy tools will not provide the data or detail needed.

5. Implement a decommissioning process. Ross repeatedly finds several unused machines running. In a virtual environment, this can become a major issue, consuming resources and driving up costs.

6. Plan for backup and disaster recovery. This will drastically change in virtualization and must be addressed.

7. Train your team based on what the management will look like, not on the migration.

The cloud solves certain problems really well and it allows for SMBs to have the flexible infrastructures that they require — without a lot of capital or hardware or payroll costs. Using the cloud wisely with the right tools, companies can get a leg ahead.

Why Cloud Servers is the choice for Windows VPS

By Jennifer Marsh

Jennifer Marsh is a software developer, programmer and technology writer and occasionally blogs for Rackspace Hosting.

Businesses basically have two choices for operating systems when shopping around for cloud servers: Windows or Linux. While Linux is cheaper and runs on many enterprise servers, businesses that run internal applications for a Windows desktop can benefit from Windows cloud servers.

The IT department and users will understand the platform more easily than were they to learn Linux. But launching an intuitive platform is only one of the advantages of cloud servers in a Windows environment.

Multiplatform Support

Business that have been online for several years probably have some legacy code in use in various departments. Fortunately, cloud servers can support multiple platforms for businesses moving towards a Windows platform.

Integration with Microsoft Azure

The latest Windows Server 2012 includes a cloud feature called Azure. Azure gives businesses the tools to create platforms as a service (PaaS) and integrates cloud server technology within an internal network. To take advantage of the Azure service, the business must setup a cloud hosting environment. Azure is more easily integrated with a corresponding Windows cloud host. The IT manager can use Microsoft’s wizard to install and configure the Azure server for cloud hosting.

More Cost Efficient for Support

Because most IT infrastructures have a lot of moving parts, system errors, downtime and desktop support can be expensive, especially when hosted internally. Having onsite personnel for any company can be expensive, and too little support can cost the company money. Hosting Windows services in the cloud eliminates much of the cost of having onsite support staff available seven days a week, 24×7. Check the contract for specifics before signing up for any particular service.

Additionally, hosting in the cloud means the company only pays for the bandwidth and server resources used each month and not a flat fee amount. Any cloud host charging a flat fee is in fact not a true cloud host. By paying for only what is used, businesses can cut down on IT infrastructure costs. As the business grows and more revenue is brought in, the cloud costs will also grow, but these costs only grow with the business’ success.