IPv6 Addressed Resources

I was listening to the Packet Pushers Show 349 'Future of Networking with Mark Townsley'  today, and they talked an awful lot about IPv6. My opinion on IPv6 in the enterprise up to now has been that it is really just a useless way to complicate LAN networking, and not ready for widespread enterprise use on the WAN. It still isn't 100% supported everywhere, no one in enterprise knows it, you almost certainly need to run dual stack or have NAT gateways, and it doesn't solve any of the problems I run into every day. Now, I think most of those points are still valid, though less so than even just a few years ago, but Mark made a point towards the end of the show that really got me thinking...

Mark was talking about the possibilities brought on by the raw quantity of IPv6 addresses. He pointed out that Facebook is already all IPv6, and a few of the web scale datacenters were starting to assign IPv6 addresses to all of their containers instead of relying on IPv4 NAT or some other kind of container networking. Further, he talked about the possibility of having an IPv6 address assigned to a specific microservice hosting a single piece of content; think along the lines of each movie in Netflix's catalog having it's own IPv6 address or group of addresses. While there are some definite pros and cons to that specific scenario, as well as specific design constraints, it was enough to open up my mind to the possibility that perhaps this could solve some problems for me. The kind of problems we have all just been living with because "that's just how it is".

Along those lines, I think one potential use case of IPv6 for enterprise is simplifying the way we deliver services inside the datacenter. Think of how many different protocols and addressing schemes we use to make multiple resources accessible via a single IP. Storage for example, what if every network attached storage volume on a SAN, group of SANS, SOFS, etc. was directly addressable with it's own IPv6 address and we didn't need to use separate addressing systems, like iSCSI IQN/EUI addressing, to attach to storage. Every web site on a server/proxy can just have its own IP instead of using the DNS name or URI to select a site (I know some people already do this with IPv4, but the rest of us seem to run into address shortages). Every mailbox on a mail server could have its own IPv6 address that allows it to route to the best front end server. Every database could have its own address. The list goes on and on, but this would result in simplified configuration and troubleshooting across the board.

Decreasing the specialized knowledge required and removing some complexities is all well and good, but what else would it do? First to mind for me is the ease of load balancing/multipathing, the ability to choose preferred routes for specific resources, monitoring traffic to specific resources ,etc. using nothing but standard routing protocols and network monitoring technologies. We have already started to see servers using BGP for load balancing and resiliency instead of LACP and other L2 technologies, this would just take it a step farther. Additionally, web proxy servers could essentially just be BGP routers making simpler decisions faster and with less computational overhead. Looking at how virtualization, and now containerization, (and now 'serverless' functions?) have been such natural progressions on the systems side, this seems like a logical step to take on the networking side, and might help enterprises really consider an IPv6 deployment in the LAN. The only question in my mind is, who will start providing this capability first?