OpenStack is a popular automation tool for cloud deployments in the data center. I believe it is also the right choice for universal customer premises equipment (uCPE) applications. At the same time, I will admit that OpenStack has some drawbacks for use with uCPE.
One model is to run the OpenStack controller centrally, with the OpenStack agents running on the uCPE server. In this case, you hit problems with scalability, upgradability, startup, and security.
Another approach is to run the OpenStack controller on the uCPE node. This is also known as “embedded cloud” or “cloud in a box,” and it addresses the issues identified above. But OpenStack has a hunger for memory and compute cycles, and both of these are in short supply on a low-end uCPE server.
Given these drawbacks, why should we use OpenStack for uCPE? Before I answer that, let me answer another question.
Why use OpenStack?
OpenStack is popular because of its benefits for cloud automation. These benefits include a large ecosystem of developers and applications, a rich set of APIs, broad support in the industry, open source implementation, availability of commercially supported versions, etc.
The article Why You SHOULD Want to Use OpenStack identifies a number of benefits of OpenStack, including cost. To quote the article, other benefits include:
- The complexity of supporting a common infrastructure is lower by definition, than supporting diverse infrastructures that don’t have any common ground.
- OpenStack has become a marketplace for all the data center providers increasing the competition and in this way, driving down the cost of each provider.
- This reduces the barrier of entry for more players, and as a result we’re starting to see more startups providing new products and offering the ability to plug into OpenStack.
The article Explained: How OpenStack works and six reasons you should have a cloud on this platform provides some more benefits. Here are the six reasons promised in the article’s title:
- Scaling is easier than ever
- Rule the cloud through automatization
- Open platform allows fast development
- Benefits of a huge community: tips, documentation and experience
- Advantage for businesses: Ready-made OpenStack
- OpenStack cloud can be inexpensive
Many cloud and telco operators have investigated OpenStack and its alternatives, and have adopted OpenStack for their cloud/data center operations for the reasons cited above.
One benefit of OpenStack is especially important: its popular northbound APIs. These APIs facilitate automation through enterprise management systems, (e.g., Ericsson Cloud Manager, Amdocs, NetCracker, Ciena Blue Planet, etc.), open source systems (ONAP and OSM), as well as home-grown solutions.
With that in mind, let’s move on to the real question.
Why use OpenStack for uCPE?
The answer to this question is based on the answer to the first question. Most operators would like to have a consistent cloud infrastructure from end to end. If a cloud or telco operator has bought into OpenStack for the data center, then it also makes sense to use OpenStack for uCPE. That’s why Masergy and Verizon deploy embedded cloud in uCPE: to provide that consistent environment, both in the data center and in the CPE. By doing so, they have accelerated development and deployment of virtualized services.
As I mentioned above, the availability of a standard API has driven integration of OpenStack with higher-level management systems. This integration can be reused at the edge of the network when OpenStack is a part of uCPE deployments.
It is true that OpenStack has costs in terms of compute power and memory. We at Ensemble have reduced this impact with our embedded cloud technology, enabling the OpenStack controller to share a single processor core with other management applications. In addition, CPU and memory will continue to decline in price, further reducing the impact of embedded cloud.
I will note that there are other approaches to providing the control and telemetry functions of OpenStack. However, those approaches may require reinventing OpenStack capabilities. They may also mean inconsistency in the environment if OpenStack is still used in data center deployments.
OpenStack is not perfect, but it is the best option
In short, OpenStack has costs and is not perfect for uCPE. However, it also has many advantages as indicated by its broad deployments. OpenStack in the uCPE is the best option, and it can be an essential part of achieving an end-to-end cloud environment.
Prayson Pate is CTO, Ensemble Division, at ADVA Optical Networking.