Anna Liu is currently an Associate Professor of Services Engineering at the School of Computer Science and Engineering, University of New South Wales. Her currently research interest is in cloud computing application design and development techniques for performance and scale. Prior to returning to academia, she was a senior software architect at Microsoft Australia, leading various service-oriented architecture and enterprise application integration projects for financial services organisations and government agencies. Previously, she was a research leader at the Australian Government funded research organisation CSIRO, in the area of middleware technology evaluation. She has held visiting scientist appointment at the Software Engineering Institute, CMU, and has presented numerous tutorials at international conferences including OOPSLA 2003, OOPSLA2005, ICSE and WICSA.

There is an emergence of cloud computing application development platforms such as Microsoft Azure, Google's AppEngine and Amazon's EC2/SimpleDB. Startups and enterprise developers alike, lured by the promise of 'infinite scalability', 'ease of development', 'low infrastructure set up cost', are increasingly using these cloud service building blocks to contruct their web based application, that in turn consume and deliver services.
In this tutorial, we firstly provide an overview of these cloud computing application development environments and platforms. We demonstrate the programming, debugging and monitoring capability; we use performance evaluation techniques to motivate the analysis of underlying platform architecture, and deriving a 'fit for purpose' evaluation for these platforms. We will introduce the suite of test applications we used, motivation for their design. We will also present the challenges we faced along the way, and how we coped with testing essentially a block box component in the cloud.

Objectives:

To provide an overview of the emerging field of cloud computing application development and associated platforms. To share our findings in terms of performance evaluations, architectural insights into these platforms. To enable attendees to make some platform choice based on 'fitness for purpose'. To share our evaluation techniques and tools.