Software developers and Software as a service (SaaS) providers, who have long benefited from significant savings in cloud computing, now have many options for configuring public, private, and hybrid cloud infrastructures. Though permutations and combinations of the many options are available, it could be difficult to set up a cloud for maximum price and performance.
Achieving satisfactory scaling performance while retaining the benefits of the cloud can be even more difficult in a multi-tenant environment. This is the place to be at the application level for the SaaS provider or IT Support Services, as well as at the infrastructure level for the cloud service provider (CSP) like IT Support Services.
Perhaps the most complex of all applications for optimizing peak price and performance are those that use the database. The reason these applications present such a problem is not technical; because database licensing mechanisms often make high-performance configurations very expensive — sometimes this is prohibitively expensive, which is the main reason.
This article can help software developers of IT Support Birmingham as well as other IT Support Services and SaaS vendors to maximize pricing and performance in even the most difficult cases where a database application for a multi-user SaaS application running in a cloud environment.
Horizontal and vertical scaling
Due to the risk of oversimplification, there are two main options for scaling performance in the cloud infrastructure: vertical and horizontal. Scaling performance means adding more processing power by adding more virtual machines, more sockets or processor cores, and/or more servers.
The main problem of scaling performance for almost all applications is the necessity of additional software licenses. This is clearly not the case for applications that use only open source software, so hyper centers usually use Linux and Xen and often write all or most of their applications on their own. Horizontal scaling becomes an inevitable option at some point, but it should be used only after all more economical scaling options have been exhausted.
Vertical scaling may or may not include additional licensing fees (although virtualization has made this more common for commercial software). One of the notorious exceptions to the “free” scaling option is databases, which are typically licensed based on the number of virtual machines, sockets, and/or cores.
However, there are ways to increase application performance at no additional cost per database license. For example, an increase in processor speed can have a positive effect on most applications. But this popular method hardly improves transactional database applications, where I / O are usually the bottleneck.
Adding more caching memory can improve performance for most applications, but it also often provides only minor improvement with the I / O blender created on virtualized servers. However, with its terabytes of capacity, the flash cache can deal with the problem of I / O mixing, including for applications with an intensive transaction, which makes this option viable.
Using direct-attached storage is often seen as another way to improve performance for most applications. But since such configurations undermine the scalability and cost savings that arise from using shared storage, direct-attached storage may not provide an improvement in overall price and performance.
There is another “license-free” way to improve performance, including for databases, and includes eliminating the root cause of an I / O bottleneck directly.
Hard disk (HDD) has served the information technology industry well for over 50 years, but its I / O bandwidth is limited by the very nature of the mechanical design required for magnetic media. The main reason is the rotational latency of the rotating disk, and although this is not a problem for sequential reads and writes, it has a significant adverse effect on the performance for random access required in database applications. Thus, even the fastest spinning hard drives offer only a small improvement in database I / O operations per second (IOPS).
However, IOPS can be improved by using other media: flash memory used in solid-state drives (SSD). The difference between the hard disk and SSD performance is quite deep. For hard drives rotating at 7200 or 10,000 rpm, IOPS is typically in the range of 100-200. For SSD, IOPS can be quadrupled to more than 1,000,000. This license-free option becomes an obvious choice for improving price and performance using I / O-intensive database applications.
The ability to achieve significant improvements in performance has led to the fact that an increasing number of SSD solutions and an array of flash memory are available. Although comparing all these different solutions is beyond the scope of this discussion, there is one solution that deserves to be considered here: maintaining the quality of IT Support Birmingham (QoS) to ensure performance in a multi-tenant environment.