By Peter Varhol
Development teams building cloud-enabled virtual appliances have a number of considerations to take into account: the application, the cloud environment, the users, and other facets of the business and execution issues. Decisions regarding these considerations will drive how developers make use of cloud services.
While it’s possible to start developing and deploying to a cloud very quickly, development teams should start cautiously, making sure that all of the team members understand the goals and processes involved first. Here are six considerations in preparation for deploying virtual appliances to the cloud for the first time.
- Select a cloud provider. There are hundreds of different public cloud providers. If your organization isn’t already using one, research as many options as possible for price, service-level agreements, reputation, locations, and software features.
- Understand your application needs to determine your cloud requirements. Once you’ve selected a cloud provider based on the nature of your application, obtain a deep technical understanding of the infrastructure and platform offerings available, and select the ones that best meet the needs of the organization, application, and users.
- Plan the deployment process. Lay out what the virtual appliance is supposed to do, then define the features that are needed to execute the deployment. Make sure you know exactly what is supposed to happen at every step of the deployment process, and plan for errors.
- Set up and test the cloud execution environment. Whether you’re leveraging a highly configured cloud execution environment such as Microsoft Azure, or a cloud with little or no supporting infrastructure, you have to define your deployment and execution environment and create it, either in a virtual machine (VM) locally or in the cloud itself. Further, it has to be consistent with the development environment, so that the deployment and execution process go smoothly.
- ‘Smoke test’ the actual deploy before releasing it to the cloud. Make sure that the deployment will run to completion, even if it’s incomplete or has defects. Set up your ‘smoke test’ as an integral part of the build process so that the team gains confidence in their ability to build the deploy package.
- Practice the process of deploying your application to the cloud often. Make sure you have the process down properly before going live with the virtual appliance. If your team is using agile development processes you may be deploying to the cloud at the end of every agile sprint, and hopefully those are either continuous or at least daily. The more you practice, the better you’ll get at it.
What considerations or steps have you taken to ensure a successful virtual appliance deployment to the cloud?
Read last week’s post: Managing the Life Cycle of a Suite/Advanced UI Installation