Launching a Virtual Ground System Network – The Bridge to Being an Internet “Experience” Provider

Like most developers, we think what we are developing is the most important part of our system.  Our infrastructure service is the center of the universe; everything else revolves around it. Ok in reality, Viasat’s brand-new satellite broadband service is the main thing, the virtual network is built to support it. But the virtual network is very essential to the whole customer experience and a pathway for Viasat to create a planet-wide broadband network.

In today’s world connectivity has become essential but the traditional service provider networks are very slow to change. The people using the networks learn to adapt to the shortcomings. That is human nature, most humans learn to adapt and work with awkward networks. It’s the same as people demanding for “faster horses” instead of cars from Henry Ford.

Viasat is different, we design and operate our own technology. That allows us to innovate and build products that benefit Viasat and allows us to transfer the benefits to our customers.


Our new ground segment network is the world’s first production end to end virtual network. It is completely run using DevOps methodology.  Most other service providers and even people within our organization, think we were crazy to embark on that journey.


Seven Steps to a Virtual Service provider network

Here are the 7 steps to create a ground system for a satellite that is completely virtual in our private cloud.

 Step 1: Setting up the hardware

This step isn’t really key to this article, so I’ll just summarize to say that operating our private cloud includes deploying and managing all the equipment we need in our data centers.  This step ensures we have all the necessary equipment installed and ready for provisioning.

Step 2: Powering up and base provisioning

We use ZTP (Zero touch provisioning) for all of the hardware in the data center. Everything from the switches to the computers boot off and get the right software (OS) and base configuration from the provisioning servers.

 Step 3: Assign devices personality and provision

After the ZTP finishes, the auto-provisioning process starts, this continues for the lifetime of the hardware. Basically, the auto-provisioning agent’s job is to make sure that the configuration on the underlying hardware matches the model.


We use Ansible and our own developed vendor drivers to abstract the vendor specific methods from the actual model.

After this point all of the computes are setup for the IaaS layer install. The routers are connected to the backbone and switches are setup for all of the datacenter connectivity.

Step 4: Setup IaaS layer

The next step is to lay down the IaaS layer – we have our own – ViaStack. It’s a custom IaaS layer that supports a service provider use case of a “transient data center”. I had an earlier blog post that talks about transient data centers :



Step 5: Setup Virtual networking and dynamic service chaining

This is the final stage of infrastructure. Here is where we create the layer that makes virtual networking possible. Some of it is covered in this blog post:

After all of the software is installed. We create layers of the network (vnets – Virtual Networks) that connect pieces together.

Step 6: Deploy applications

At this stage – all of our internal as well as vendor apps are ready to be deployed. These range from virtual routers, traffic conditioners to actual Satellite MAC layers.

The applications all do blue/green deployments. Basically, this approach allows a new virtual network application cluster be created while the one is still in service. Then we can choose to bring the new cluster in service in stages. This way we do minimal disruption to our customers.

We also use the concept of network-templates, the same templates are used in all stages of the promotion pipeline.

Step 7: Activate the network – add subscribers

Now the network is ready to run. We can add millions of subscribers to this ground segment. Monitoring is still something I want to cover. It’s a big topic on its own.


Why are networks that are virtual better for customer experience you ask?

Virtual networks allow insertion of new network functions dynamically: It’s like loading apps on your phone to personalize it. Network functions are like apps, some people need a certain set verses other and of course, they always want the latest one.

Allowing new network functions to be dynamically inserted is huge. It allows us to create apps for the network. For example, an app that can optimize the video experience and give our customers virtually unlimited video viewing capability. In the future we will have more apps that allow customers to have more activate participation in their service.

Network virtualization also allows for new levels of stability not possible earlier. We can do smaller upgrades with quick rollbacks if things go wrong. We can do hitless updates during the day vs taking the service down in the middle of the night when our customers are up late binge watching their favorite show.

Having a virtual network means that we can connect devices around the world in a very dynamic fashion. A passenger on an airplane going from the US to Europe can not only get fast internet service all the way but they can get it even when we cross satellite boundaries.


Lift: A General Purpose Architecture for Scalable, Realtime Machine Learning

In the last few years, we’ve witnessed explosive growth in the role machine learning (ML) plays in technology. Making good predictions from data has always been important in our industry, but modern machine learning techniques allow us to be much more systematic. However, this wealth of new ML algorithms and services present new challenges for software developers.   (more)

Solid-State Power Amplifiers vs. Traveling Wave Tube Amplifiers

Viasat is leading a new wave of communications satellite innovation. This is a by-product of our belief that there is always a better way and not being satisfied with the “state-of-the-art” industry capabilities. It demands we think differently as we develop next generation technologies to enable satellite systems that are demonstratively better than have been offered in the past. Our unique industry position allows us to optimize the entire system, from the ground network to space payloads to user equipment. For high-throughput satellite payloads like ViaSat-1, ViaSat-2 and ViaSat-3, new technologies will need to be developed that get the industry beyond the status-quo and allow for orders of magnitude improvement in capacity and coverage area. We’ll discuss how new solid-state integrated circuit technologies are a tool that can be used to improve critical dimensions of performance for new satellite payloads.   (more)

Orchestration for a Virtual Network

Our next generation network is basically built with mostly virtual network functions. These are services that ViaSat has migrated from custom/purpose built hardware to a virtual platform. One key component for construction of virtual networks is orchestration. It ties the deployment of the virtual network functions with the rest of the network using the network controller service that I wrote about in my last blog.

Using Artificial Neural Networks to Analyze Trends of a Global Aircraft Fleet

I’m an intern in the Commercial Mobility group at ViaSat.  Our group is responsible for all of the company’s commercial aviation clients, providing internet services to aircraft. While providing the world’s best in-flight internet service to airplanes traveling over 500 miles per hour 30,000 feet above the ground is no small feat, it is also a challenge to analyze and predict user demand of our network. There are typically several hundred planes connected to ViaSat’s network at any given time amounting to 15,000-40,000 flights a week depending on the season. With this much range and traffic, and flights leaving all times of day, all over the world, modeling anything about them becomes very difficult.


VWA’s Journey to DevOps

ViaSat Web Acceleration (VWA) is a product that provides terrestrial-like web performance for our Exede satellite internet customers.  It is a merging and evolution of two ViaSat products: iPEP, a TCP accelerator, and AcceleNet, a web accelerator.  Development of VWA started about four years ago, as a project in our Acceleration and Research Technology (ART) center based in Boston.  More importantly, it was ART’s first project that experimented with continuous integration (CI).   (more)

Virtual Service Provider Networks

The service provider network is the essential pipe that delivers connectivity to enable innovation. It has the potential to limit or expand the innovation that people and applications riding on it can deliver. With the advent of new apps, games, and devices, the demands on the network keep changing almost every day. The traditional service provider network that took months (if not years) to evolve is not able to keep up with the demand.

At the same time, ViaSat is launching next-generation satellites that have capabilities to cover the whole planet with high speed internet. In order to be more agile, we at ViaSat embarked on a journey to create the next generation network that supports a worldwide and ever-changing footprint.   (more)

Five Years, Five Networks

My name is Stephan Kemper. Today, I lead ViaSat’s Cloud Engineering team, called VICE. VICE is responsible for helping groups all over ViaSat learn what it means to develop for the cloud, as well as supporting and protecting the cloud networks that ViaSat operates. There are at least a dozen groups using public cloud platforms today, with more being added to the list all the time. By far, the majority of this all takes place on the excellent Amazon Web Services platform, though we also use Microsoft Azure and OpenStack to some extent. To kick this blog off, I wanted to tell the story about how ViaSat got here, and the things we learned along the way.   (more)