Cloud application development doesn't happen overnight. Developers must carefully design cloud apps to use, run and scale as needed on cloud resources. In addition, the cloud app development process tends to be more dynamic than traditional application development, often relying on DevOps principles and practices.
Some developers are turning to open source platform as a service (PaaS) to support fast cloud application development and deployment cycles. But open source development platforms can introduce new challenges for developers and businesses. Here are six issues that can arise with open source PaaS, and steps for overcoming them.
Getting management buy-in for open source PaaS success
Developer commitment is vital to open source PaaS success, but it's even more critical to get buy-in from business leaders and management teams. The business should share a vision for DevOps principles and cloud software development, as well as understand the benefits and risks that justify a move to open source PaaS.
The business side needs to oversee team restructuring for DevOps and approve additional staffing if necessary. Business leaders should also help define development schedules, and justify the costs for platform integration and support.
Wavering commitment from the business side can impede cloud software development goals. The last thing you want is to deploy a cloud development platform and then, in six months to a year, have the business decide to go another way.
Some PaaS platforms are slow to evolve
The cloud is still relatively immature, and new services and capabilities constantly emerge. Cloud development platforms and PaaS will likely evolve as new features appear. However, because the user community heavily influences open source software, there is no guarantee that new features will arrive quickly enough to meet your development needs.
Although each PaaS offering shares similar capabilities, the speed at which those capabilities arrive can vary. For example, Pivotal's open source PaaS offering Cloud Foundry is noted for its language support, service integration and integration with other open source tools like Chef, Puppet, Jenkins and NoSQL. However, Cloud Foundry only provides fledgling container support, has a user interface that relies on a command line, supports a limited number of business models for software deployment and can be light on application performance metrics.
Monitor a platform's development roadmap and pull requests carefully. Platforms that are slow to evolve or suffer rocky development patterns can pose problems for your application development team -- and your business.
Finding relevant documentation for PaaS projects
Open source cloud development platforms have complex and demanding frameworks that carry volumes of detailed documentation. As those platforms evolve, their documentation must be updated, and every document must provide consistent information about features and capabilities.
Commercial organizations that support their respective open source projects, such as Pivotal for Cloud Foundry, Red Hat for OpenShift and Salesforce for Heroku, help streamline and prioritize updates. For example, Cloud Foundry provides a webpage with extensive links to documentation on its command line interface, deployment and integration, administration, troubleshooting, service creation and so on. By comparison, Red Hat offers similar documentation for OpenShift.
However, as open source PaaS evolves, there is no guarantee that changes and updates are documented clearly or in a timely manner. This can result in lost opportunity for developers, along with costly errors and confusion.
Getting PaaS support from open source community
Evaluating, deploying, integrating and establishing a software development initiative around open source PaaS can be daunting. There are bound to be stumbling blocks with integration, performance and automation that are difficult for in-house experts to address. This means you will need platform support.
The open source community typically supports open source platforms. But while that community can help address unusual or niche issues, there's no guarantee you'll get workable solutions. Parent companies like Pivotal and Red Hat supplement basic support with forums, wikis and searchable knowledge bases, but there is still no promise of a quick resolution.
In some cases, an enterprise may opt for commercial versions of open source platforms to meld the extensibility of open source code with production-grade technical support. For instance, Pivotal offers premium and developer support for the commercial version of Cloud Foundry. However, be sure to consider the tradeoffs and costs of this approach.
Weighing the costs of free software
Open source software typically costs nothing to acquire, but isn't always free in the long run. Most enterprises are prepared for the cost of a vendor's enterprise-grade support, but there are other, less obvious open source costs.
Additional costs can include servers, storage, initial evaluation, proof-of-concept projects, deployment and integration with third-party tools. Organizations should also factor in maintenance, management and reporting costs.
Open source PaaS can streamline cloud software development, while minimizing a business's acquisition costs. But the platforms are complex and require enormous expertise to deploy, integrate and use productively. Take the time to choose the right tool that will suit your current and future needs.
About the author:
Stephen J. Bigelow is the senior technology editor of the Data Center and Virtualization Media Group. He can be reached at [email protected].
Open source cloud platforms are gaining steam
Compare open source cloud platforms
Steps for building an open source cloud environment
Five quick links about open source cloud software
The state of the PaaS market