Technology Adoption in 2016: Predictions from a Senior Network Engineer
What do those in the network trenches see coming for 2016? We take a look at one engineer's predictions.
Meet Ted Turner, a senior network engineer who has the interesting job of working on network performance problems that impact the Intuit online business (imagine building and troubleshooting the infrastructure to handle the April 14 demand for TurboTax Online!), and an active participant in a number of industry groups. Ted has great insight into the adoption of software-defined networking (SDN) and related technologies, and so I was quite interested in hearing his predictions for technology adoption in 2016.
- DevOps will gain steam in 2016 (if you've not heard of DevOps, then begin by doing some research on why companies need DevOps, and watch YouTube presentations such as "Why Everyone Needs DevOps Now" by Gene Kim, author of "The Phoenix Project")
- "Full-stack" engineer will become crucial for businesses
- SDN will make traction in several areas: increasing penetration in the data center, software-defined WAN (SD WAN), and network functions virtualization (NFV) space
- Greater reach into the enterprise, enabling better security integration with direct Internet connect and better quality of service for SaaS offerings
- Performance and security offerings will become more complementary, instead of unique cost centers
- Software-defined X -- networking, storage, servers, services -- will become more embedded both inside and outside corporations
He predicted continued growth of SDN, which is in line with what industry analysts are saying.
Ted's first two predictions, about the increased need for the DevOps function and full-stack engineers, are related.
In DevOps, which results from the merger of software application development and ongoing operations, software development engineers are responsible for part of operations to make sure that software works as desired when released. Applying the DevOps function makes a lot of sense for internally developed and Web-based applications. Organizations are then able to deploy new applications and features on a daily basis. This initially sounds silly, but the updates are smaller and carry less risk than grouping a large number of updates together into a large release.
To make this process work, organizations need good software developers. That's where Ted said full-stack engineers will become critical for businesses. These developers understand the complete structure of an application. I would add an understanding of basic networking concepts to the full-stack engineer's resume. The level of understanding should be enough that the engineer can communicate with network engineers. The network engineer needs to understand applications and DevOps, too.
Enterprises Are Adopting SDN
An increasing number of firms are moving to SDN. Ted is a member of the Open Networking User Group (ONUG), through which companies share information about their open networking initiatives. ONUG, which has an active membership by companies in a wide range of industries, provides Ted with a good view of what companies are doing and the progress they are making in adopting SDN.
Companies delivering products through high-volume websites have a clear justification for adopting SDN -- DevOps needs an agile network in order to deploy software updates quickly and easily. The DevOps team needs to be able to "slice and dice the apps" and put different parts where they make the most sense, Ted told me. "The network is the application," he said.
As an example, he described using SDN for fine-grained traffic steering such as would be required in troubleshooting a data path problem. You need the ability to move the production workload to other paths. But then to troubleshoot it, you need a way to force either test traffic or a small amount of live traffic over the problem path. Dynamic path adjustments are difficult to obtain with traditional IP networking, which makes its forwarding decisions on the best path to the destination address.
Ted and I talked about the culture shock of adopting SDN. In the DevOps model, application development, configuration, and deployment are tightly integrated. Highly siloed organizations will have to change. We agreed that the cultural change would be significant, much like it was during voice and data convergence. Since the adoption of SDN involves more staff and larger processes, we both expect it to be more challenging, but that the rewards are there to justify it.
Implementing SD WAN or NFV is an easy initial step for organizations that are not ready to jump in with SDN. These technologies are similar to SDN and will help prepare the organization for a successful SDN deployment.
Network staff must learn something about software, Ted emphasized. His preferences are Python and REST programming/scripting, which are the common mechanisms for network automation. One of the important things for networking staff to learn is how to speak with application developers. When an application developer says, "It's the network," the translation is, "It's not my code, Ted said. However, the problem may be in a library that the developer used or in the server operating system. The developers and networking staff need to be able to communicate with each other in order to diagnose problems that hide in obscure parts of the IT infrastructure.
Join Terry Slattery at Enterprise Connect 2016, March 7 to 10, in Orlando, Fla., where he'll be leading the workshop, Designing IP Networks for Real-Time Traffic.
Register for an entire event pass or Tuesday through Thursday conference pass to save an additional $200 off the advance rate. This special discount, available using the code NJPOST, represents a total savings of $900 off the onsite price and is now available through Friday, Jan. 15! Plus, register three or more attendees from your company for even bigger savings.
In a modern DevOps environment, the applications are subdivided and distributed over compute and storage, with networking as the glue between the pieces. When something goes wrong, how do you diagnose it? An organization must have detailed network and application logs, Ted said. Think of it as building application performance management into the applications and the network.
Updating a horizontally scaled application becomes easier to monitor with good logging. Deploy the update to a few of the servers, use the SDN to drive test traffic over it, and watch the logs for problems. If everything looks good, use the SDN to direct some live traffic to the newly updated servers and watch the logs for problems. If a problem is detected, redirecting traffic back to servers running the old release is easy to do.
Can this process work with large, monolithic programs delivered by third parties (think: UC&C controllers and MCUs)? I think it depends on the application architecture. If the application is structured such that multiple instances access the same database, then the answer is "Yes." Bring up a new instance in a separate set of servers, direct it to the database, and then use the same process as above to validate the new release.
In the future, I expect to see vendors of these types of applications start to provide daily releases that incorporate smaller changes. Their customers can then use the DevOps model to validate the changes and deploy the new functionality. Imagine getting fixes and new functions without waiting for "The Next Release."
What to Expect
As 2016 plays out, it will be interesting to see if Ted's forecast is accurate. We are already seeing early adopters implement SDN, often using vendor starter kits. The big impediment will be whether the organizations are ready to embrace the change that is coming. My recommendation is to form a cross-functional team to work on a pilot implementation aimed at helping you determine what organizational and process changes your company will need. Good luck on your 2016 technology journey.