Scale up vs Scale out. First decision to make before moving to cloud
Before moving to cloud, First decision to make is whether Scale up the hardware or Scale out with multiple systems. Both has its pros and cons.
Scale up (Vertical scaling) is achieved by having bigger hardware say 64 bit system with huge RAM. Disk storage may not be the issue as terabyte of SAN storage drive could be mounted. RAM and CPU should be sufficient to take care of your load.
As years move and your business grows, you may hit the upper circuit. Your system cannot manage the growing load then in that situation , you may need to buy a bigger hardware and dump the current system. Clearly this seems to be costly affair but it is easy to manage and administer.
Scale out (Horizontal scaling) is achieved by adding multiple small systems. Load is shared across systems. This certainly helps as the application will get more CPU and RAM then the scale out option. When the business grows add one more system. This option will help to grow faster with less cost.
But the application should be capable enough to share the load. If it is multi user application, split User by name; say name starts with A - H will be processed by one system and I - M in other and so on. Clearly Application should have logic to share the load and retrieve the correct information from corresponding server and storage location. There is a good development effort involved.
There are also some alternatives available. Using hardware / software load balancer, Users request could be geographically processed in different systems. Using Hadoop and other distributed file system also helps to achieve scalability.
Horizontal scaling may not be so cheaper. If you consider hardware cost alone then it is but there is rack space required, power consumption, etc. If commercial software is used then more license should be purchased as more systems are added. Backing up data would be tough job for the Administrator. Scale out will have higher management cost than scale up.
Conclusion: Think before taking a decision. Don't take decision based on the current load / requirements. At least plan for 2 - 3 years. How much your application / business will grow and plan for the future.
See also: Open source products tagged cloud.
comments powered by Disqus
Lucene is most powerful and widely used Search engine. Here is the list of 7 search engines which is built on top of Lucene. You could imagine how powerful they are.
MongoDB is the most exciting SQL-free database currently available in the market. The new kid on the block, called MongoDB is a scalable, high-performance, open source, schema free and document oriented database that focuses on the ideas of NoSQL Approach. Written in C++, it has taken rapid strides since its emergence into the public sphere as a popular way to build your database applications.
F# is a functional programming language for the .NET Framework. It combines the succinct, expressive and compositional style of functional programming with the runtime, libraries, interoperability, and object model of .NET. Microsoft recently released its source code under Apache License.
Cloud is nothing but more than one system or application distributed across the network, across the globe. It may have couple of application servers, database server, shared data storage, backup server and lot more. The resources in the distributed environment must have information about each other so that they could co-ordinate and share without any issues. ZooKeeper helps to do that.
Web developers most frequent question, Should user images be stored in database or file system? Which is the best way. Both has some pros and cons.
This is the most frequently asked questions in the interview. Googling will throw many links related to this topic. How to learn the implementation of hash map? My style of learning using open source learning technique.
You may require GBs of data to do performance or load testing. How your app behaves when there is loads of data. You need to know the capacity of your application. This is the frequently asked question from the sales team "The customer is having 100GB of data and he wants to know whether our product will handle this? If so how much RAM / Disk storage required?". This article has pointers to the large data corpus.
Solr and Elastic Search are built on top of Lucene. Both are open source and both have extra features which makes programmer life easy. This article explains the difference and the best situation to choose between them.
Many startups are entering in to the business due to open source. Open source acts as a back bone / pillar for their business. It reduces the cost of production, Generates revenue from consulting and support. This article describes about the startups which flourished because of open source. Sun acquired MySQL for $1Bn is the biggest achievement for open source startups.
Enterprise search software should be capable to search the data available in the entire organization or personnel desktop. The data could be in File system, Web or in Database. It should search contents of Emails, file formats like doc, xls, ppt, pdf and lot more. There are many commercial products available but LucidWorks and SearchBlox are best and free.