The Herculean Task of Containing Complexity
The time has come to reinvent the network from the ground up. Why? Over three decades, many architectures, protocols, vendors, and configuration options came into the mix, adding layers of complexity and widening gaps in expertise. This has a tangible, negative effect on IT operations, enterprise productivity, and costs. It will only continue to get worse in the future.
When we decided to disrupt multiple decades of network complexity, we quickly realized that building from a fresh slate would not be an easy feat. It felt like we were looking at the peaks of Everest or K2 from base camp, crafting a strategy to reach the summit. We would have to factor in technology, operations, and consumption models - while grappling with three decades of network complexity in order to create the plan.
At the Nile, we are guided by simplicity. In engineering, we adhere to two principles related to “build” and “consume.” We want to ensure that our "build" is as simple as possible. Similarly, "consumption" should always be simple and intuitive. We also believe in the concept of “no regret moves.” Rather than getting entangled with choices that cause delays, we make decisions with long-term impacts in mind. We actively made design decisions we would never look back on or regret. Some examples include:
- Purpose-Built: Creating a delivery engine with the flexibility of SaaS and the high reliability necessary for mission-critical networks.
- Zero-Configuration: Eliminating configuration, the largest source of service downtime and network performance issues.
- Deep Instrumentation: Employing deep instrumentation of all hardware and core software layers to gain operations visibility and network experience.
- Longevity: Design choices should stand the test of time for performance, availability, reliability, security, and the evolution of campus networks.
Technology Choices: Adopt technology with broad acceptance in the industry, while focusing on innovation relevant to customer needs.
- Operations-Centric: Designed with operations at the heart when it comes to software and hardware development.
Our collective experience recognizes that only 25% of the features on boxes shipped by traditional networking suppliers are actually used. When you combine this with our goal of building a highly available, resilient, and secure service, the systems architecture must focus on simplification. Our goal, after all, is to deliver a service that customers love, rather than just a coolness technology factor. This architecture aligns with a more deterministic network that encapsulates a minimalist approach to protocols and network design. This standalone unit delivering the service is called the Nile Service Block (NSB) which has been designed as Lego blocks that can scale naturally. The NSB has downstream benefits such as: less code churn, higher quality, higher scale, better testability, etc.
Operations-centric design and engineering is how we work every day. The Network Elements are designed for ease of installation, high availability, security, and longevity. We use Continuous Integration and Deterministic Deployment (CI-DD) for the Nile Service. This is in conjunction with the Network Operating Systems software that runs on all wired and wireless network elements. Cloud applications must be deployed at will and more frequently while the Network OS has a different set of drivers such as security patches, technology upgrades, bug fixes, etc. The Nile team has embraced automated Test-driven Development (TDD) that enables a true, uncompromising CI-DD model. The Nile Service quality is measured every day in a live network through concepts of Service Level Agreements (SLA), which we guarantee to our customers.
When we started Nile, we invested in and built a solid simulation environment. Combined with ongoing performance and scale testing, phase containment, and other industry best practices-- we are in a strong position to deliver service quality. These decisions have proven valuable and wise as we add more functionality, engineers, and scale.
What I love about Nile is our continuous deployment process. In my previous experiences, a release date was the end of the road. At Nile, we continue the process every day. We take ownership of every part of the customer experience, including the dreaded activity of upgrading. Cloud companies have implemented best practices for the rollout of cloud applications; similarly, we are implementing best practices for rolling out the Nile Service. The automated canary process is benchmarked against a maturity index (SLA measured continuously, error budgets, etc), which is the basis for driving a wider and more deterministic deployment of our code. Deep insight into early deployments is a huge factor in the fast convergence of code and a better experience for our customers.
Finally, it is the people who make all the difference. The team has developed a culture of humility and focus on the execution of outcomes that matter most to customers. While the mission is herculean, we are well-positioned for our strategy to the summit. With our engineering mindset of simplicity, a clean slate, and amazing people-- we are ready to disrupt decades of networking complexity to deliver something that has never been done.