The winds of change are buffeting businesses like never before. Consumer and workforce demands for Web 2.0 technology, the need to cut costs by going to the cloud, and the continuing need to control general spending in this economy are among the forces currently hammering away at enterprises.
That’s leading to new ways of approaching IT. For some time now, there’s been much talk about the utility approach, where IT services are produced on demand and turned off when they’re not needed, much like our electricity and water services today.
Virtualization and the cloud have helped in the move toward providing IT as a utility. Now, application development also seems to need an overhaul.
Salesforce.com and VMware signaled the changing face of app development in April when they teamed up to announce VMforce, a new platform for enterprise application development in the cloud.
Recently, Google also announced Google App Engine for Business, a platform that lets organizations build and maintain their apps on the Google platform. Like Salesforce, Google teamed up with VMware.
A New Approach to App Dev
Users are moving to mobile Internet computing and social networking, Salesforce.com CEO Marc Benioff said when his firm and VMware jointly announced VMforce recently. For example, people are increasingly getting information from their smartphones, he said.
This requires a new approach to application development: push instead of pull, touch instead of point-and-click, and new types of technology such as Cocoa and HTML5 with next-generation interfaces.
Further, apps will have to be structured to put less demand on infrastructure in order to keep down costs, because app development itself will be conducted in the cloud.
“You will have to write apps in such a way that their access to data is minimized,” Al Hilwa, a program director at IDC, told TechNewsWorld.
New ways of looking at infrastructure and special data models have to be intertwined with the new approach to application development for maximum effect.
Rethinking Infrastructure
New methods of app development that minimize data access will require new approaches to infrastructure.
“You’ll need elastic scale for application development in the cloud,” Hilwa said. “As an application’s demand for resources increases, the infrastructure should be able to be provisioned quickly and dynamically to accommodate this demand.”
The flip side of this is that when an application doesn’t need as many resources, the infrastructure can scale down.
“Most businesses will have peaks and troughs of activity, and the information infrastructure should reflect demand at any given time rather than building in capacity for peak times,” John Newton, chairman and chief technology officer of Alfresco, told TechNewsWorld.
Special Data Models
The new types of applications will require special data models such as those being offered by schema-less — and sometimes typeless — databases, IDC’s Hilwa said.
The schema of a database system is its structure described in a formal language supported by the database management system. A type system can be considered the syntax of a phrase of code. Assigning a data type to a phrase, or sequence of bits, gives it meaning so programs and programmers know what the phrase means.
The lack of a fixed physical schema lets the underlying infrastructure figure out where it needs to be located and to replicate data to where it’s needed, Alfresco’s Newton said. Databases that don’t have a fixed physical schema include Amazon SimpleDB, Google BigTable, and open source databases such as Cassandra and MongoDB.
These databases are generally lumped together as non-SQL databases, Newton said. They can handle “huge amounts” of information, and only “vaguely resemble” relational databases, he pointed out.
Such “schema-less” databases don’t have joins because the application itself stores the information pre-joined, Newton said. “A lot of the burden of referential integrity and structure of data is left to the database,” he explained. This means many cloud applications must be written from scratch.
Being Special Is Sometimes Good
These special data models make applications “very responsive and instantaneous” because data is replicated closer to the user physically, and the applications tune their data and data access to how they need that data, Alfresco’s Newton said.
Analytics and cross-database views will also become instantly available through MapReduce, Newton said.
MapReduce is a patented software framework introduced by Google to support distributed computing on large datasets on clusters of computers. It can work on either structured or unstructured data.
The Downside of Being Special
Special data models have their own problems, however.
“Consistency of data often has to be balanced with the availability of the data,” IDC’s Hilwa pointed out. “Having both may be impossible.”
That means such special data models are suitable for certain types of workloads and not others, Hilwa said.
Further, these special data models will cost users in terms of flexibility and adaptability.
“Once the data and application patterns settle in, they are going to be hard to change and evolve,” Newton warned. “In some ways, the idea of adding more data will be easy because information will be stored as just a bag of properties. However, modifying or updating your schema may become a model of application re-architecture.”
That means app developers will have to think very carefully about their schema, because the applications will take over the burden of referential integrity and data structure previously handled by database schema.
Handling Legacy Apps
In many cases, app developers will have to rewrite the SQL-based apps in enterprises to put them on the cloud.
“Most legacy apps written to SQL have to use an SQL database, which often implies that the scalability bottleneck is the database engine behind the application,” IDC’s Hilwa said.”
Those that use a robust middle tier that can be scaled up also are limited, in this case by the database. However, the extent of their scaling up is then limited by the database, Hilwa explained.
On the other hand, sweeping changes may emerge.
“I believe that there will be a whole new class of applications and enterprise and supra-enterprise infrastructure that will be required to take advantage of cloud elasticity and these new styles of database,” Alfresco’s Newton said. “There’s a lot of dependence in most enterprise applications on transactions, relational joins and query optimization and referential integrity.”