Cloud limits and your needs

cloud limitsPopular clouds like Amazon AWS and Microsoft Azure are console based orchestrators, enabling people to spin and administer the needed infrastructure themselves. They also come with a variety of features and add-ons, making the end solution very attractive.

Quite often, due to their scalability, these clouds appear like a massive computing resource, where performance limits are hard to reach.

One common performance issue people face relates to disk or storage performance.

During various tests, AWS or Azure have been seen, for example, doing thousands of IOPS and hundreds MBps of disk throughput at low latency. So one should expect that these environments may be the best place to run high performance virtual servers like SQL servers, which generally demand high IOPS and throughput at low latency.

The storage story: capacity and IO, these two are “not very good friends”

When it comes to storage, there will always be a concern that IO will be exhausted before space. From a business perspective, this will result in a waste of resources. Due to the automation introduced by the cloud consoles and the power the customers have to provision at will, if left without rules and caps, the entire environment will become oversubscribed with degraded performance as a result, leaving cloud providers struggling to deliver the IO without adding more unused capacity.

It is either the IOPS count or throughput that kills the storage. The throughput, if the storage is network based and not local, will also affect the network switches requiring fast switches with big buffers when throughput increases and bursts.

How far can you actually go into popular clouds like Amazon and Azure?

In the case of Azure, this document states the following:

with Premium Storage, your applications can have up to 64 TB of storage per VM and achieve 80,000 IOPS (input/output operations per second) per VM and 2000 MB per second disk throughput per VM with extremely low latencies for read operations

That means, a P10 Premium Storage disk attached to this VM can only go up to 32 MB per second but not up to 100 MB per second that the P10 disk can provide. Similarly, a STANDARD_DS13 VM can go up to 256 MB per second across all disks. Currently, the largest VM on DS-series is STANDARD_DS14 and it can provide up to 512 MB per second across all disks. The largest VM on GS-series is STANDARD_GS5 and it can give up to 2000 MB per second across all disks.

Cache-hits are not limited by the allocated IOPS/Throughput of the disk. That is, when you use a data disk with a Read-Only cache setting on a DS-series VM or GS-series VM, Reads that are served from the cache are not subject to Premium Storage disk limits. Hence you could get very high throughput from a disk if the workload is predominantly Reads. Note, that cache is subject to separate IOPS/Throughput limits at VM level based on the VM size. DS-series VMs have roughly 4000 IOPS and 33 MB/sec per core for cache and local SSD IOs.

So Azure actually place IO limits based on disk size and also conditions them based on VM size (like cores per cache hits).

If you continue down the page, you will see that in actual fact, a single disk performance is much lower, especially when the disk size is low, because they even limit throughput on performance SSDs. And things become somewhat complicated, especially if your priority is just having your application up and running in the cloud.

Azure scalability performance

For example, a disk of size 100 GiB is classified as a P10 option and can perform up to 500 IO units per second, and with up to 100 MB per second throughput. Similarly, a disk of size 400 GiB is classified as a P20 option, and can perform up to 2300 IO units per second and up to 150 MB per second throughput.

The input/output (I/O) unit size is 256 KB. If the data being transferred is less than 256 KB, it is considered a single I/O unit. The larger I/O sizes are counted as multiple I/Os of size 256 KB. For example, 1100 KB I/O is counted as five I/O units.

Azure associates an IOPS with a 256 block size, which is good as this is a rather large block IO, so if your SQL does 64KB block IO, it will not actually divide your IOPS limit.

What about AWS?

The situation is somewhat similar with Amazon, if we look at their stats. Amazon appears to be better equipped to combine performance and space, compared with Azure.

AWS performance and space

General Purpose (SSD) volumes have a throughput limit range of 128 MiB/s for volumes less than or equal to 170 GiB; for volumes over 170 GiB, this limit increases at the rate of 768 KiB/s per GiB to a maximum of 160 MiB/s (at 214 GiB and larger).

Amazon AWS Space

A Provisioned IOPS (SSD) volume can range in size from 4 GiB to 16 TiB and you can provision up to 20,000 IOPS per volume. The ratio of IOPS provisioned to the volume size requested can be a maximum of 30; for example, a volume with 3,000 IOPS must be at least 100 GiB.

Magnetic volumes provide the lowest cost per gigabyte of all EBS volume types and these volumes deliver approximately 100 IOPS on average, with burst capability of up to hundreds of IOPS, and they can range in size from 1 GiB to 1 TiB.

You can stripe multiple volumes together in a RAID configuration for larger size and greater performance.

Provisioned IOPS (SSD) volumes have a throughput limit range of 256 KiB for each IOPS provisioned, up to a maximum of 320 MiB/s (at 1,280 IOPS).

So with Amazon you get a somewhat better performance per disk size.

How does Webhosting.net deal with these limits when customers want more IO from less provisioned storage capacity and certain VM specs?

Our cloud has standard caps as well. For example we soft-cap at 1000 or 2000 IOPS per 100GB disk for regular VPS’s. IO limits are also dependent on the number of cores and vRAM subscriptions.

Webhosting.net is flexible and we work with our customers to help them configure and achieve the needed performance levels for their virtual servers and application(s). Our goal is to provide the customer the best possible experience and service, so that we retain the customer for the longest period and help them grow.

Let’s take a look.

Below we have two different, what we call, medium performance 8 cores/12GB RAM SQL virtual servers, each has a rather small data disk, approx 300GB. These SQL servers are hard on reads, and are IO throughput hungry with 64k blocks IO. They look somewhat similar, with a small difference – one is harder on throughput and the other somewhat harder on IOPS.

Both VMs are capped.

But in this case, capping was done by working with the customer ensuring that his VMs do not bottleneck and they do not exceed the budget by oversizing them. We do not throttle the burst by time and the VMs are able to max out as long as needed to their configured limit.

Also the cap is global, so it’s predictable; when the customer has random IO, the same high cap will apply, without needing the application. A similar situation will occur on Azure where cache hits have higher caps, compared to IO going to disk.

We also analyzed the IO block size pattern of the customer and set the IOPS cap based on this, rather than on a generic IO block size applying to all VPS.

What’s interesting about the two VMs is that the IOPS are not very high, it’s the throughput that’s high and they both burst aggressively. Such VMs are usually trouble makers for a service provider as they put strain on both the SAN and the network, especially with the random and high throughput IO bursts.

MSSQL 1

MSSQL 1

MSSQL 2

MSSQL 2

This translates into:

  • The network being fast enough to manage the bursts. Webhosting.net uses Arista deep buffer switches and the technical advantages of Arista’s EOS platform are:
    • #1 in 40G and 100G core networking
    • Captured 12.2% market share in core data center switching & growing
    • Most stable and resilient network operating system refined over 15-years
    • Single binary image runs across entire switch portfolio
    • On-ramp to SDN at the client’s own pace
    • Leader in automation for lowering OPEX & CAPEX in modern cloud networks
    • Open standards based with nothing proprietary in Arista’s EOS
    • Redefining network architectures by enabling extensibility to data center networking
    • Dramatically changes price for performance
    • #1 partner to VMware w/ Arista as the underlay for VMware’s vAirCloud platform
  • We protect both the SAN and the network by introducing local storage acceleration with PernixData FVP software.  FVP handles storage reads and writes locally in SSDs.  This enables us to easily scale-out performance by simply adding SSDs to an ESXi host.  It also offloads I/Os from the network and SAN (see figure below)
  • Latency is also minimized with FVP.  By handling storage reads and writes locally, we can minimize storage response times, which maximizes VM performance

For example on one cluster of ours, Pernix saved quite a few resources from the SAN and network.

Pernix resources saved

So essentially what we did, was to provide the customer with performance at a desired space usage, without forcing them to use X space for Y IO and high end expensive SSDs or a certain amount of cores or RAM. The customer did not have to figure out their IO patterns and do the calculations themselves, we did all of this for them by looking at the application performance and latency on the backend).

If we look at Amazon and Azure:

  • using Amazon, the customer could have run the VM, but only on Provisioned IOPS (SSD) Volumes. What we have not illustrate above, is that the VMs without caps can go upwards of 450MBps per 300GB disk. Amazon per disk limit is 320MBps
  • using Azure, the VMs would not even fit when most IOs are served from cache, although with random IO this will not be the case due to disk size IO limits (remember that with Azure the reads that are served from the cache are not subject to the Premium Storage disk limits, higher limits apply, but eventually when the customer will do random IO, it will hit the lower limits of the disk)

hit rate and eviction rate

  • customers may not always have the skills, expertise, motivation or time to do the math and/or the research on the different cloud providers and individual nuances, rather the customer’s objective was to simply have their applications perform in the most cost effective environment

Live increasing of resources

One key thing within a cloud compared to a dedicated physical deployment, is the ability to hot-add extra resources, for example increasing the number of CPU cores or amount of RAM or by increasing disk size.

For example, the application starts to put load on the CPU and extra cores are needed immediately. If the OS supports this, and many OS currently do, webhosting.net can add more cores, memory or increase the disk size on the fly without requiring a shutdown or reboot, which would typically bring down applications which are required to be always up, and prevent any downtime.

For example Azure currently does not have or plans to have the CPU or memory hot add capability capability according to their site.

Webhosting.net can also live migrate virtual machines to faster resources.

A little extra

On a regular day at Webhosting.net, a customer calls saying that for various reasons he lost important files or his VPS has issues resulting in a request for a restoration of the machine.

On various clouds, customers are responsible for their own backups. But sometimes, they may not have a backup available or in fact their backups have been compromised.

Apart from actually helping the customer to backup their applications and virtual servers, there is a little extra service we offer. We can help restore files from our own snapshot backups, provided this is in our backup restore points, even if the customer has not subscribed to a backup service. Many times we have restored accidentally deleted files or compromised virtual servers for customers who saw no value in having a backup plan to start with.

Remember the Cloud Space misfortune where an attacker took control of their Amazon account and deleted all their stuff including their backups, even when they were relatively fast to react? Well, we could have restored pretty much all of their data in a matter of minutes, from our own backups.

Summing it up, your tailored cloud solution

By combining VMware, high performance storage and low latency networking along with Pernix acceleration, Webhosting.net’s VMware cloud offering can take massive loads of IO, serving those directly from local host SSDs and increase the limits of the IO per capacity.

The result is that if needed, we offer more IO and throughput from a smaller sized VM without forcing the customer to overpay for an oversized virtual server.

Every cloud solution has its limits. Webhosting.net works with its customers on a continuous basis to find the best balance of budget and performance.

Learn more about our customized cloud solutions and how we can work with you to determine the best fit for your business.

Posted in Arista, Cloud Hosting, Cloud Servers, Pernix, VMware | Tagged , , , , , | Leave a comment

Cloud Keeps Miami Businesses Running During Disasters

Naples, UNITED STATES: Palm trees at a hotel bend in the fierce winds, 24 October, 2005, as Hurricane Wilma slams into Naples, Florida. Hurricane Wilma pounded Florida with torrential rain and some of the strongest winds in its arsenal early Monday as it came ashore in the southern US state, threatening death and destruction. An Air Force reconnaissance plane measured Wilma's winds at 193 kilometers (120 miles) an hour, slightly weaker than when it made landfall, but still making a strong category three storm. "It made landfall at 6:30 (1030 GMT) at Cape Romano," Eric Blake, an official with the National Hurricane Center, told AFP.Cape Romano is about 32 kilometers (20 miles) west of Everglades City, Florida. Landfall marks the official arrival of a hurricane's when the center of its eye reaches land. Quiet usually reigns in the eye of such a storm, with no significant winds, which resume with a vengeance with the back wall of the eye hits land. AFP PHOTO/Stan HONDA (Photo credit should read STAN HONDA/AFP/Getty Images)

As a Miami-based small business, you may think that the best strategy when it comes to moving your technology to the cloud, is to put it off until it seems less scary. The truth is that moving to cloud takes some consideration and planning. However, one area that you may consider as a starting point is a hybrid cloud Business Continuity solution.

This brief article will take a look at some of the added benefits that a back up and disaster recovery (BDR) and business continuity solution, based on a Hybrid Cloud Backup, can deliver to your small business.

4 Reasons for a Hybrid Cloud Business Continuity

  1. Security: With a hybrid solution, your organization’s essential data is backed up locally and then an additional backup is replicated off-site, providing additional data security. Then, your in-house data is protected by redundant sets of information with the local device being the first line of defense.

In most cases, three distinct copies of each of your file exist – on the workstation or server, on a local device, and in the public cloud. In addition, encrypted files are stored off-site are available in case an unforeseen event, like a natural disaster, occurs. This should give you and your organization the peace of mind to know that your data is always accessible no matter what the circumstances

  1. Storage: Your organization also benefits from local storage flexibility, addressing a key concern that many small businesses have with a hybrid cloud solution.

Since cloud storage is far less expensive, your organization can retain more data on the cloud and have a shorter retention locally. Organizations like yours are often concerned about space on local storage devices, and the cloud gives you the chance to make decisions about how long to store backups on their local devices.  You no longer have to worry about purchasing more local storage, nor do you have to make difficult choices about what files to delete when you are running out of space.

  1. Savings: One of the biggest concerns you may have when making any sort of technology decision is the bottom line. Fortunately, a hybrid cloud backup solutions is cost effective.

The hybrid model keeps costs low for you. Why? Because you only need to purchase a local unit, while the rest of the infrastructure lies in the cloud.  You also won’t have to worry about purchasing expensive hardware, which will cut down on your capital expenditures.

  1. Virtualization: In the event of a disaster, be it natural or technical, you must be confident you’re your data is backed up and that it could be restored in a timely manner. When your small business experiences down time, you stand to lose a great deal of money as your technology support strives to bring operations back online.

In these instances, virtual machines (VM) can be the difference between downtime and uptime. VMs are copies of workstations or servers running on a server in the cloud. Every aspect of the duplicated machine can be run from this virtual machine that lives in the cloud, and is therefore not vulnerable to localized phenomena, like a hurricane or other natural disaster. So for instance, your organization, can failover to the cloud to avoid downtime, keeping your data and operations running smoothly.

Hybrid cloud business continuity solutions offer your Miami-based small business the best of both worlds: local and in the Cloud.

Give us a call and find out how to receive a free assessment on how a Cloud Business Continuity solution can help you business survive a unforeseen disaster. 

Posted in Business Continuity, Cloud Hosting, Cloud Servers, Disaster Recovery, Miami Datacenter, VMware Disaster Recovery | Tagged , , , , , , , | Leave a comment

6 Disaster Recovery Tips for Miami-based Businesses

disaster recovery_business continuity

According the FEMA, 40% of businesses are affected following a serious storm, earthquake, flood, or hurricane. As a Miami, FL-based business experiencing downtime due to a server crash, a power outage, a natural disaster such as a hurricane, and causing the inability to work, this would mean significant lost to revenue.

When evaluating the need for a disaster recovery planning, businesses especially in the Law, Finance, and Healthcare industries must address their backup and continuity needs based both on 1) compliance and regulation issues (if applicable), as well as potential 2) loss of revenue. Typically, the cost of downtime is based on:

  • Cost of continuing without the data
  • Cost of recreating the data
  • Cost of notifying users in the event of a compromise
  • Loss of reputation
  • Fees incurred due to compliance breach (for Law, Financial, Healthcare firms)

The potential for lost is a big reason why preparing for the worst and making proactive decision before disaster strikes will increase the chances that the worst disaster will have a minimal impact on your firm’s ability to continue operating.

Use the below checklist to both plan and prepare for a disaster:

  1. ASSESS THE PROBLEM AND ITS IMPACT ON YOUR FIRM

Every disaster is different. Before doing anything, understand the underlying issue and how it will impact your client.

  • Is the issue local to one machine, or does it affect your entire system?
  • Have files been deleted or are servers /workstations down?
  1. ESTABLISH RECOVERY GOALS

Recovery is what makes a Disaster Recovery solution different from a simple backup product. Be sure to plan out your firm’s road to recovery.

  • Restore the system, the data, or both? Should time be spent recovering files and folders before system recovery?
  • Identify critical systems and prioritize recovery tasks
  • What date/time should you recover from?
  1. SELECT THE APPROPRIATE RECOVERY TYPE(S)

To get to your “road to recovery”, the appropriate recovery procedure must be followed. Think about which approach best will get you to your end goal.

  • File restore
  • Local virtualization
  • Off-site virtualization
  1. VERIFY THE RECOVERY AND CONFIRM FUNCTIONALITY WITH USERS

Once a recovery is verified, confirm that it interacts positively with users.

  • Test network connectivity
  • Ensure all users can access resources and applications in the virtual environment
  1. RESTORE THE ORIGINAL SYSTEM(S), IF NEEDED

If the original system(s) needs to be restored, decide which restoration process will work best.

  • Bare metal restore
  • Virtual machine restores
  1. SELF-ASSESS AFTERWARDS

After it’s all said and done, take a step back and think about it: How well did your team do? What could you have done differently?

  • What precipitated the failure?
  • What ongoing issues need to be addressed?
  • What can be done better in future Disaster Recovery scenarios?

Please contact us for additional assistance or learn more about our disaster recovery solutions here.

 

Posted in Business Continuity, Disaster Recovery, VMware Disaster Recovery | Tagged , , , , | Leave a comment

4 Reasons Why Miami-Based Businesses Benefit from VoIP Phone Service

VOIP2

The growing use of mobile and cloud technologies within small and medium sized businesses have also given rise to the number of businesses using hosted Voice over Internet Protocol phone service or more commonly known as VoIP.

As of matter of fact, it is estimated that 65% of business will use some form of VoIP within the next few years. Given this fact, VoIP providers have worked to bring innovative features that businesses and their employees require to compete in today’s environment.

One such innovative feature is that VoIP services can integrate with cloud-based applications such as Salesforce.com and provide the features needed for today’s increasingly mobile and remote workforce.

Here are four additional benefits that businesses can expect when they move to a hosted VoIP phone system.

  1. Cost savings. Hosted VoIP is far more cost-effective than their traditional phone system counterparts. First, service is less expensive because calling uses the Internet instead of copper wires. Second, there’s no expensive hardware to buy and maintain. Third, businesses can purchase and use the amount of service they need without having to pay for excess capacity.
  1. Mobility. Hosted VoIP easily works with mobile phones. First, it works through Smartphones via a dedicated app or the web. Second, it works wherever there is Internet access, even where cellular coverage is sparse.
  1. Voicemail anywhere. With a hosted VoIP system, voicemail can be checked from any web browser. While this sounds like a minor reason to use hosted VoIP, it can have a huge impact in day-to-day business life, especially for business professional that are on the go.
  1. More functionality. Along with everything we’ve listed, hosted VoIP solutions come with just about every calling feature a business could need, and usually without additional cost. This could include call screening services to simultaneous ringing on multiple devices and dynamic caller ID functionality. Not to mention integration with other web services.
Posted in VoIP | Tagged , , , , , , , , | Leave a comment

How Miami Small Businesses Benefit from a Hybrid Cloud Solution

Hybrid-cloud

Today’s hectic businesses environment requires a backup solution that delivers much more than a traditional local only strategy. Given the constant risks your small business faces with your important data, it’s critical for you to ensure 1) that your data is protected and 2) that your data can remain operational in lieu of a system disruption. That’s where a hybrid cloud-based backup solution comes in.

According to analysts, hybrid solutions are the top desired features by today’s small businesses.

4 KEY REASONS WHY A BACKUP, RECOVERY & BUSINESS CONTINUITY SOLUTION BASED ON A HYBRID CLOUD MODEL IS PREFERRED

  • Security

With a hybrid solution, your company’s essential data is backed up locally and then an additional backup is replicated off-site, providing additional data security (data insurance if you will). The in-house data is protected by redundant sets of information with the local device being the first line of defense. In most cases, three distinct copies of each of your files exist – on the workstation or server, on the local device and in the public cloud.

  • Storage

Your organization also benefits from local storage flexibility, addressing a key concern that you may have with a hybrid cloud solution. Since cloud storage is far less expensive, you can retain more data on the cloud and have a shorter retention locally. Small businesses like yours are often concerned about space on local storage devices, and the cloud gives you the chance to make decisions about how long to store backups on your local devices.

You won’t have to worry about purchasing more local storage, nor do you have to make difficult choices about what files to delete when running out of space. Once again, it’s important to emphasize the peace of mind that this option provides. It eliminates a pain point that organizations have struggled with: limited resources dedicated to storage.

  • Savings

One of the biggest concerns you may have when making any sort of technology decision is the bottom line. Fortunately, hybrid cloud backup solutions are cost effective. The hybrid model keeps costs low. Because you only need to purchase or rent a local unit while the rest of the infrastructure lies in the cloud. It’s important to look for an IT company that could provide you with options.

  • Virtualization

In the event of a disaster, be it natural or technical, you should feel confident that your data was backed up, and that it can be restored in a timely manner. When organizations experience downtime, they stand to lose a great deal of money as IT strives to bring operations back online. In these instances, virtual machines (VM) can be the difference between downtime and uptime. VMs are copies of workstations or servers running on a server in the cloud.

Every aspect of the duplicated machine can be run from this virtual machine that lives in the cloud, and is therefore not vulnerable to localized phenomena, like a weather disaster. For example, in a disaster scenario, your organization’s server and or appliances could failover to the cloud to avoid downtime, keeping data and operations running smoothly and consistently, ensuring business continuity even when the winds are strong and the weather fierce.

Hybrid cloud backup solutions offer small business and many other organizations the best of both worlds, and play an essential part of a comprehensive backup, recovery and business continuity strategy. The added benefits of Security, Storage, Savings and Virtualization should make the transition to a hybrid cloud solution a little easier, and hopefully alleviate any fears you may have of the cloud.

Anton Resnick is CEO of WebHosting.Net.

Posted in Cloud Hosting, Cloud Servers, Disaster Recovery, Web Hosting For Small Business | Tagged , , , , , , , , | Leave a comment

5 Reasons to Choose Virtual Desktops for Your Miami Business

Desktop-Virtualization1

Since the beginning, desktops have caused endless hassles for small businesses like yours. Aggravations such as fixing a PC after a virus has been downloaded or having to upgrade all the Windows machines to Windows 10 or just the fact that managing PCs is time consuming and distracting for whoever handles it, taking them away from more important duties.

The reality, that manufacturers have failed to share with us in their marketing, is that managing desktops is a never ending aggravation. The good news is that today there is a solution to your frustration. The solution is a Virtual Desktop and it may just be what the doctor ordered.

Virtual Desktops have been around for several years, however, recent trends in Cloud computing, Bring Your Own Device (BYOD) and advances in virtualization technology have made Virtual Desktops a viable option for a small-and-medium-sized business like yours. Making it possible to finally let go of your many desktops and making life easier for everyone.

The following is an overview of what benefits you can expect from utilizing Virtual Desktops for your business.

Cost Savings

By migrating to Virtual Desktops, you can extend the life of your existing desktops and postpone large capital expenditures like purchasing new desktops or on-premise servers.

Control

With Virtual Desktops you are also in more control than with traditional desktops. Your important data is stored centrally giving you the ability to control and adjust access to the applications or data.

Security

Virtual Desktops also provide multiple layers of security. The data centers, where the servers that run the Virtual Desktops are located, are protected 24/7 by live security guards. Furthermore, access to the Virtual Desktop is encrypted and thus protected. Data is backed up regularly and retained per your unique requirements.

Agility

Virtual Desktops also give your business more agility and flexibility. For instance, new software can be rolled out quickly and software updates are done automatically through a centralized management dashboard.

In addition, with Virtual Desktops you can give your employees, contractors, volunteers, access to your applications and data (you decide who as access to applications and data) using their own devices (a.k.a. Bring Your Own Device). By doing this, your employees can securely use your data and applications regardless if they use a Windows laptop, Mac or Apple iPad, or their own laptop, or work from home on their desktop.

Lastly, if a natural disaster, weather, or sickness prevents your workers from getting to the office, you have flexibility to allow remote work from any location without hampering productivity.

Productivity

With Virtual Desktops, every one of your employee can be productive from anywhere, anytime through virtually any device. Whether it is a laptop, desktop, iPad, or Android device – your employees can get to their business applications and be as productive as they would be if they were in the office in front of a PC.

Lastly, with Virtual Desktops your IT gets easier too. You can choose to co-manage or hand over management of the Virtual Desktops to companies like Webhosting.Net. Either way, Virtual Desktops lower your capital expenditures and give you better control, security, agility, and productivity than ever before.

See our Standard, Pro and Advanced Virtual Desktop plans here.

Anton Resnick is CEO of Webhosting.Net

Posted in Cloud Hosting, Cloud Servers, VDI_Cloud_desktop, Virtual Desktop Windows, Web Hosting For Small Business | Leave a comment

Ruby on Rails hosting is just one of our specialties

JelasticRubyThe emergence of programming-based hosting environments allows for the rapid development and testing of customized Web site applications. Most dependable and experienced Web hosting service providers, like Webhosting.net, are now providing specialized hosting for programming-based environments such as “Ruby on Rails”.

Continue reading

Posted in Cloud Hosting | Tagged , , | Leave a comment