Latest Post

BankON™ Featured in Bank Technology News

Posted on: 20-12-2010 by Phil Hodsdon | In : BFS and Insurance, BankOn


As a result of this year’s launch of BankON, Sierra Atlantic was recently named one of the Top 10 Technology Companies to watch by Bank Technology News.   Sierra Atlantic is among the top 10 companies featured on the cover page of the December 2010 issue of the magazine. John Adams of Bank Technology News refers to...

Read More

Cloud Web Application Development and Deployment on Windows Azure Platform

Posted on : 23-11-2010 | By : Rajeswar Turlapati | In : Enterprise Services, Web Applicatons Development & Maintenance

Tags: , , ,

1

Introduction

Nowadays, several hosting companies are assuring to provide high-end infrastructure and application services over the cloud computing environment.  This environment contains number of virtual machines running on one or more physical systems.  With the introduction of cloud computing, revolutionary changes have been taken place in hardware and in data center models with exceptional online storage and backup systems.   Security, reliability and availability are major challenges for cloud hosting providers and they are effectively monitored in accordance to the SLAs defined with the users.  Cloud environment is denoted as public or private based on the availability and accessibility of the environment at specific premises with necessary privileges.

Fig: 1   Imaginary picture of private and public cloud environments

Public cloud

In general, everyone can access public cloud environment with appropriate subscription from service providers.  In public cloud computing environment, users never know hardware details of the server on which their application is hosted; because server scales up to tens of thousands of computers automatically on need basis.  Infrastructure as a service (IaaS) is industry vernacular for the public cloud computing services as it offers access to virtual servers, desktop computers or remote storage locations on usage basis.

Private Cloud

Private cloud is similar to public cloud environment, but access is restricted to limited number of users within the company firewalls.   Private cloud computing can be tightly integrated with public cloud computing environments which are running on high bandwidth of 24 X 7 availability.   There are several wrong perceptions about private cloud computing with apprehensive calculations of hardware and software costs.  In reality, it can be set-up in much cheaper way and wouldn’t consume much time to install the software.   At minimum, private cloud environment can be set-off with $4000 approximately.

Cloud Service Providers

Microsoft, Amazon, Google, Sales force…etc are the leading public cloud service providers in today’s market. In general, all of them would provide more or less same type of services with their innovative business ideas.

Cloud Users

Cloud services are mainly beneficial for the technical people or hosting companies who wish to use cloud as future platform for their business.  It’s less significant for the end users who browse the application from the cloud environment.

If you’ve a question like, who are the users for the cloud environment?

It depends on the type of service subscribed from the cloud service provider.  For example, a development team can create a web application that will be hosted in cloud environment.  Similarly tester can validate same web application on cloud staging environment.  A hosting company might want to host their web sites on public cloud environment to reduce costs on hardware.  A gaming company could deploy online games in cloud environment to make use of hardware acceleration and performance.  All these users must subscribe appropriate services from the public cloud environment before start using it.

Web Application Development and Deployment on Windows Azure

You can look at the media files which demonstrate the subscription, development and deployment process of the public cloud computing environment on Windows Azure.  I’ve built these movies based on the sample scenario that was explained as objective in 1st video.   Essentially these movies would provide answers to the following 3 questions…



In Microsoft’s perspective, cloud computing affects 3 important areas / models…

  • Data Center / Hardware model;
  • Application model;
  • Operation model.

Data Center / Hardware Models: Unlike traditional monolithic data centers, pre-assembled/modular data centers are emerging in today’s market; especially in the cloud computing environment and hardware has enormous capacity to produce extremely high performance and backup at nominal cost.  IaaS (Infrastructure as a Service) provides a platform for virtualization where you can subscribe virtual servers, desktops and other infrastructure related services on usage basis.

Application Model:  In cloud environment, we can easily and quickly deliver applications that are targeted for international audience from any device with rich end-user experience.   A simple browser with internet connectivity would be sufficient to deal with business critical applications.  SaaS (Software as a Service) offers solutions to the wide variety of applications on consumption wise.

Operation Model:  Services from the cloud environment would be available on 24X7 basis.  You’ll be covered under pre-defined or customized SLAs when you subscribe services from the public cloud environment; it provides incredible online storage with strong back-up and recovery mechanism.

Test Driven Development

Posted on : 27-08-2010 | By : Rajeswar Turlapati | In : Enterprise Services, Outsourced Product Development

Tags: , ,

0

Test Driven Development (TDD) is an automation testing approach to develop high quality product with minimum or negligible quality issues.  Having this approach implemented strategically results in reliability on the product until its retirement.   Initial investment on TDD approach will reap the great results in product maintenance phase and helps to obtain return on investments (ROI) seamlessly.

You might want to ask question, how TDD is different from traditional development methodology?

Unlike traditional or standard development process, in TDD approach, the testing will start at the early stages of the product development and validates the completed activities for the desired output.  Most importantly focus on quality starts at the beginning of the product development rather than at completion.  This gives opportunity to learn lessons quickly and apply best practices in subsequent implementations with the increased productivity.

What are the real challenges with the TDD approach?

  • Define work breakdown structure and work breakdown dictionary;
  • Define sequence of activities and identify critical path;
  • Prepare realistic schedules;
  • Prepare cost estimates;
  • Getting budget approval.

You might be surprised with the above non-technical list.  Since developer needs to write automation test cases for the completed activities immediately, project manager should plan these efforts meticulously without disturbing the critical path.   Project manager might want to use schedule compression techniques by resource crashing or fast tracking to meet customer deadlines.  In either case, additional budget is required to implement the TDD approach.

Really there is no technical challenge to take up the TDD approach, because several open source tools honor this approach and provides technical support through online forums and blogs.   If you think about TDD, it appears like a unit testing approach, but it’s not!    Using unit testing tool, you can test a specific part of the code segment.  But in TDD, you can perform integration testing and business analysts can verify those test cases at the same time.

FIT and FitNesse are two open source tools allow us to apply TDD principles efficiently and improve communication with customers and business analysts. Framework for Integrated Testing (FIT) is an acceptance testing framework.  FIT improves the collaboration and allow customers and business analysts to write and verify tests.

Writing FIT tests require general programming knowledge. FitNesse is a web-based server, allowing easy collaboration. Business analysts and other non–technical people do not have to set up any software in order to use FitNesse. Any browser will do just fine.

You can find more information about Fitneese at http://fitnesse.org/.