We have been planning an IPv6 network for almost a year and in the last 6 months we finally put that plan to action. At a first glance the thought of implementing IPv6 seemed daunting considering how big and complex a network gets over a period of time. We quickly realized that a plan is definitely needed but that plan doesn’t need to be comprehensive, instead it should be small and iterative (we love agile methods in Genius).
I will go over this small plan in more detail through a series of blog posts but first lets talk about why we need to think about IPv6 as a SaaS company. IPv6 is not something new, it has been around since December 1998 as seen in RFC 2460. I will not go into the details of IPv6 protocols but only say that IPv6 was introduced to solve the IPv4 exhaustion problem. When IPv4 was first implemented there was really no e-commerce or mobile applications and no one ever imagined we would have so many devices as we do on the Internet today. Very quickly some talented folks at IETF realized that we will eventually run out of IP addresses since a 32 bit address scheme yields only roughly 4 billion addresses. NAT was introduced at some point in 1994 to help alleviate the IPv4 exhaustion problem but this was not the best long term solution, NAT is sometimes seen as technology which made real-time applications quite impossible and hampered innovation. IPv6 is quite a well thought out protocol which considers the future growth of the Internet, as a result it employs a 128 bit addressing scheme which yields to a very large number of IP addresses. We are talking about 295 addresses for each of the 6.8 billion people in the planet or the same number of IP addresses per person as the number of atoms per metric ton of carbon.
So what does all this mean for me running a SaaS application? Why do I care when I only want to provide content, build applications or the next social network? SaaS providers and content providers install servers at an alarming rate when they build and grow their business, a very popular social media gaming company reportedly installs 1,000 servers per week and when a SaaS company grows, it can demand a lot of servers. Typically the SaaS technical operations team will request an IP space from ARIN or their upstream Internet service provider. For now most people happily fill out justification forms and get either a /24 or /20 etc but this will only last until 2012 or perhaps sooner. The picture (dated October 18th 2010) below shows IANA allocations of /8 address space to RIR’s.

So is 2012 or perhaps middle of 2011 TEOTWAWKI? No it isn’t and don’t panic! IPv4 exhaustion is not like Y2K where there was a general fear that all technology would stop working. Even if we run out of IPv4 addresses tomorrow the Internet will continue to work but there will be serious challenges for many who are expanding network and server infrastructure or planning to build the next killer application. This is why all technical operations folks and even developers who are building SaaS and content applications need to think IPv6 and start implementing it now instead of waiting. I can already hear some of you say “but wait! you just said it isn’t TEOTWAWKI, so why should I do anything now? I can wait till IPv4 is exhausted and worry about it then!” The answer is simple, it is cost. If you have been running a SaaS application for 5-10 years chances are you didn’t think about v4/v6 dual stack on your servers and your routing/switching gear isn’t upgraded or configured to support IPv6. All of these upgrades and the work involved to transition to IPv6 cost money and the longer you wait the more costly it will be. IPv6 adoption worldwide has been slow but especially slow in the United States, we are currently seeing an adoption rate of 5% which is quite abysmal.
Why has it been slow? Simply because there is no business incentive to drive the move to IPv6 but this attitude will prove to be quite costly to anyone who manages infrastructure connecting to the Internet. While there is no business incentive today there may be a crisis in the near future when you want to install 10K servers over a span of 3 months and it becomes impossible to obtain IPv4 addresses. You will then look at a plan quickly and be shocked by the sheer cost of upgrading your network and server farms to IPv6. So how do we avoid this? The answer is to start migrating to IPv6 now! Start with a simple plan, dust off old equipment to see if it can be upgraded to IPv6 and check your newer equipment to see if it is running IPv6 and what will it take to do an upgrade. All of this requires planning but it doesn’t have to be an exorbitant plan, keep the plan simple (take deep breaths) and enjoy discovering the implementation of IPv6.
The Genius IPv6 migration plan: clients first, gain experience, production servers and applications.
One of the biggest challenges we faced at Genius was that our ISP’s were not ready to support IPv6. We run BGP in our network so naturally we wanted to run a dual stack with multiple providers, thankfully we came across a few external providers that allowed IPv6 connectivity using a Tunnel broker. To keep the plan simple we decided to make it happen in roughly two major phases, the first phase involved providing IPv6 to Genius staff so that engineers, operations and support can get familiar with IPv6, the second phase is where we migrate servers and client applications to IPv6.
The following is the plan we have implemented.
- Setup Tunnel broker and get basic IPv6 connectivity for the corporate network
- Get the Internal network on IPv6 and start user adoption
- Enable IPv6 on 1 web server
- Setup Tunnel broker and get basic IPv6 connectivity for the datacenter network
- Get the DMZ on IPv6
- enable IPv6 on a few web servers as well as application staging environment
- Get a Name server on IPv6
I will be covering the plan and implementation hurdles in the next few blog posts, stay tuned!









