September 19, 2016 | Written by: John Meegan
Share this post:
Fully embracing platform as a service (PaaS) implies a number of technical and organizational changes for customers. While it may be possible to port an existing, non-cloud-based application to use a PaaS environment, this is not likely to realize major benefits. A certain degree of change is required at the technological level, and perhaps a larger degree of change is necessary at the organizational level.
Here are eight critical technological changes that cloud service customers should carefully consider:
- Understand PaaS end-to-end application architecture. A key architectural element of cloud applications is the principle that they are stateless and use separately deployed services to build their functionality.
- Understand how containers enable applications. Many PaaS platforms use containers to run applications. Applications are deployed to the PaaS as complete container stacks, combining the application code with its underlying software stack.
- Understand how services and microservices are used. Services and microservices simplify the development and operation of applications in a PaaS system. The term “microservices” describes a design approach for building the application itself, dividing the application into a series of separate processes that are deployed independently and connected via service interfaces.
- Address integration between PaaS applications and existing systems. Seldom are applications developed and run on a PaaS platform completely standalone. Commonly, these applications must integrate with existing enterprise systems – applications, services and data – some of which likely reside in an existing, enterprise environment outside the cloud system.
- Ensure appropriate security components. Security and data protection for personal data are key elements of any information system, so it is important that the PaaS offering provides appropriate capabilities to enable end-to-end security for deployed applications.
- Consider development tools and PaaS. PaaS systems typically support a variety of tooling: code editing, code repositories, build functions and test capabilities. Such tools can either be provided as part of a PaaS offering, or alternatively, the PaaS offering can provide open interfaces that enable third-party tools to be plugged in by the developers.
- Expect support for agile development and DevOps. One aspect of the agile approach is the concept of continuous integration: an emphasis on getting a working application quickly and incrementally adding functionality frequently with rapid deployment to production. This can allow for early user testing of new functionality and rapid feedback to the developers.
- Consider the deployment aspects of PaaS. In many cases, it is best to consider a hybrid deployment of applications, services and data in which each element is placed in a private cloud environment, placed in a public cloud environment, or left “as-is” in an on-premises environment based on the risk profile and costs associated with each element.
Keys to success
Cloud service customers should take the following actions when considering the move to PaaS and contrasting PaaS offerings from different cloud service providers:
- Perform cost/benefit analysis
- Assess your security risk versus innovation imperatives
- Assess value provided by a given PaaS versus alternatives
- Consider the long term viability of PaaS provider ecosystem
- Consider portability both in terms of lock-in and deployment model (public, private, hybrid) as needs evolve
- Ensure integration between PaaS environment and on-premises systems is straightforward and secure
- Consider transitioning to Agile methods and DevOps processes
Interested in learning more about PaaS and getting a better picture of its implementation best practices? Check out my posts on PaaS basics and PaaS benefits, and be sure to download the Cloud Standards Customer Council’s “Practical Guide to Platform as a Service.”