Introducing Nautobot’s Floor Plan Application

Blog Detail

Nautobot is the Source of Truth for your network and a platform that supports an application ecosystem. The most recent addition to the Nautobot Application Ecosystem is the Nautobot Floor Plan Application. Simply put, this application allows firms to map out and plan their physical space requirements, in a top-down view format, in locations such as data centers and colocation cages.

Benefits of Data Aggregation/Consolidation in the Floor Plan App

Having all your data that describes your desired network state in one place has a few advantages, including allowing users to expose relationships between different objects and easily access related data about a given object. These capabilities are not possible if the various data types are kept in disparate systems.

Nautobot can act as an aggregation layer across all the authoritative data sources in your environment.

The Nautobot Floor Plan Application itself has two tremendous benefits:

  • It allows a firm to model, understand, and plan its floor space.
  • It exposes relationships and allows easy navigation between the component racks and spaces in the floor plans and objects like the rack elevation drawing, device information, and site information.

This post will discuss and elaborate on these benefits.

Example Use Case Study

The Floor Plan Application aids in data center management by providing the ability to create a gridded representation of the floor plan of a Nautobot Location and indicate the relative location of each Nautobot Rack within that floor plan.

This example floor plan, below, created with the app, shows a lot of useful information:

  • Two rows of racks (dark green) with the rack numbers and amount of rack units consumed (ex: 3 / 48 RU)
  • A cold aisle (blue) between the two rack rows
  • Hot aisles (orange) on the outside of each rack row
  • Racks ams01-101 through ams01-104 face to the right (indicated by the white gap on each grid space)
  • Racks ams01-105 through ams01-108 face to the left (indicated by the white gap on each grid space)
  • An unusable space in grid 4, 1 (X, Y) (gray)
  • A planned rack ams01-109 in space 4, 6 (light green) that will face left (indicated by the black gap on the grid space)

Also notice that the app allows users to create multi-tile objects. In the example floor plan, the cold aisle spans four tiles vertically, as described by the Y size parameter below:

Leveraging the Floor Plans in Nautobot

Having all the data for your desired network state in Nautobot makes it easier for us, as humans, to understand what is often a very complex environment. Let’s look at a scenario using our prior floor plan example.

In this scenario, the user has leveraged the Floor Plan App to model out the floor plan in the ams01 site and wants to better understand the equipment deployed in the ams01 racks shown.

Easy navigation in Nautobot from one object to related objects helps people understand what is typically a complex environment.

The layout shows that rack ams01-102 has 3 of the 48 available rack units occupied:

To further explore, the user can click in the middle of the ams01-102 grid square (representing a tile) to be taken to the rack’s home page in Nautobot. Once here, there is a wealth of useful information in the Rack panel:

  • The quantity of devices in the rack
  • The rack’s Tenant (owner)
  • The space and power utilization in the rack
  • To the right of the Rack panel there are rack elevation drawings for the front and back of the rack, displaying which rack units are occupied by which objects.
    • Clicking on an object on the rack elevation drawing will take you to the home page for that object.
  • The user sees that ams01-edge-02 is taking up rack units 40-41.
  • The user clicks on the image of ams01-edge-02 in the elevation drawing to go to the home page for that device.
  • The page shows details about the device, such as Device Type, Role, and management IP address.

Easily navigating between these related objects saves users time and effort and helps to tie together the different aspects of, and data types involved in, activities such as space and power planning. This association of related objects can also simplify your automation infrastructure because it exposes the related fields and Custom Relationship via the GraphQL API. This allows you to construct a GraphQL query that is able to traverse both related fields and Custom Relationships to provide a more meaningful response.

Easily associating an object to other related objects in Nautobot also simplifies your automation infrastructure.

Creating and Editing the Floor Plans

The creation of floor plans is explained very well in the app’s documentation.

Why Is This Valuable?

The Floor Plan Application allows firms to effectively understand and plan their physical spaces in Nautobot because it not only models out the physical space, but also allows the users and automation to quickly navigate to other related data, such as power utilization in a given rack or a specific device model in a specific rack unit. Additionally, Nautobot’s automation features, such as robust RESTful APIs and GraphQL interface, allow for immersive programmatic integration with a firm’s automation infrastructure, allowing the firm to work toward fully automating space and power planning workflows, including running space and power reports for specific pods, rows, and racks.

Where to Find Nautobot’s Floor Plan Application

Code

The Nautobot Floor Plan Application code repository can be found on GitHub.

Docs

The documentation is here. This also includes installation instructions.

Want to Try It Out?

The Nautobot Floor Plan App is available to demo online in Network to Code’s Nautobot public sandbox environment. Once you log in (the user/password are shown in the blue banner when you access the URL), navigate from the top-level menu Organization –> Location Floor Plans. From here you can select a specific site and view the floor plan.

NOTE: To scroll your browser window so that the floor plan is fully in view, click and drag the scroll bar on the right side of your browser window. Using your scroll wheel when the cursor is over any part of the floor plan will zoom in or out rather than scrolling the window. Once you are zoomed in, you can click and drag to scroll.

From there you can do things like:

  • Click on the ‘+’ or pencil icon on a square (tile) to edit a square’s attributes
    • Add a specific rack in the square.
    • Specify a status (reserved, hot aisle, code aisle, unusable, etc.) for the square.
    • Specify a rack’s orientation in the square.
  • Navigate to Organization –> Statuses to view, create, update, or delete statuses for use on the Floor Plans.

You can also join NTC’s public Slack channel and ask questions about the Floor Plan App in the #nautobot channel.

Wrapping Up

The Nautobot Floor Plan Application brings exciting and powerful capabilities to firms that:

  • Want a convenient tool to manage their physical floor space
  • Want a floor space planning tool that will integrate easily into an automated planning workflow; examples include:
    • Automated space and power reports for a given pod, site, row, or rack
    • Automated site floor layout planning Jobs
  • Want to leverage Nautobot as a Source of Truth and understand that the more data Nautobot holds, the more value it provides

We are very excited to start talking with current and potential Nautobot users about this application; we hope that you are excited to try it out and that it delivers value to you and your firm!

Thank you, and have a great day!

-Tim



ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!

When It Comes to Automation, It’s (Still) About the Culture

Blog Detail

prior NTC blog post by Tim Fiola laid out the case that it is actually a company’s culture, not technical prowess, that enables automation to take hold.

This blog will dig a bit deeper into that cultural component and discuss how the culture around automation helps a company derive real value. We will discuss two primary aspects:

  • How the Network Engineer’s role changes when adopting an automation first approach
  • How an organization could be structured to derive the most value from automation

The Network Engineer’s Role Will Change, Not Disappear

One common misconception that network services organizations share is that Network Engineers are now obsolete and that automation will eliminate their jobs or require them to become developers. This is patently false.

There will always be a need for people who understand the IT infrastructure and network at a technical level.

The truth is that while the Network Engineer’s role will need to change to adapt to an automated environment, the Network Engineer’s knowledge and skills are still very much needed. This blog describes what that means in practice.

Network Engineers Do Not Need to Become Developers

Oftentimes network engineering leadership and Network Engineers themselves assume that Network Engineers need to be completely re-skilled. Repeat with us…. Network Engineers do not NEED to become software developers. In reality, a firm’s automation evolution does not necessarily mean that the Network Engineers will have to become Developers, Network Reliability Engineers, or Site Reliability Engineers. Network and software engineering are their own skill sets and need to be respected as such.

While it is true that there are additional skill sets required to run an automated IT infrastructure, the nuance here comes from the company’s size, capabilities, and ultimate goals. For example, can the company create and nurture the required skill sets in-house, or will it need to take on partners to fulfill some roles required to run an automated infrastructure?

A Network Engineer’s responsibilities in an automated environment don’t require that they become a full-time developer. At a minimum, however, those responsibilities will likely require that the Network/IT Engineer learn design-oriented thinking. Design-oriented thinking means consideration of how to break larger workflows into smaller, more manageable, and repeatable parts. Oftentimes Network Engineers develop this type of thinking when they learn basic Python, some other coding language, or programmatic tool.

Growing your skill set incrementally is an important part of your career path: it is an opportunity to maintain your relevance.

It is important here to draw an explicit distinction between learning a coding language, such as Python, versus becoming a full-time Developer: learning new incremental skills is important in any existing career path. There is no hard requirement to become a Developer, which is an entirely different career path.

Traditional Network Engineering Disciplines WILL Need to Adapt to an Automated Environment

The traditional Network Engineer who enjoys CLI or copy/paste of commands for config changes is going to be disappointed. Those tasks will not be required on any type of scale in an automated environment.

Here are some reasonable day-to-day changes in duties that a Network or IT Engineer can expect on the firm’s automation journey:

  • Examine how to automate existing workflows with design-oriented thinking
  • Employ design-oriented thinking when designing new workflows
  • Become product owners or subject-matter experts (SMEs) for network products/services
  • Write prototype scripts and then work with a developer to
    • Harden them for production
    • Make them scalable
    • Design appropriate automated testing
  • Work with developers to translate configuration and functional device requirements into configuration templates
  • Work with the broader organization to integrate Network/IT Engineering’s automation into a broader automation infrastructure
  • Understand how to improve network and IT infrastructure health with automated solutions
  • Learn enough Python/Ansible/Git/etc. to understand and trust an automated infrastructure

There will always be a need for the Network Engineer’s knowledge; it’s just that the knowledge will be expressed differently.

Notice that each of the tasks above requires an understanding of how a network operates and the mechanics that take place within a network. This brings us to a very important point: there will always be a need for the Network Engineer’s knowledge; it’s just that the knowledge will be expressed differently.

Cultural changes often meet resistance.

Take a look again at the above statement: “the knowledge will be expressed differently.” When you tell someone that the way they go about their job, which is an aspect of their way of life, is going to change, that is a cultural change. Cultural changes can be difficult and oftentimes meet resistance. This is why it’s important for a firm’s leadership to be aware of, foster, and encourage the changes.

How Should the Organization Be Structured and Managed?

The structure of an organization is perhaps the most important factor that will determine how successful an automation transformation will be.

There are several very important, interrelated factors that fold into this structure.

Trust . . .

. . . Across the Firm

Trust across the organization’s different components will ultimately dictate the scope of its automation.

Imagine a Network Engineer writing a Python script or Ansible playbook to add a VLAN to a network device and interface to make their life easier. Adding a VLAN is a task that the Engineer may do multiple times a day, and the script will allow the Engineer to spend perhaps one minute on that task that may have taken seven minutes prior.

Without trust, automation provides localized value in the silos, but it will fail to deliver strategic value back to the company.

The larger picture here deals with a workflow. It is important to focus on workflows because a workflow is how a firm transforms their resources into value. Workflows typically contain many tasks and localized bottlenecks along the way. It is the sum of these tasks and bottlenecks that determine the overall throughput that the workflow can handle.

In order to realize value from automating a given workflow, the company needs to reduce the time for each task and mitigate the bottlenecks.

In this example, the Engineer is adding a VLAN to a device and interface as part of an end-to-end service activation workflow that includes the internal end users, Network Engineering, Capacity Planning, and Procurement departments.

However, the larger company will not benefit from this localized/siloed automation because using a script to quickly add the VLAN to the device does not have a dramatic impact on the end-to-end workflow. Using the script makes the Engineer’s life easier, but doing so has a minimal impact on increasing the throughput of the end-to-end workflow.

The company at large won’t benefit from siloed automation.

The firm will not benefit unless there is trust and cooperation between groups to automate each task in the complete workflow so that the time to execute the workflow drops and the amount of times the workflow can be executed in a given period increases.

There must be trust and cooperation between groups.

. . . And in the Technology

Another aspect of trust is trust in the technology itself. If the people involved, including the Network/IT Engineers, do not trust the technology, they will not accept it. Understanding not just what the technology does, but how it operates under the hood goes a long way toward building trust in the technology. This article earlier stated that it is likely that a Network Engineer, for example, would need to learn basic Python: building trust in the technology is part of the why.

People won’t trust what they don’t understand.

Process

One of the benefits of starting the automation journey is that it requires in-depth formal process discovery.

Here is a very common example: someone at the company is tasked with automating a given workflow, and so starts to question all the groups involved. Along the way, the person discovers that in step 5 of the workflow, there is a need for a specific IP address to be assigned to a given interface and SOMEHOW the Engineer gets that IP address.

Shadow workflows often pop up when formal workflows are not well-defined; in many instances like this, many people will just take extra steps to get the work done. These extra steps are typically never documented, which means the company is blind to the full workflow process.

Where did this specific IP address come from? In our example scenario, the IP address was not an input into the original provisioning order. After some more digging, it turns out that the person tasked with provisioning the interface in step 5 goes to a spreadsheet that is maintained by some person in another department who happens to know what IP addresses belong on a given device. Until this examination of the workflow happened, that spreadsheet and the information in it were never part of the documented workflow: it was a part of a shadow workflow.

Shadow workflows often pop up when formal workflows are not well-defined. When this happens, people responsible for executing the workflow often take the initiative to find the required information themselves, but those extra steps often don’t get documented.

Automation is not strictly about automating: it is first about understanding, and then automating.

Since automating a workflow, by definition, requires understanding all the steps, it forces the company to get a full understanding of their workflows. Automation is not strictly about automating: it is first about understanding, and then automating.

Reuse

An automated organization needs to be set up to share and reuse code across silo boundaries. For example, a script to get a subnet in a workflow for a new router deployment can also be used in a workflow to deploy a new server farm. Coordinating automation that will deliver real value back to the company requires a central group to plan and coordinate workflow steps and the methodology to implement those steps in each workflow.

Change Control

Change control is perhaps one of the biggest considerations when transitioning to an automated infrastructure. The central question around automating network changes is this: does an automated change require the same process as a traditional change?

The short answer to that question is likely No. The longer answer goes back to culture:

  • What does change management really need to assess the risk of an automated change?
  • Does an automated change require the same process as a traditional (manual) change?
    • Can the company make a new process for automated changes?
  • Do the parties trust the technology and automated processes?
    • How can they build that trust? (testing, transparency, training, etc.)

Should change management look the same for both manual and automated changes?

All operations resulting in a change should be part of a larger change management strategy that considers:

  • The risk associated with a change
  • The expected impact of a successful or unsuccessful change
  • The tracking and/or auditing of changes
  • The communication of change
  • A rollout and rollback plan
  • The approval workflow and sign-off process
  • Scheduling of changes

The prior NTC blog post on culture also covers some other considerations for Human Resources and management.

Wrapping Up

Specific technology references have been conspicuously absent from this blog post. This is because automation is ultimately sustained via a cultural transformation; specific technologies are a secondary consideration. In some cases, it’s about changing what a firm does; in other cases, it’s about changing how the firm goes about doing existing things, like executing workflows. These are cultural changes that need to be fostered and encouraged across the firm, because the changes need to take place across many organizations and levels in the firm.

It is ultimately the cultural realignment within the firm, including the points discussed above, that will determine whether the automation transformation will be successful in the long run.

Arguably, we can consider a large portion of the technical part of the automation journey solved: today, firms can select the right technical components from a wide variety of options to fit into their automation architecture and needs, with more options and improvements being added as time goes on. The technology is sound. It is ultimately the cultural realignment within the firm, including the points discussed above, that will determine whether the automation transformation will be successful in the long run.

Thank you, and have a great day!

-Tim Fiola



ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!

Automation First

Blog Detail

Network automation. Ten years ago, that term was used to describe an aspiration or a group of scripts or Ansible playbooks used to perform limited task-based operations on the network. Today, the term network automation means something much different: network automation describes a methodology for running a network by orchestrating tasks into workflows that deliver value to the firm and its customers. Network automation is no longer a side project: it is becoming a requirement for firms to stay competitive and gain competitive advantage. With that reality, networks must be designed and even re-architected to support automation. Automation first. This post will explore what that means.

Every Decision Should Filter Through the Lens of Automation

To optimize the advantages of automation to the firm, each and every decision must take automation into consideration. Below, we discuss some examples of what that really means in practice.

The Network Architect

In legacy network architecture, the Network Architect is asked to design a network around specific business requirements such as:

  • Minimizing capital expenditures (CAPEX)
  • Specific network performance requirements
  • Failover requirements to meet service level agreements (SLAs)

To this list of business requirements, the architect must add automation: business processes may need to be changed from the current status quo in order to facilitate the network automation flow. If automation is not on the list of business requirements for the network, the architect must explicitly ask for guidance from the business because the business itself may not fully understand that network automation adds additional criteria to the network architecture.

Network Architecture

Here are a couple of likely scenarios a network architect may need to work through when considering automation first:

  • Automating on chassis-based switches is more complex than fixed (single forwarding engine) devices
    • This fact greatly affects how many chassis are deployed, where they are deployed, and their physical topology
  • There may be instances where a 5-stage CLOS data center architecture lends itself better to automation than a 3-stage CLOS
    • In this situation, Architecture must consider a higher initial CAPEX spend for the 5-stage CLOS in return for lower operational expenditure (OPEX) over time
  • How will the business interface with the automation infrastructure?
    • The architect must consider how the existing process for requesting a network feature or service functions and whether this process will continue to function with automation in the mix
    • The ideal state for this interaction should minimize the amount of human involvement much as possible

Hardware Vendor/Device Selection

When considering network equipment vendors and specific vendor models, the architect should add “Automation Friendly” (i.e., a robust API set or other management access beyond CLI/SSH) to the list of hardware requirements.

If the architect wishes to simplify automation infrastructure, they may want to consider whether the vendor offers a quality software controller for its devices. To put this another way, the firm must decide whether a given vendor will be a good partner in the automation project. Leveraging a vendor’s domain-specific controller can greatly simplify the organization’s own automation infrastructure because the firm’s infrastructure only has to interact with a single controller or group of controllers, versus hundreds or thousands of individual devices from that vendor. Keeping that in mind, if the organization does leverage vendor-specific software, it is essentially becoming partially dependent on the device vendor, and it may be more difficult in the future to change vendors or shift to a multi-vendor strategy.

Management and Workflows

Another important set of items for an organization to consider in an automation first outlook is their processes and workflows. A business creates workflows to coordinate actions between different groups in order to deliver value and generate revenue. The organization must be willing to examine its workflows to understand how the workflows may need to change in order to realize benefit from any automation efforts.

Automation first requires senior management to encourage cooperation between groups, including changing the metrics for the various groups. If the metrics to measure progress in automation are not put in place, the various groups will have a more difficult time coordinating. Additionally, creating automated workflows may involve reorganizing various groups’ interactions within the organization to better fit into automated workflows.

People

Finally, it is people that make automation possible. In many instances, Network Engineers (NEs) will transition into Network Automation Engineers (NAEs). This means that many of their daily tasks will change. This requires NAEs to think differently than they did as an NE.

One example is how change is driven into the network. An NAE drives change via code, whereas an NE drives change via CLI. As such, the NAE will spend time on tasks such as designing and maintaining configuration templates or writing automation scripts that express network configuration intent versus manually configuring devices.

NAEs must also avoid the trap of saying “I’m only going to do this once, so I won’t automate it.” In reality, most anything you have to do once, you’ll have to do again. Think about iteration: if you perform a task manually, and then you have to go back and fix mistakes, this means you’ll have to do the entire task manually again (and perhaps again, if there are other mistakes or changes are needed). Additionally, there may be sub-tasks of that task that would be immediately reusable. Automation first means accepting that tasks are typically repeated, and that your code should be logically split up into component parts that can be used in other tasks or processes.


Conclusion

Automation first is a mindset acknowledging that automation must be accounted for in all your tasks and that tasks are rarely performed “just once”. Everything must be viewed through this lens in order for the firm to derive maximum value that automation provides.

Thank you, and have a great day!

-Tim Schreyack & Tim Fiola



ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!