treated as a single unit of deployment. When you start doing this, simple automation falls way short.
When you are considering an automation platform for complex test and deployment, there are several things to consider:
- What will happen if our team doubles in size? Scalability is a big factor in determining whether a given automation platform is right for your organization. Some tools are great with smaller groups, but will get overloaded if your organization grows quickly. If fast future growth is a possibility, you’re better off considering the long term when choosing an automation platform.
- What if we change our processes or tools? You need to know if your automation platform will support changes like beginning parallel testing and deployment, or upgrades to the latest version of your tools. You’ll save time and resources as you implement your new system if you don’t have to revamp your existing process and tools. Chances are your environment is complex and constantly changing. You should never hear, “why would you do that?” from the provider of your automation platform.
- How secure is the platform? How much security matters to you will depend on the nature of your industry. Electric Cloud’s customers in the financial industry, for example, have very tight security requirements. Because of the regulations they are subject to, it’s important that Developer A and Developer B are unable to see each other’s work. For a lot of other companies that level of security is unnecessary, but knowing your security needs and whether your automation platform can support them is important.
- If we use a private cloud now, will our automation platform follow us to a public cloud? Many companies today are making their entry into cloud computing with a private cloud, but as hybrid and public clouds gain popularity, it’s worth thinking about whether your automation platform will be able to make the move with you. You should be able to write your procedures once and run them anywhere.
- How flexible is the system? Some tools are great at one type of testing—specializing in Javacode or Python, for example—but unable to handle a broader spectrum of languages. If your developers are coding in multiple languages, or may need to in the future, it’s best to choose an automation system that is tool-agnostic.
Getting these questions answered will provide you with a good framework for choosing a platform that fits your organization.
Once you’re up and running with automated deployment, you can start looking at more monolithic pieces of your process that you’d like to split. Chances are, they’re large because your old system lacked the means to share information between the various pieces if they were split. Your automation platform should enable you to address this problem.
With dynamic virtualization combined with the right automation platform, you’ll have what you need to bring your organization’s deployment process from brittle, cumbersome and time-intensive to reliable, secure and fast. It’s the perfect software deployment peanut butter and jelly sandwich.
About the Author Mike Maciag is CEO of Electric Cloud, Inc.