How to Orchestrate VNFs in NFV and Deploy a Skype-like vIMS Application with Cloudify and Clearwater on a Multi-VIM Environment
What is a vIMS on boarding service?
It is a virtual phone or even a mobile phone where users can connect to each other, similar to Skype. It is built on the following architecture. Bono, which receives the incoming connection, then sends it to Sprout which acts as the IP gateway with all of these interfaces. Bono implements the P-CSCF interface. You can also connect to Bono with WebRTC clients. Next, it goes to Homer and Homestead which are the databases, and are redundant for high availability. Then Ellis provisions the users – which are basically phone numbers in this case, where you use this phone number to configure your mobile or your virtual client, like a Jitsi client. And the you have Ralf for billing.
Watch our Clearwater orchestration video now. Go
Next, you will use Cloudify Composer to model the whole thing. See below for an idea of what this looks like.
On the left side of the composer you can see the various components that I used. You can see a server component, a network component that can run on any cloud, and multiple clouds, such as OpenStack, vCloud Director, VMware integrated OpenStack or VIO, Amazon, and other clouds as well.
Next, I assign IP addresses to each VNF. You can check the interface, the network and you can do the same for all of the components.
Now, let’s launch and create a blueprint. As you can see below, Composer actually generates a TOSCA file which in turn will be uploaded to Cloudify Manager.
For this demo, I used the VMware NFV Orchestrator to hold the blueprint and uploaded the blueprint to the Manager. The Clearwater IMS example is available on Github.
Going now to the WebUI, you should see Cloudify Manager showing all of the components and connections as well as all of the TOSCA relationships with the DNS and the other applications (Sprout, Bono, etc.). You can look at the network topology and source code as well.
If you click into the source code, you can see the TOSCA definition, the imported components, the plug-ins, the relationships and node types. If you continue to scroll down, you can see the inputs and node templates as well the anti-affinity rules. Moving down, Ellis, Homer, and Homestead each have anti-affinity rules as they each have to run on different hypervisors. Scrolling down further, we can finally see the other nodes as well as the applications that preside within the nodes.
Going back to Deployments on the left sidebar, we can now see the actual deployment of the application. You can see all of the relationships, policy node, Bono VM, DNS VM, Ellis VM, Homer, Homestead, Ralf, and Sprout. Note that everything is green, which means it is running correctly and the deployment was successful.
You can also see the various VM’s launched on the NFVI.
With everything working as expected, you can now place a call using the application.
Don’t miss the rest of our great content from the MWC 2016 event!