Wednesday, August 8, 2012

Mobile Packet Core – Cloud and Virtualization

Off late there has been a lot of buzz around network virtualization. Software Define networks, Openflow, Nicira acquisition by VMware, Xsigo acquisition by Oracle, Wi-Fi virtualization by AnyFi are few instances.

In the similar lines I was wondering if mobile packet core can be placed in cloud and whether EPC can run on virtual servers rather than on custom built hardware.  As far as I know there is quite some work going on in that direction in the industry. To understand better I tried a little exercise to see if the idea is remotely possible.
One of my colleagues has registered to Amazon Web Services and got an instance of Ubuntu in cloud. That means he owns a virtual machine running Ubuntu which can reached from anywhere in the world by an IP address and a set of encrypted key’s. It seems it is very easy to setup an instance of linux using Amazon web services and machine is up and running in matter of minutes. I, myself, have seen over past few years the physical linux boxes in labs were being replaced with virtual machines. So virtualization is not a new thing after all. But providing a virtually instance in cloud, dynamically, and resources (Memory, network cards, processors) being allocated based on the need is something new and interesting. So my colleagues Ubuntu instance was up and running.
I took my GTP code, SGW, that I wrote years ago and ran it on the server.  MME was running on my local machine. Couple of firewall exceptions on server and boom, my local machine and ubuntu on cloud was nicely exchanging the GTP packets. Well, it’s a client server communication you don’t need to be an Einstein to make it work; as long as IP’s are reachable everything is supposed to work. So, here it is my first GTPv2 call over the cloud onto a virtual server.
It does make me believe that mobile packet core can be pushed to cloud and onto virtual machines. There are definite challenges, but over the years it seems to be possible. Imagine bringing up more virtual instances of EPC components during the peak hours and shutting them down during the nights. If there are bunch of machines that are going to send one time information during a particular time of day, we can get the virtual instances ready to take the explosion of messages and bring down the instances once the information is exchanged. Resource can be dynamically allocated based on need.
What do you think of this? Does this seem to be a viable solution?


Anonymous said...

Clouds... Pink ponies... All looks so nice on slides... and probably it looks very easy with 1-2 sessions with no traffic, DPI, customers, etc...

Now back to Earth and real life - there are so many non-standard customer specific features, there are so many caveats, the real networks are handling 10s of Gigs, etc... How do you scale, how do you dimension, how do you shut off and on without impact?

One day may be, but not anytime soon...

Santosh Dornal said...

Yes, agree. Technology is still years away. However we can turn to Amazon for example. AWS lets you see real time information about CPU/Memory utilization of virtual machine and easily allows you to add more memory/processing capabilities. They also seems to have a model where they charge based on the CPU utilization.

It might not make any sense now...but this could be disruptive in next 5 to 10 years :) Agree?

S.Kar said...

Technology is evolving and everything is possible. Who had an idea that 3G won't last that long? LTE kicked in before even 3G matured.

Cloud infra should be robust to fit EPC in there. Long way to go but Few companies had started their research.

It is good for all of us.