Approaches to Cloud Computing

 

The idea behind any cloud computing proposal is for you to pay only for what you use, scaling up or down as per business requirements. This dynamic capability offered by service providers is called utility computing and is analogous to your utility service providers’ model: they charge you by the amount of energy you use. You can scale back your energy bill by reducing the energy usage, or your energy bill will go up during peak load. If you invest in a highly available and scalable infrastructure on premise, scaling in either direction based on demand is difficult.

So, in the long term, cloud platforms are designed to reduce your average operating costs by giving you the flexibility to commission and decommission infrastructure depending on the business needs.

Term "Cloud" specifically means applications, platform, infrastructure and consumer services offered by service providers to build applications for the Internet. Acronyms like software as a service (SaaS), platform as a service (PaaS), Infrastructure as a cloud (IaaS), software plus service (S + S), and database as a service (DaaS) all represent a piece of cloud services in one way or the other. Let's discuss three common approaches viz. - SaaS, PaaS and IaaS.

Software as a Service

Software as a Service (SaaS) makes use of a cloud computing infrastructure to deliver one application to many users, regardless of their location, rather than the traditional model of one application per desktop. Instead of installing and maintaining software, you simply access it via the Internet, freeing yourself from complex software and hardware management. Most SaaS applications can be run directly from a Web browser, without any downloads or installations required. SaaS eliminates the need to install and run applications on individual computers. With SaaS, it’s easy for enterprises to streamline their maintenance and support, because everything can be managed by vendors: applications, runtime, data, middleware, O/S, virtualization, servers, storage, and networking. Gmail is one famous example of an SaaS mail provider.

Platform as a Service

In this approach, you rent a platform on which you deploy your applications without configuring the infrastructure and without the limitations of the SaaS approach. What developers gain with PaaS is a framework they can build upon to develop or customize applications. PaaS makes the development, testing, and deployment of applications quick, simple, and cost-effective, eliminating the need to buy the underlying layers of hardware and software. Similar to the way that you might create macros in Excel, PaaS allows you to create applications using software components that are controlled by a third-party vendor. The Windows Azure platform fits best in the PaaS category, because it doesn’t provide access to the underlying virtualization environment or operating system details such as the network interface, IP configuration, and disk management.

Infrastructure as a Service

Infrastructure as a Service is sometimes referred to as Hardware as a Service (HaaS), in which Vendors provide the hardware infrastructure to build solutions, and you rent the hardware such as servers, load balancers, firewall and cables. The service provider owns the equipment and is responsible for housing, running and maintaining it. The client typically pays on a per-use basis. You can scale up by requesting more servers and reconfiguring the load balancer without purchasing more hardware. Similarly, you can scale down at any time by reconfiguring the infrastructure you rented from the cloud service provider.

Lastly, on a lighter note :)

cloud-joke

References -

Web Debugging with Fiddler

 

Fiddler is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet. Fiddler allows you to inspect traffic, set breakpoints, and "fiddle" with incoming or outgoing data. Fiddler includes a powerful event-based scripting subsystem, and can be extended using any .NET language.

Fiddler is freeware and can debug traffic from virtually any application that supports a proxy, including Internet Explorer, Google Chrome, Apple Safari, Mozilla Firefox, Opera, and thousands more. You can also debug traffic from popular devices like Windows Phone, iPod/iPad, and others.

Below is the home screen for Fiddler:

clip_image001[4]

Let's go through some of the most useful features of Fiddler quickly:

  1. Web Sessions - On the left pane, all the traffic is captured. Using this session, we can compare the sessions by simply selecting two sessions, right clicking and choosing compare command.
  1. Statistics - Statistics seen in the right pane shows the information for selected sessions in text and graphic format as seen below.

clip_image002[4]

Inspectors

Inspectors allow you to visualize requests and responses in meaningful ways. When you double click on a session fiddler takes you to the Inspectors tab for that session. Below is a snapshot

clip_image003[4]

QuickExec

There is a little textbox with black background color and green forecolor on the bottom of Fiddler form where you can run some very useful commands. To see a complete list of available commands type 'help' and enter. Its very handy in using some quick commands like setting and removing the breakpoints.

Breakpoints

We can put breakpoints on request or response using Web Session List. Breakpoints can be put using Rules menu>Auto Breakpoints or status bar or QuickExec. In the QuickExec box type in 'bp' and enter. This will show you a handy help popup dialog that lists the breakpoint commands.

When the breakpoint is set the next time you make a request or receive a response that fulfils the breakpoint's requirements the breakpoint is hit and you get the opportunity to change the traffic.

AutoResponder

AutoResponder is a very handy tool. It allows you to fake server's responses. If you think about it, Fiddler is sitting between you and the web server and nothing can stop it from returning the response locally without hitting the server, and that is basically what AutoResponder does. You can configure AutoResponder to respond to specific requests and let the others through, or you can ask it to only respond to the traffic you expect and block the rest. AutoResponder uses some rules to match the request. From Fiddler's reference

Request Composer

The Composer allows you to craft custom requests to send to a server. You can either create a new request manually, or you can drag and drop a session from the Web Sessions list to create a new request based on the existing request.

Filters

The Filters tab enables you to quickly filter out traffic that is not of interest.

Fiddler Extensions

There are some great Fiddler free to use extensions at http://www.fiddler2.com/fiddler2/extensions.asp

Fiddler Timeline

Fiddler's Timeline View allows you to visualize the HTTP(S) traffic on a "waterfall" diagram. Hovering over any entry will show more information about the entry. Double-clicking the entry will inspect that session.

Conclusion

I hope this gives a headstart for the ones who have not yet explored a web debugging tool powerful as Fiddler. If you want to dig deeper then Fiddler website and Fiddler Blog will be the place to look at.

References

http://www.fiddler2.com/Fiddler/help/

http://www.mehdi-khalili.com/fiddler-in-action/part-1

http://www.fiddlercap.com/FiddlerCap/

http://www.developer.com/lang/jscript/article.php/3631066/Fiddler-Can-Make-Debugging-Easy.htm