Platform is to provide services to enterprises, so the management of the enterprise's own development infrastructure is a very big advantage, allowing enterprises to have more time to focus on coding and design. Although PAAs may be the best choice for new projects, it may not be appropriate for existing, legacy development work. Before moving a legacy development project to a platform, a service (PaaS), we need to seriously consider the following five things.
1. How to use PAAs first?
Different companies have different uses for PAAs to suit their IT environments and goals. You must first understand how to incorporate PAAs into your enterprise. Some services can easily transfer some calculations to the cloud while maintaining other features on local resources. For example, Pi cloud provides an application interface (API) that replicates local Python code to the cloud and runs in the cloud while development tools and code libraries remain local.
Another option is to use local resources to develop and test with PAAs products. This is useful when running a large test suite or requiring a separate instance of shared resources for appropriate testing. You can also move all of your development to the cloud by using the converged development environment (IDE). Auditing performance support through a browser-based IDE (some lightweight) may not be adaptable to all performance.
2. Are software development practices and tools suitable for PAAs?
If you are using tools such as Git, SVN, ant, or maven to develop software, consider whether these can be easily used in PAAs. Working in a PAAs version control system does not differ much from local resource work. However, rewriting the build script is a more specific task. If you don't have too much formal practice or use a self-developed tool, consider how these tools fit into the PAAs environment and audit access policies for code and documentation. Examine the access control mechanisms of the PAAs provider to ensure that access is controlled as needed.
3. Do you need to integrate local resources?
Applications often require the integration of other applications or shared resources, such as enterprise databases. In such an example, understand how to access these resources from PAAs. If you use a built-in application that is implemented through the Web Services API and you are already serving external client applications, you should be able to move to PAAs. If security is a concern, and only a client application on a virtual private network (VPN) can access the local application, the PAAs API will be tested early in development. If you need to implement VPN functionality and the PAAs provider does not meet the requirements, you may need to consider the infrastructure as a service (IaaS) cloud instead.
4. Is the development stack fully supported?
PAAs products are rapidly maturing from a single language platform to a platform that supports a large number of languages, databases, and other services. To find PAAs choices that support all application stacks, reduce the barriers to using PAAs development. For example, if you use Java development, Jenkins for continuous integration, it may be a good choice cloudbees. If you need to support Ruby and Node.js,engine yard is more appropriate. If built on the NoSQL platform, Red Hat Paas--openshift is a good choice.
5. What is the development period?
At that stage of the development period, the cost and benefits of moving from local development to cloud development are severely impacted. Typically, the longer your development cycle lasts, the more investment you invest in your development environment and tools. According to the project schedule, more software needs to be created and, for example, transferred to a PAAs platform, increasing the cost of conversion.
Moving an ongoing project development to a PAAs platform makes sense only if the PAAs cost weight advantage is higher than the potential time required for the migration. After moving to PAAs, you can release management of server management, operating systems, and other infrastructure. If you need to expand your application to avoid time consuming and engineer problems, the big payoff comes.
Running applications in the cloud and scaling with minimal technology can save time, and it's really worth the effort to move to PAAs.