Saturday, June 15, 2013

From Installation to Provisioning

I learned the concept of provisioning within the past five year.  I do not remember when I first heard of this term. I do not think that I heard the provisioning process in enterprise apps development before.
The provisioning seems a concept borrowed from the hardware business.



I do not know the exact meaning, but based on my understanding, the idea is to enable the various components to work together.

It involves of installing, configuring, deploying, initializing, and removing application components.

This is part of the overall IT automation.  It is a special offering from an enterprise software vendor.

When you buy software individually from different vendors, you have to spend time to make sure that they can work together.  Earlier, various vendors need to work together to collaborate the integration processes and some 3rd party professional services need to participate to make software packages from different vendors work together.

A simple example is to think of the problem in a client server apps.  You install the database and you create users in the database.   You then install the client and configure the connection to the database. Since the database and the client come from different vendors, the installations are separate.  The process of creating user and entering the user in the client is your responsibility.  The vendor providing the client software will need to test and certify the database they are using and document how you can use their software with the database.

With the provisioning process, the installation, creating the user, entering the connection become one process.  You can still enter or override a user, but only once.  The provisioning process does it for you.

This is the power of consolidation and integration.

It is the value the enterprise software vendor can provide with its special position.  They acquire companies so they can provide the integration out of the box for the IT department.

From business perspective, it extends the product and service they are offering to the business used to be taken by IT or by 3rd party service provider.

From software development perspectives, the line of codes we are providing are, if using the client server apps example, database software, the client software, and the provisioning scripts.  It may not be a big deal for the architecture involving only two components.  It is a big deal if the software architecture involves many components.  



No comments: