Whether you are building a new or adding to an existing virtual or cloud environment on a shoestring budget, whether for work or for home use, there is quite a bit to consider before you purchase anything and it all boils down to your requirements which will dictate the technology you need for your virtual environment. In addition, this is a perfect time to address any deficiencies in your environment to not only address capacity issues, requirements, and security. Along with those considerations, planning the environment for the next three to five years can help shape the overall design. In fact that design, will be based on the answers from a growing list of questions:
- What are my requirements? This seems to be an oft overlooked question for the long term, in general the short term is more about saving money or providing more capacity, but have your requirements changed or if this is green field, do you have all the requirements. Longer term requirements should be determined to future proof your investment. Some further questions to ask are:
- Do you need to be running 24x7x365, or is some downtime allowed (to cover upgrades, etc.)
- Are there plans to add more workloads in the near or long term, if so when are they planned? (need to plan capacity for now and the future)
- Are the new workloads for production, development, or test?
- Do these new workloads have any security or compliance policies to apply?
- What are my current and future workloads? This will answer a few questions posed in #1 as Tier 1 applications have different uptime requirements, but this is more so you know how to balance your workloads across your virtual and cloud environments. Achieving the best balance, seems to be more an art form than a science, but this can be achieved with the proper set of tools, some of which are basically free.
- Do you have a virtual or cloud environment architecture? If so, now is a time to review and update it, if not it is time to create one, an architecture does not include products, what it includes is answers to the requirements and future proofing concerns. It can be written with one set of tools in mind, but should be general enough that any appropriate tool could be used. Architectures usually end up too detailed too quickly. As you review the architecture you should also review compliance, security, data protection, and all other policies. It is a perfect time to get others involved to review your architecture, but also for someone to review the policies to determine whether they need to change or the architecture needs to change. For example, use virtual firewall instead of a specific product name. Architectures should cover:
- What workloads will be virtualized
- What resources are necessary (networking, CPU, Memory, and Storage)
- How to achieve uptime requirements
- How to manage uptime (such as the process involved)
- How to manage data protection
- How to manage compliance requirements
- How to manage security requirements
- How will the workloads be accessed? Mobile devices? Is there an App for that?
- What hardware do you currently own? This is often the first question, when it really should be way after the architecture is done. Does any of this hardware need to be upgraded or replaced? Include in this storage, networking, security, applications, and systems.
- Do you have a virtual or cloud environment design? A design contains the details of the implementation, which tools to use, as well as which hardware to use. Most likely the design has to be redone when the environment is to be updated. Designs also tell me which tools, licenses, and other components that are required by the architecture. Designs also include phases of implementation which can answer such questions as:
- What is your upgrade path to achieve better workload balancing, do I need new hardware or more memory, CPU, Storage, or networking?
- How do you upgrade in the future, perhaps all you need to do is add more memory to handle more workload? Is there a maximum before new systems should be ordered?
- Add your own questions, one customer that had a list of 190+ questions to ask as part of this process. Even so we need to start somewhere.
- If you are making the investment of buying hardware for your environment, make sure you understand what kind of growth that will happen over the next three to five years so you can live within your plan so you do not have to make too many changes and adding to your design or adding “band-aids” the to plan. It is usually not the technology that really changes a plan but more often the money needed to create and deploy the design.
At each stage of the above short list, is a chance to involve other teams in the planning and final deployment of your virtual or cloud environments. It is also crucial to involve other teams in your architecture and designs as the feed back will be invaluable. The more eyes the better the design and architecture. Plan to continue to use this cross-functional review team for other changes to your environment.
But do not ignore end user computing devices such as the iPhone, iPad, and other such devices. End user computing devices are not only our clunky desktops but the sleek new devices pioneered by Apple Computer and now provided by so many other companies.
When you grow or start your environment on a shoestring it is first important to understand how the environment will be used, to determine your requirements, then determine how to future proof your environment. At a recent conference one organization upgraded their environment by adding a single new node and decided to phase in replacements when the older hardware started to fail. They were able to double their capacity and meet all their requirements. But this requires very good planning to achieve, involvement of the other teams, and understanding of the current environment.