For most of my career, I developed on-premises applications for the clients of enterprise software vendors. Most of the time, effort, and money spent during the initial phases of those projects was allocated to setting up the application environments.
After the client purchased any missing (or upgraded existing) components of the required on-premises technology infrastructure, software had to be installed, hardware had to be configured, and disk space had to be allocated. Then separate environments had to be established for development, testing, staging, and production, while setting up user accounts with the appropriate levels of access and security for each environment. Finally, source control and provisioning procedures had to be implemented.
Therefore, a significant amount of time, effort, and money was expended before application development even began. Of course, resources also had to be allocated to maintain these complex environments throughout the entire application lifecycle.
As the cloud computing market matures, we are seeing an increasing number of robust infrastructure as a service (IaaS) and platform as a service (PaaS) offerings, which can accelerate application development, especially for midsize businesses.
“The cloud offers immense advantages,” Steve Garone recently blogged, “in terms of agility and flexibility, making it easier, and if automation is employed, almost transparent to make assets available in real time when and where needed. These advantages are valuable for midsize businesses because the resources and expertise needed to implement a fully automated cloud-based solution may not exist within a smaller IT staff used to managing a less complex environment.” Nevertheless, Garone recommends a close examination of not just the benefits, but also the costs and, most important, the ROI associated with cloud-based solutions.
Leveraging the cloud for application development does have clear advantages. However, application development environments are still complex to manage. Even though most of that complexity will be conveniently concealed by the cloud, it will still exist.
Carefully investigate the security, scalability, and reliability of cloud service providers. IaaS and PaaS have matured enough to be viable options for application development, but don’t allow the chance to jump-start your development cloud your judgment.
This post was written as part of the IBM for Midsize Business program, which provides midsize businesses with the tools, expertise and solutions they need to become engines of a smarter planet.