Cloud Based Software Development
The Cloud is like the electricity grid; always there, with unlimited resources on tap
The Cloud is a major paradigm shift. Rather than own the infrastructure on which you run your
applications, you rent it. Effectively, you use someone else's data centre to run your applications.
Like electricity, you only pay for what you use, and let someone else worry about security, backups
and all other aspects of running a large data centre.
The most obvious advantage of Cloud Computing is the absence of Capital Expenditure when you are
starting new projects. Other advantages are: Speed / Agility, Reliability, Scalability, Security,
Bandwidth and Maintenance.
Software Development in the Cloud
Large parts of the software development process stay exactly the same. It's still all about web and browser
based software development. The Visual Studio environment is the same, and good software architecture
principles still apply. You have a full relational database at your fingertips, and run-time environments
for all major languages such as .Net, PHP and Java.
The real difference lies in the way you securely interact with applications and users that may lie on
either side of your firewalls. Since you have lost control of the physical whereabouts of your Cloud Based
applications, all communication needs to be based on standard protocals such as SOAP, XML or REST. You will want
to take precautions to ensure you have a local backup of business-critical data and you need to ensure that
security is watertight.
Microsoft Azure
Objectivity uses the Microsoft Azure platform to offer it's Cloud based offering. Simply put, it consists of
3 components: Windows Azure, SQL Azure and AppFabric. Windows Azure is the operating system; call it Windows
Server 2008 R2 in a Cloud environment. SQL Azure is the SQL Server 2008 database in the Cloud.
AppFabric has 2 main components: The Service Bus and Access Control. The Service Bus allows you to easily
create and manage secure connections between loosely coupled services and applications. Access Control
allows you to build federated authorization into your applications and services, and extend existign
identity management systems (such as Active Directory) beyond organizational boundaries.