Public and private clouds don't materialize by accident. Both require tools to automate, orchestrate and manage...
vast pools of compute, storage and network resources. And while vendors are eager to sell proprietary cloud infrastructure tools, the open source community has stepped in to supply an array of alternative platforms, including OpenStack, CloudStack and OpenNebula.
Open source cloud infrastructure tools are cost-effective and highly extensible, but they also pose challenges. Here are five common issues users experience with open source cloud infrastructure tools, along with strategies to avoid them.
1. IT silos cripple deployments
With cloud computing tools and platforms, organizations can find, organize, provision, optimize and monitor data center resources with a high degree of autonomy -- a concept known as user self-service. This model contrasts traditional IT organizations, where separate groups manually perform disparate tasks, such as server setup or network configuration.
Even though cloud infrastructure tools like OpenStack, CloudStack and OpenNebula can streamline cloud orchestration and automation, the tools themselves are far from automatic. Extensive setup, integration, workflow definition and other detailed efforts are required, and businesses may use them in different ways.
To successfully deploy an open source cloud infrastructure tool, combine the expertise of your server, storage, network and business teams. Remove all silos before starting a cloud project. And remember that cloud infrastructure deployments aren't fast or easy; they often require a major shift in corporate culture and management, and may require staffing changes.
2. It's still early days for open source cloud tools
New technologies experience growing pains, and open source cloud infrastructure tools are no exception. As a result, these tools can present a unique set of challenges.
For example, a single OpenStack deployment might involve a number of OpenStack components, such as Nova for compute, Swift for storage, Heat for orchestration and Neutron for networking. And this doesn't even account for supplemental issues, such as high availability and access to back-end databases, which can further complicate cloud infrastructures.
Also, the open source community's agile development efforts aren't always smooth or bug-free. Features may not integrate or function properly, and there is no guarantee the community will address these issues -- at least not in the timetable you need. In addition, don't expect the polished manuals, documentation and support that normally accompany a vendor's product.
Careful evaluation and proof-of-concepts are crucial for open source cloud infrastructure platforms. Know the tools and their individual components before planning a cloud project.
3. Integration is a doozy
Open source cloud infrastructure tools like OpenStack, OpenNebula and CloudStack are comprehensive platforms for enterprise cloud deployments. However, they are just one core part of the environment --middleware -- and each platform demands customization and integration with other front-end and back-end software.
Typical integration involves clustering, monitoring, provisioning, configuring, logging and alerting. For example, cloud infrastructure middleware almost always needs access to a back-end database like SQL to store configuration details. Clustering, meanwhile, might require integration with tools like Pacemaker or Corosync. And the list goes on.
Ultimately, deploying an open source cloud infrastructure platform and integrating different front- and back-end components requires significant knowledge of hardware and software. Changes to any element can impact the entire cloud environment. Integration is a huge project that takes a team to implement properly, and additional staffing may be needed.
4. Security and performance
Open source cloud infrastructure tools aren't always configured for security. For example, OpenStack defaults typically allow for non-secure sockets layer (nonSSL) endpoints, but this can open major security vulnerabilities in Keystone, the OpenStack identity and authentication service. As a result, it's crucial to add SSL encryption to Keystone instances. Also, turn off the debug mode in Keystone and other modules after deployment, and change passwords from their default values. Always review and implement security best practices for all cloud and software components.
Likewise, cloud infrastructure deployments don't guarantee optimum performance for servers, storage, networks and software. Once the environment is secured, optimize or tune performance at the basic input/output system, server, hypervisor and cloud component levels. Errors and alerts in management or agent log entries can provide valuable clues about where to optimize. For example, setting a server's power management or CPU to maximum performance can maximize hardware performance.
5. It's free until it isn't
Never opt for open source cloud infrastructure tools based on cost alone. The tools may be free, but the effort needed to customize, integrate, tweak and troubleshoot open source code can make the cloud project costly and time-consuming. A successful cloud project -- especially on an open source platform --requires broad knowledge, copious testing and timely support from IT, as well as the broader open source community. Even then, open source cloud deployments can be onerous, and professional services or consultants are needed to help move the project forward.
Stephen J. Bigelow is the senior technology editor of the Data Center and Virtualization Media Group. He can be reached at firstname.lastname@example.org.
Exploring the perks, drawbacks of open source cloud
Three questions to ask open source cloud vendors
Enterprises climb on board with OpenStack cloud
Using open source software to build a cloud ecosystem
Are customers confused about open source options in cloud?