EDITORIAL: Does Every Cloud have a Silver Lining? Part 3September 30th, 2012
In Part 3 of this 3 Part Series, Does Every Cloud have a Silver Lining?, we discuss application performance issues in cloud computing.
In the initial planning, prior even to security, organizations have a myriad of applications, some better suited to the cloud environment than others. Some applications, because of the way they are architected, are not suited to run in a virtualized environment. Therefore, whether you are working in a B2B or a B2C group, all applications need to be evaluated and it should be determined which will be implemented in the cloud. Obviously, the types and number of applications running within the cloud will greatly impact the performance. Your team’s evaluation criteria should include technical requirements of the applications, cost savings, and how critical it is to the company mission.
As an example, take a legacy, proprietary, in-house application currently running on a Unix-based system. Though there may be benefits to porting to a private cloud architecture, it is highly likely that it may not be technically capable of operating in a virtualized environment. In this case, your team would have to consider a complete application rewrite or purchasing a commercial product.
A main performance concern involves virtualized servers. Depending on where your data resides (i.e., on a virtualized server in Europe, versus one in the U.S.), end users will experience different application performance levels. So before implementing a private cloud, an organization must decide on the best location(s) for the data.
Architecture, Information Movement and Pre-Development Testing
According to InfoWorld.com [ http://www.infoworld.com/d/cloud-computing/3-ways-improve-cloud-performance-203468 ] performance is a larger issue than many expected with cloud computing, but you can solve this problem if you keep the following issues in mind:
- First, focus on the architecture and planning. At the end of the day, you’re dealing with widely distributed, loosely coupled systems where the data, the application, and the human or machine that consumes the application services could be thousands of miles apart. Thus, you need to create an architecture designed explicitly to deal with the latency. Techniques include using buffers or a cache, as well as moving components that constantly chat closer together physically.
- Second, minimize how much information moves among the core components of your cloud-based applications. In on-premises systems, you’re used to having the bandwidth and the performance to toss huge messages back and forth within the enterprise. Likewise, when dealing with cloud-based systems, moving information within the cloud typically does not cause that much latency. But handling latency across cloud providers and between the cloud and the enterprise can be a challenge.
- Third, test before you buy. In many cases, the latency issues can’t be easily solved because their causes are engineered into the cloud platforms themselves. You need to undertake basic proof-of-concept testing, including performance and reliability, before you select your cloud providers. Make sure to test with real-world data loading, and don’t be afraid to test-drive several providers. You’ll find that they’re all at least a little different.
This concludes our series, Does Every Cloud have a Silver Lining?. If you would like additional information on how your skills match our B2B cloud computing and B2C application programming job listings, please feel free to contact us at the number below.