Cloud and the Developer

Every time I present at a developer forum or a technical conference, I get asked by the audience on how to get started on the Cloud. The mindset and the perception has been that the Cloud is the next .NET or Java. Unfortunately, some of the well known training institutes and freelance trainers in India started to position Cloud Computing as the Java of the new decade. This artificial hype is misleading many developers (especially graduates fresh out of the college) to go and join a Cloud Computing course without any relevant background and understanding. So, what is really required for getting started on Cloud Computing?

Good Understanding of Web Technologies – A decade back it was the WWW that introduced the concept of statelessness to the traditional Client/Server developers. Today it forms the core of distributed computing. It is very important that you have a strong background of developing Web Applications on a modern stack like ASP.NET, JSP or PHP. Understanding how to design for the stateless web and how to make individual web pages share common data is essential. You should be appreciating the way HTTP works and the protocols like SOAP, REST, POX and JSON for the flexibility they offer.

Web Services and SOA – The experience of developing a large SOA solution is certainly a big plus for Cloud developers. First it was XML Web Services that showed the world that the websites can talk to each other and then SOA demonstrated that disparate enterprise applications can talk to each other. SOA is based on the principle of loosely coupled systems. You are encouraged to think modular when designing your components. These modular components are loosely coupled through Message Oriented Middleware (MOM) or an Enterprise Service Bus (ESB). When architecting for Cloud, keep in mind that you cannot have an affinity between Web Server, App Server and the Database. That’s because you never know which tier will have to scale dynamically. At one point, you may want to scale out your Web Server to address the demand in the traffic. If you notice that the App Server is becoming the bottleneck, it may have to be scaled out to a bunch of servers and only a few Web Servers might be talking to the App Server cluster. The database on the Cloud is completely a different ball game altogether! You would leverage the write once & read many data model supported through BLOBS (Amazon S3 and Azure BLOB) or write more often to a flexible entity model (Amazon SimpleDB and Azure Tables). You also have an option to use the traditional relational database on the Cloud (Amazon RDS and SQL Azure). The bottom line is that you should design the Cloud app to work in the most autonomous form. Each of the tiers should be designed to work independently and should gracefully handle the outages and the non-availability of other tiers in the system. The below architectural diagram depicts this to some extent:

Designing For the Cloud

Designing For the Cloud

So, finally answering the question of ‘Am I ready for the Cloud’? If the above made sense to you and you relate to the concepts of Web and SOA, you are almost there. But Cloud is not meant for freshmen with no experience of Distributed Computing. If you are in college and someone is pitching you a job-oriented  course on Cloud Computing, be wary of it!


Related Posts

Top 5 Articles

Download The eBook - Demystifying The Cloud

I wanted to write a technical book for a long time. Though some of the well known publishers approached me, I never mustered enough courage to sign up and commit to them. With a full time job and a busy schedule, I am not sure if I would be able ...

Read More

Data on the Cloud - Amazon S3

Storage is one of the key resources offered as a Cloud Service. By moving data to the Cloud, there are quite a few benefits. Some of them include: 1. Illusion of unlimited storage - Unlike hosting, Cloud storage will virtually give you access to unlimited storage. You will never run out ...

Read More

Cloud Personas and Their Concerns

As one of the stakeholders of the Cloud ecosystem, I persuade, motivate and encourage decision makers in my circle to take a serious look at the Cloud. I want to share my experiences of having these conversations with the audiences. Off late, I came across a few IT Managers and technology ...

Read More

Top 10 Myths of Cloud Computing

As we step into the new year of 2010, I want to discuss the top 10 myths of Cloud Computing. Quite a few experts tried to debunk the myths earlier. My attempt is based on what I have seen or heard in my community. The concepts that I am bringing ...

Read More

Who Will Win The Cloud Computing Battle in India?

Till now I have discussed various technical aspects of the Cloud. Going forward I will also cover certain business aspects related to the Cloud. In this article, I want to analyze the opportunity for the Cloud vendors in India. We will first take a look at the ecosystem, the opportunity ...

Read More


  • Hi jani,

    Awesome...
    Thanks for this, will help new breeds like me...


    Regards
    vin'S
  • sridharan
    Hai jani,

    i read your aricle just now.It an excellent for begginer.i would like to learn more about this.i would be appreciate if guide me how and where to learn the cloud.

    my contact no 9585253990

    thanks
    sridhar
blog comments powered by Disqus

Previous post:

Next post: