One of the key responsibilities for any IT department is making sure computer systems are running at peak performance. It means that every server is updated with the latest security patches and OS upgrades as they’re released from each vendor. In environments that run operating systems from multiple vendors, this is a major undertaking fraught with potential downtime or broken applications.
The graphic below depicts the differences in the types cloud hosting options. With packaged software (on-prem) you are responsible for the the maintenance of the entire stack. As you move right you are allowing the cloud provider to take on more of the maintenance responsibility. The sweet spot for application development is the PaaS platform. This allows you to focus on what is important to your business and leave the rest to the provider.
Computer Systems Maintenance and the Bottom Line
At the executive level, maintenance of this type is hard to tie directly to a positive bottom line impact. It’s considered more of a cost of doing business. It’s easy to see how some businesses would try to minimize this sort of costly activity in favor of a better solution.
Whenever teams undertake the project of developing an application, whether for a customer-facing purpose, or for use by teams in-house, maintenance of the systems upon which they will run is a factor in the planning.
Maintaining servers can involve frequent OS version updates, as well as updates to service and security packs. While that might seem straightforward, the real trick lies in making sure that your current systems will be compatible with any new updates. Incompatible systems lead teams to make difficult and expensive decisions about the relative need for updating OS and security environments, versus the impact on existing mission-critical applications. In some instances, a simple but critical update can cause an expensive update cycle on business applications.
It makes sense for teams to offload the responsibilities for activities that are best done elsewhere. That’s where a business can consider a cloud environment for architecting systems that will be used as a business backbone—such as customer facing ecommerce sites, or complex CRM systems used by a disparate sales force.
Cloud Environment: Leave the Maintenance to Someone Else
Architecting business applications for cloud hosting means operating systems and security concerns are the purview of the PaaS environment provider. A PaaS provider like Microsoft Azure takes on the responsibility for maintaining all their hosting platforms with the most up to date security and operating system versions.
In a PaaS environment, those costs are off the table for the development team, and they are free to use that budget on development of application features and functionality.
Whether it’s specific mobile or GPS functionality, cutting edge shopping cart experiences or extreme data collecting and delivery, any team can try out new features at will, without having to develop backbone infrastructure to support. Sometimes, mature vendors will even release features in beta form for clients to test for the market before they’re widely available. This brings cutting edge functionality to a project without having to spend money on infrastructure, test environments, or security concerns.