“Just-in-Time means making only what is needed, when it is needed, and in the amount needed […] it is necessary to create a detailed production plan […] to eliminate waste, inconsistencies, and unreasonable requirements, resulting in improved productivity.” – Just in Time, Philosophy of Complete Elimination of Waste byToyota.
“Each unpredictable feature demanded by customers is considered an opportunity […] this requires rapid adjustment of production capability. Dynamic and flexible network utilizations in functional modules can maximize the strength of each resource and the overall risk and costs are reduced.” – Flexible Manufacturing System for Mass Customization Manufacturing by Guixiu Qiao, Roberto Lu and Charles McLean.
“Providing capacity in a more expedient fashion allows us to deploy a functioning and consumable business service more quickly […] at the core of our self-service functionality is a hosting automation […] On-demand self-service is a critical aspect of our cloud environment; however, without underlying business logic, controls, and transparency, an unconstrained on-demand enterprise private cloud will quickly exceed its capacity by doling out allocations beyond its supply.” – Implementing On-Demand Services by Intel.
“Elasticity is commonly understood as the ability of a system to automatically provision and deprovision computing resources on demand as workloads change […] in a way that the end-user does not experience any performance variability.” – Elasticity in Cloud Computing: What It Is, and What It Is not by Nikolas Roman Herbst, Samuel Kounev and Ralf Reussner.
This past few months I’ve followed a few discussions on virtualization and scalability.
There is such a thing as becoming a victim of success when pent up demand strikes and a business fails to scale accordingly.
Capacity management has typically prompted over-engineering decisions and long lead times taking a year or more in the telecoms industry. This can result in concerns about delayed breakeven points, underutilizing precious resources as well as limited offerings due to the higher cost of oversubscribing.
Lean means staying nimble at any size, streamlining and keeping lead times as short as possible by design. Effective and efficient capacity management relies on understanding economies of scale and scope. The first relates to achieving larger scales triggering more efficient utilization levels and, therefore, lower and more competitive average costs.
Scope means taking advantage of synergies and common infrastructure and platforms to deliver a variety of services, application multi-tenancy being an example in NFV’s (Network Functions Virtualization’s) context.
Active portfolio management follows: complementary application lifecycles can share resources and raise overall utilization levels in the process. Moreover, some applications can be deconstructed and modularized so that specific subsets become standalone services available to (or reused by) other applications. These can be decoupled to join a common pool and scale independently.
In some discussions we refer to growth models where “scale” follows a “vertical” approach while “scope” adds breath with new functions and is, therefore, a horizontal expansion model. This breakdown allows for plotting and segmenting growth/de-growth scenarios in a simple matrix. I am experimenting with new ways of helping visualize these concepts. This is work in progress and the final result will look different from early drafts poste here. Though, I think that they can be used for the time being.
One other thought… elasticity relates to following demand curves: offer meets demand by dynamically adapting capacity. This entails provisioning, deprovisioning and a virtuous circle by means of gracefully tearing down resources, which are freed up and exposed for other applications to leverage. Elastic computing seems to make us think of unlimited just-in-time capacity, but there are upper and lower boundaries involving diminishing returns. It just so happens that virtualization has pushed the envelope by considerably widening and shifting these constrains.
It is worth reflecting on Gordon Moore’s law in this context: many incremental and disruptive innovations yield exponential performance improvements in today’s cloud age. That can be coupled with NFV’s (Network Functions Virtualization’s) shift from lengthy lead times, cumbersome operations and costly dedicated hardware to automated systems working with a wide supply of more affordable COTS (Commercial of The Shelf) hardware and open source solutions.
Let’s now focus on the notion of service decomposition and how that impacts scaling.
This exercise often starts with deconstructing monolithic systems typically relying on vertically integrated architectures, then looking at the actual services involved, dependencies, flows… and figuring out what is best to keep integrated vs. modularized, centralized vs. distributed.
This also entails looking at opportunities for what it takes to streamline development time, such as code reuse and processes worth exposing by means of API (Application Programming Interfaces). Note that many applications do not need to duplicate assets and can become distributed systems consuming resources and processes running elsewhere.
In this section’s graphic, the application is a VNF (Virtual Network Function) which has been decomposed and right-sized to run in three different VMs (Virtual Machines) of different volumes instead of procuring a single physical server for just this application.
Lighter gray blocks at the back end present a pool of services available to that and other applications. As an example, when decoupling an application’s logic from the app’s data we get to leverage DaaS (Database as a Service) as one of the shared services.
These are the “scaling” terms provided by ETSI (European Telecommunications Standards Institute) NFV reference documents:
- Scaling up: extending a resource (compute, memory, storage) to a given VM.
- Scaling down: decreasing resource allocation.
- Scaling out: creating a new instance, adding VMs.
- Scaling in: removing VMs.
Circling back with service decomposition: there are scaling scenarios where there is no need to go through the trouble of scaling out an entire application, but just a specific service at stake, such as one of the VMs or the database in the previous example.
In some other scenarios scaling can prompt application updates and/or upgrades to enable new functionality. Suitable “upgrade windows” can be hard to find when multiples services are in demand and expected to remain always-on anytime. A stateless architecture means that the session’s state is kept outside of the application, with the shared database in this example. Traffic can be redirected to an application’s mated pair, this is a second instance which was kept on active standby mode until the maintenance event.
This also means going beyond 1+1 models where everything is duplicated (mated pair concept) for failover sake. There often are more efficient n+k systems in HA (High Availability) environments. Note that, paradoxically enough, rolling out upgrades happens to be a primary source of maintenance issues thereafter, adding to the need for sustaining service continuity at all times coupled with zero touch and zero downtime.
Zero touch is delivered by automation, which relies on continuous system monitoring, engineering triggers and preceding work with recipes, templates and/or playbooks (these are alternative terms based on different technologies) detailing what needs to happen for to execute a lifecycle event. Scaling is the subject of this post and onboarding, backup, healing, termination are other lifecycle events just to name a few more.
Programmability drives flexible automation, which is data driven and based on analytics. Predictive analytics goes a step further to project and address trends so that actions can be taken in advance. In our Lean NFV Ops demonstration we purposely stimulate network traffic with a load generator to exemplify this. We run scenarios illustrating both (a) fully automated scaling and (b) autonomation by switching to manual controls that put the operations team in charge at every step.
Autonomic computing is powered by machine learning. Research on NFV autonomics points to the ability to self-configure, specially so under unplanned conditions. Looking into automation and distribution modes helps define maturity levels for NFV, that being a topic for another article.
Let’s zoom out to discuss scaling in the context of the platform.
ETSI NFV defines MANO as the Management and Orchestration system. “Managing” refers to addressing the application’s lifecycle needs, scaling being one of them. The notion of “orchestrating” focuses on the underlying resources to be consumed.
The MANO layer is thought out as NFV’s Innovation Platform, which I show in purple color: the thickness of that layer conveys the degree to which an application uses more (right) or less (left) of MANO’s capabilities. This is an application multi-tenant environment where VNF1 shows a monolithic app example in contrast to VNFn which is meant to take full advantage of MANO’s automation.
This cross-section shows a horizontal architecture as the platform supports multiple applications as well as back end systems. Horizontal and vertical solutions scale differently. A common platform presents à la carte features and start small, growing and scaling to enable homogenous end to end management across the applications, while the monolithic approach moves forward with siloed operations on an application by application basis.
One more example, growing by adding interdependent services is a discouraging endeavor when reconfiguring multiple functions becomes overwhelming. SFC (Service Function Chaining) comes to the rescue in a virtual environment by providing network programmability and dynamic automation to create networks connecting new services. NFV’s scaling needs make a good case for SDN (Software Defined Networking), the technology behind SFC.
Now moving to what’s under the hood.
NFVI stands for Network Functions Virtualization Infrastructure. Most typically, what we can see and touch is a data center environment providing resources consumed by the applications such as compute, memory, storage and networking to begin with.
The visual in this section shows a conceptual server farm right under the platform. Blue nodes on the left and brown ones on the right are physically placed at different geographic locations, yet forming part of the same NFVI orchestrated by MANO. The gray one is being added: scaling out of the existing infrastructure. The green node lays outside and can be leveraged when bursting:
- Scaling out: adding more servers (gray cube).
- Scaling up: leveraging clusters and/or distributed computing to share the load (blue and brown cubes).
- Bursting: tapping into third party infrastructure to address capacity spikes (green cube).
Note that, in this context, scaling up can also mean upgrading servers to handle larger workloads. This can also be about using an existing chassis while replacing a server with a new node featuring more processing, data acceleration, lower energy needs, etc.
Early on we talked about COTS’ being easier to scale out when compared to proprietary dedicated hardware. It has partly to do with standardization, centralized management and consolidation, the existing supply chain for x86 systems and node automation.
We can also factor consumption based models where a given application’s business case is not impacted by up-front CAPEX (Capital Expenditures). Instead, the application business case accounts for resource usage levels which, once again, benefits from economies of scale and scope. The notion of elasticity makes infrastructure planning transparent to the application.
Capacity and performance management skills remain of the essence: the move to applications based on stateless architectures means that scaling distributed applications places a greater emphasis on API behavior by addressing capacity and speed in terms of RPS (Requests Per Second). And, nonetheless, the telecommunications industry is known to require high capacity, low latency SFC, which is driving data plane acceleration solutions.
We can now zoom out.
Scaling is not a new thing or need. Conventional architectures can scale, they just don’t do it fast or effectively enough in a cost effective fashion. Taking months and years to get the job done risks missing markets and taxing resources which would have been needed to create innovative services.
Admittedly, one of the objectives behind writing this was wrestling with jargon by outlining “scaling” terms in context, whether related to application, platform or infrastructure. Hopefully, that goal was accomplished. Otherwise, please let me know.
One other thought… NFV is a change agent. Hence, cool technical wizardry alone does not suffice. We are discussing emerging technologies causing interest in connecting dots across behavioral economics (and not just the business case) and organizational cultures and decision making in the telecoms sector. Understanding the human factor matters.
As usual, I will be glad to continue the conversation by exchanging emails, over LinkedIn or in person if you happen to be around at IDF15, Intel Developers Forum, in San Francisco’s Moscone Center on August 18-20.
This is the third time I get to shake hands with Michel Combes, who became Alcatel-Lucent’s CEO just a year ago. Michel is based in Paris, the company’s global headquarters and he was last here in Naperville (Chicago) this past Friday. Michel met with CloudBand’s team at CIC to further discuss NFV (Network Functions Virtualization).
NFV is an emerging technology set to redefine telecommunication systems, services and operations. The underlying paradigm shift, and a source of widespread disruption in this industry, highlights a new and relentless pursue of “software defined” environments. CloudBand is pioneering the way in the platform and distributed carrier cloud areas. Dor Skuler‘s early foresight and drive got us a head start: CloudBand makes us proud by powering CIC for the past three years already. At the time of writing this, CloudBand is now deployed in the labs of most top tier network operators worldwide.
NFV’s innovativeness openly clashes with conventional deployments that are mostly relying on fairly rigid carrier systems. When talking about conventional architectures we typically think of dedicated gear performing as proven black boxes. Unfortunately, many of the gains were achieved at the expense of operational efficiency. Today’s bloat creates complexity and fragmentation hampers adaptability. That elongates time to market and, in turn, it makes scaling a costly endeavor. Moreover, this chain reaction ends up with delivery and fulfillment concerns impacting the cost of services offered to consumer, business and public sector markets, as well as to other service providers.
NFV claims all of the benefits that “cloud economics” enable, where dynamic service delivery, lean and agile development and operations, higher utilization levels and ROA (Return on Asset), coupled with cost-effective and responsive elasticity can make all the difference. Elasticity talks to right sizing and applying proportional changes on demand. Understanding elasticity can be approached in terms of economies of scale as well as scope. Some of these service delivery changes manifest themselves in real time and, in any case, lead and implementation turnaround times happen to dramatically outpace what conventional architectures allow. We are talking about instantiating virtual resources (software defined systems) and leveraging shared pools while onboarding and deploying live services in a matter of minutes (or hours at most), instead of months and even years.
Overall, this is pretty neat stuff. I will be covering this topic in my next presentation at Software Telco Congress. I will also discuss examples illustrating why behavioral economics is of the essence. This is due to the fact that conventional business cases alone can fall short from moving the needle when accounting for deeply entrenched industry dynamics. Feel free to contact me over LinkedIn if you happen to be there in L.V. for this event and like to meet. In the meantime, past presentations are available on the content’s section of this blog.
Last Friday’s discussion with Michel at CIC was led by Ted East. Ted’s CIC is a center of excellence for carrier cloud solutions. CloudBand 2.0 deploys our Management System jointly with OpenStack and Nuage Networks’ SDN (Software Defined Networking) framework. CIC’s most visible work can be decoupled into two mainstream programs:
- Community Cloud delivers a no-hassle in-house IaaS (Infrastructure as a Service) for any employee and company team to take full advantage of. The Community Cloud operates on a self-service basis.
- NFV Hub welcomes customers, partners and the company’s own business units. This program unfolds into the “NFV Lab” supporting CloudBand’s Ecosystem and the “NFV Experience” offering live demonstrations, hands-on training and community outreach. The NFV Hub involves technical consulting and knowledge exchange support.
CIC has become a key change agent by moving persistently forward with CloudBand’s vision, spreading the word, building strong relationships by supporting a wide variety of teams addressing VNF (Virtual Network Functions) across the business.
By means of an example, one of our live PoC (Proof of Concept) demonstrations, which was recently unveiled at the NFV Town Hall Meeting, makes it crystal clear that sophisticated systems such as IMS (IP Multimedia Subsystem) and EPC (Evolved Packet Core) can be automatically deployed in minutes with literally the push of a button, or by means of analytics, engineering rules and policies for that matter. This is a collaborative effort where different business units join forces and exemplify how to take down arbitrary silos in the cloud age.
This follows up on “Mobile Meets Cloud,” a program that we unveiled in advance to Mobile World Congress early in the year, which displayed IMS and EPC as standalone virtual network functions at two different demo stations. Those of you familiar with the work done by ETSI’s Industry Specification Group for NFV will be interested in Use Case #5 on the “Virtualization of Mobile Core Network and the IP Multimedia Subsystem.”
As part of our demonstration experience, real-time communication applications are also showcased in the context of VoLTE (Voice over LTE) and with the value of a carrier PaaS’ (Platform as a Service) injecting lifecycle automation with no loss of control and full operational visibility.
There are quite a few other things that set this demonstration experience apart to make our systems fall in the realm of Arthur C. Clarke’s third law where “any sufficiently advanced technology is indistinguishable from magic.” Thought that stuff and the role that Bell Lab’s research and smarts play… can only be shared with an appointment ; )
Last but not least, I’d like to share that Michel is the fifth CEO we work with since I joined the company: it was great to see his level of engagement first hand here in Naperville. A town hall gathering followed his morning meetings with various teams, which required opening our two on-campus auditoriums. Those at the Schacht Auditorium followed the town hall over a video link on the theater’s screen.
The fact is that there is a sense of renewed energy building up. This feeling is actually anchored in new success stories and growing momentum. Add to that his direct communication style, approachability and positive drive, all very much welcomed at Alcatel-Lucent’s largest worldwide campus this past Friday.
See you at Software Telco Congress in a couple of weeks.