Jun 22, 2009

Billion Events per Day, Israel 3rd Java Technology Day, June 22, 2009

We presented today at the Israeli 3rd Java Technology Day, the largest SUN Microsystems/MySQL event in Israel. We presented here the essentials parts of building a real life web/enterprise system that needs to handle the performance needs of 1 billion events per day (a case study from the ad networks billing systems). We presented the adoption rate in the internet, Load Balancers (HAProxy, Apache, Radware, F5, Cisco), Web Servers, In Memory Database (IMDB inc. Memcached, Gigaspaces, Teracotta and Oracle Coherence) and finally Sharding (inc. Veritical, Static Horizontal and dynamic). A great example for a performance boosting architecture.

Feel free to take a look at the presentation:


Jun 16, 2009

Make Your Web Server Do More

Hi All,
This time we at RockeTier want to reveal a small secret, you should choose lighhttpd.
Lighttpd is an optimized web server for high performance environments. It has cpu-load effective management, small memory footprint compared to other web-servers and it was chosen by may Web 2.0 leaders such as meebo, wikipedia and YouTube. It is well optimized to handle AJAX applications and large number of sessions.
Its license is plural (the revised BSD license) and the product gains a significant acceptance in the market.

We also recommend you to take a look at their benchmarks. Somehow most of the players in the market usually do not expose theirs...

Keep Performing,
Moshe Kaplan. RockeTier. The Cloud and Performance Experts.

Jun 2, 2009

Tuning LAMP Architecture

It seems that more and more firms are moving to the LAMP architecture these days. Therefore, there is a buzz regarding Apache, Linux, PHP and MySQL tuning
However, since every technology has it own limitations, the need for extreme architectures that overcome their limitations is on the rise as well (I wrote and presented pretty much regarding Sharding, Cloud Computing, In Memory Databases in last few days).

However, it is always good to get back to basic and remember the small advices from smart people how to tune the products themselves. Therefore, I gathered several recommendations to help you get a little bit more from your own application:
LAMP tunning: I would add to this set of articles that you should make sure that you place all your rich content in a CDN, Amazon S3 or any other alternative and not on your own server.
Some information about Apache tunning and even more about HAProxy tuning (RockeTier software based favorite load balancer).

Keep Performing
Moshe Kaplan. RockeTier. The Cloud and Performance Experts.

May 13, 2009

Cloud Slam 09': The Pareto Illusion

A few weeks ago we presented in Cloud Slam 09' cloud services cost analysis, and how it can be minimized using performance boosting. We also discussed in this presentation databases in the cloud and Sharding based on participants questions.
Feel free to take a look at the recorded presentation as well as the abstract, which are available at Cloud Slam site as well.

The Pareto Illusion - Why we end up paying too much for cloud services and what can we do about it? Moshe Kaplan and Ayal Baron

Video of the session:



Presentation Abstract:
Cloud computing is a whole new game: we are no longer talking about equity and CapEx, but regarding OpEx.

So why are you still paying so much every month for your cloud services? How can it be reduced? What are the industry state of art methodologies to gain more out of your cloud service provider? How to do more with same, and how to gain a better ROI for your project? and last but not least, how to help saving our world.

In this presentation we'll discuss how can you make your software more efficient, and how to focus on core components of the system and achieving 80% boost in 20% effort.

Keep Performing,
Moshe Kaplan. RockeTier. The Cloud and Performance Experts

Apr 30, 2009

Can you monitor Java performance w/o affecting the system itself?

The Conservative Way
Well, the popular way to monitor code performance and detect bottlenecks is using Profilers. However, profilers insert small portions of code into the code base in order to measure each function processing time. For functions that require relatively long time to complete, this issue can be neglected. In other cases, when a function requires a very short time to complete and its called many times, this behavior can lead to wrong conclusions.

Usually in order to overcome this issue, you should carefully tune your measurement period in order to avoid over measurements.



The Alternative Way
We at RockeTier, are discussing several business opportunities with IBM these days. During these discussions, we noticed a great tool by Jinwoo Hwang from IBM. IBM offers an alternative way. Its tool analyzes Windows (yes, they support only Windows) performance log and Java thread dumps and automatically detects Java threads that consume the majority of system resources.
It is even more interesting since this tool supports both system monitoring and Java thread monitoring. Each can be done separately. Therefore, you gain flexibility, detect the problematic code area and focus on it in your debug environment w/o affecting the production system at all.

You can download this tool from the IBM site.

Keep Performing,
Moshe Kaplan. RockeTier. The Performance and Cloud Computing Experts.

Apr 28, 2009

Managing Your Resources in the Cloud

One of the major issues while working in the cloud is managing your resources.

Why?
When you have your servers in your own data center, you can touch them, see them and count them. And of course you pay a lot of equity for them.
When migrating to the cloud your CapEx is finally zero, however, if you'll not manage your resources wisely, your OpEx will soon right and be larger than your old CapEx budget. Moreover, when working with a contractor (yes, your cloud computing provider is now your contractor), you should manage it as a contrator. meanning that you should monitor your resources and verify the service level.
Moreover, many cloud clients are soon will find themselves runing dozens of servers, which in enterprises usually require a significant effort including command and control systems, NOC, helpdesk and so on.

What should be my requirements?

So what can I do?
Well you have several options:
A. Develop your own managment consule based on the chosen cloud computing provider API, monitoring each server resources.
B. Use enterprise world command and control systems such as CA Unicenter, IBM Tivoli suite, HP OpenView suite, BMC or Microsoft.
C. Use cloud monitoring niche systems. The largest and most significant player in this field is RightScale which provides both monitoring and auto scaling service. Another new player in this market is cloudkick. This player backed by the VC botique Y Combinator, provides its monitoring, graphs and alerting system free of charge.

Bottom line:
Option A (Develop your own solution) is too tedious and will walk you out of your main course of business. Option B is nice, but most of these players are fouces in an on premise market, and it will take them time to get into the cloud market. Moreover, most cloud computing clients are start ups and SaaS providers, that these massive C&M systems will not fits their needs.
Option C in the current time seems to be the right one if you established your operations in the cloud. From our analysis cloudkick is a nice start for a free service, but there is way to go. For exmpale, it still missing the auto scalling feature (if my CPU is over 80%, provide me ASAP new EC2 instance). So our recommandations in the current is usign RightScale.

Keep Performing
Moshe Kaplan. RockeTier. The Performance and Cloud Experts.

Apr 22, 2009

Very large databases on the cloud: The Presentation

This time I include the presentation that I presented on Monday: "How your very large databases can work in the cloud computing world?". It was a great presentation and the place was loaded with industry experts from various companies such as Amdocs, Panaya, SAP, Superfish and SUN.

The presentation content can be found bellow as well as the slide show:

Cloud computing is famous for its flexibility, dynamic nature and ability to infinite growth. However, infinite growth means very large databases with billions of records in it. This leads us to a paradox: "How can weak servers support very large databases which usually require several CPUs and dedicated hardware?"
The Internet industry proved it can be done. These days many of the Internet giants, processing billions of events every day, are based on cloud computing architecture such and sharding. What is Sharding? What kinds of Sharding can you implement? What are the best practices?

Keep Performing,
Moshe Kaplan. RockeTier. The Performance and Cloud Experts.

ShareThis

Intense Debate Comments

Ratings and Recommendations