Welcome!

Cloud Expo Authors: Maureen O'Gara, Kevin Benedict, Derek Harris, Pat Romanski, Francois Lascelles

Related Topics: Cloud Expo

Cloud Expo: Blog Feed Post

Points to Remember Before You Design Your Cloud Application

Most Cost Effective Alternatives to RDMBS for Designing Your Cloud Applications

Designing applications for the cloud is not business as usual. Though it is not rocket science, it has several nuances which are somewhat counterintuitive.

Let me be more specific about what I mean by designing application for cloud. First let me exclude the whole universe of Software-as-a-Service where the applications are ready for use and need not be built. That implies, if you are planning to use Salesforce.com, Google Apps or any other similar service – this post may not be relevant. However, if you are planning to utilize Amazon EC2, Microsoft Azure or Google App Engine then read on…

There are many definition of cloud computing but I like the following definition:

“Cloud Computing is a market place where a computing service provider with large number of networked computer systems allows computing service consumer to use a slice of that processing power and storage and charging only for actual usage

The interest in cloud computing is primarily because of the “pay for what you use” which also implies “do not pay for idle resources”.

First let us look at what resources you are charged for?

  • CPU utilization
    • Amazon EC2 = Machine instance deployed (available in different capacities)
    • Google GAE = CPU cycle used
    • Azure = Instances of application deployed
  • Data storage
  • Data read-write
  • Input-output bandwidth used

Let us look at it from the perspective of Amazon EC2 – which is the most widely use cloud services. So, the first implication is…

1: Your application needs to scale to multiple machines when load increases and has to have the capability to acquire and release machine instances dynamically.

When you are scaling, do you take a small instance or a large instance? You will need to do a balancing act…

2: If you acquire a machine instance but do not fully utilize it, you still pay for it. So, there is a strong case for growing your CPU capacity at smaller increment.

3: Since irrespective of the size of the machine, basic O/S, system software and application software will take the same amount of memory – smaller machine = smaller % of memory available for application. So, there is a strong case for using larger machine instance!

However, remember to best utilize what is available for free…

4: You pay for server power – client power is free. So why not design the application so that you utilize as much of client power as possible? HTML5 may become very useful and allow you to do several things on the client which would have been difficult without it!

Charge for data read-write and usage of I/O bandwidth is on what you actually use, so…

5: Optimizing you application to minimizing bandwidth usage and reducing data read-write will give you direct cost saving.

When you are dealing with multiple machines you are dealing with parallelism. It is not easy to think parallel … will require unlearning and will require diving into new technology area…

6: Understand Map-Reduce … Functional Programming.

7: For specific requirements, there may be more cost effective alternative to RDBMS – look around, there are several alternatives – for example, have you looked at Apache CouchDB?

Finally, what happens if Amazon decides to change the relative costs of the different types of resources? You design trade-off decisions might get questioned like suddenly you might find that the caching that you had done to reduce the data read-write has actually become counterproductive!

8: So what you may need is a flexible design where you can dynamically turn on or turn off certain parts of the code.


Read the original blog entry...

More Stories By Udayan Banerjee

Udayan Banerjee is CTO at NIIT Technologies Ltd, an IT industry veteran with more than 30 years' experience. He blogs at http://setandbma.wordpress.com.
The blog focuses on emerging technologies like cloud computing, mobile computing, social media aka web 2.0 etc. It also contains stuff about agile methodology and trends in architecture. It is a world view seen through the lens of a software service provider based out of Bangalore and serving clients across the world. The focus is mostly on...

  • Keep the hype out and project a realistic picture
  • Uncover trends not very apparent
  • Draw conclusion from real life experience
  • Point out fallacy & discrepancy when I see them
  • Talk about trends which I find interesting
Google

Cloud Expo Breaking News
Why are APIs so important in clouds? Do APIs have to be open? How fast or slow will standardization in the cloud be? Why is ensuring high availability for the cloud service critical? In his session at the 10th International Cloud Expo, Mårten Mickos, CEO of Eucalyptus Systems, will answer these questions and address cloud standards, APIs and the critical question: Will we end up with one, two or more competing cloud standards? And, how will this affect the evolution and adoption of cloud comput...
Very few trends in IT have generated as much buzz as cloud computing. In his session at the 10th International Cloud Expo, Mark Hinkle, Director, Cloud Computing Community at Citrix, will cut through the hype and quickly clarify the ontology for cloud computing. The bulk of the conversation will focus on the open source software that can be used to build compute clouds (infrastructure-as-a-service) and the complementary open source management tools that can be combined to automate the management...
The proliferation of device connectivity is redefining the functionality requirements and capabilities of many embedded systems as more and more of these devices look to leverage the “Cloud.” While many commercial software and hardware component vendors have begun to realign their value propositions to satisfy growing demand, commercial-off-the-shelf products (COTS) alone cannot meet every OEM’s needs. As a result, the Embedded Cloud has injected a new level of uncertainty and a new competitive ...
Hardware and chemistry improvements will make the $1,000 human genome a reality soon. While the massive amount of genomics data that will be generated represents a huge opportunity to advance personal medicine, it also presents an enormous big data challenge. In his session at the 10th International Cloud Expo, Dr Andreas Sundquist, CEO of DNAnexus, will discuss how the cloud will address these issues by enabling the management, storage, sharing and analysis of the world’s DNA data and how it ...
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what else h...
With Big Data Expo 2012 New York (co-located with 10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
In 2011, Apache Hadoop received tremendous attention for helping organizations cost-effectively capitalize on their big data. Hadoop is now disrupting the business of analyzing data. In his session at the 10th International Cloud Expo, Eric Baldeschwieler, Co-Founder & CEO of Hortonworks, will look at the current state of the Hadoop project, lessons learned by deploying it at scale, and the roadmap for its future. Big Data Track attendees will learn about the exciting developments that have ...
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what else h...
The focus of Java EE 7 is on the cloud, and specifically it aims to bring Platform-as-a-Service providers and application developers together so that portable applications can be deployed on any cloud infrastructure and reap all its benefits in terms of scalability, elasticity, multitenancy, etc. The existing specifications in the platform such as JPA, Servlets, EJB, and others will be updated to meet these requirements. Java EE 7 continues the ease of development push that characterized prior ...
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what else h...