About (Edit profile)

This author has not yet filled in any details.
So far has created 1829 blog entries.

Cisco Enterprise Agreement 3.0: A Year of Transformative Impact and Growth Gary Wolfson on March 7, 2024 at 4:00 pm

It’s been a year since the Cisco Enterprise Agreement 3.0 became generally available, and we’ve seen incredible results for customers and partners. The story gets even better when Partners use Cisco E… Read more on Cisco Blogs

​[[{"value":"

It’s been a year since the Cisco Enterprise Agreement 3.0 became generally available, and we’ve seen incredible results for customers and partners. The story gets even better when Partners use Cisco Enterprise Agreement with a lifecycle approach; they see software growth 2.5x greater, renewal rates of 3x and 2x faster bookings growth.

These numbers are no mystery.

Think about what has happened over the last four years – since the pandemic accelerated digital transformation that was already underway. Today we work differently, study differently, interact with doctors differently. Entertainment, travel, supply chain and e-commerce are completely changed, and all of it is enabled by applications.

Enhanced Flexibility for Customers

The Cisco Enterprise Agreement gives customers the flexibility to add applications when needed, delivering faster time to market and the ability to scale to accelerate a growing business. When a partner has built a trusted advisor relationship, and works with their customers across the lifecycle, they are ready to help them deploy and adopt new technology that’s literally changing the world.

The EA is strategically designed to enable a lifecycle approach, and it’s now available through Managed Services Enterprise Agreement, Distributors and Cloud Marketplace. There has never been a better way to deliver the technology customers need, when they need it, with easier procurement and payment.

Empowering Partners

If that’s not enough to make it worthwhile, we’ve improved our incentives to help partners be profitable across the lifecycle and we’ve been working to improve our platform, tools, and telemetry, giving partners more visibility to help customers achieve their outcomes faster.

If you are not already selling the Cisco Enterprise Agreement, get authorized now. Want to elevate your EA game with a lifecycle approach?

Visit our SalesConnect page to learn more

We’d love to hear what you think. Ask a Question, Comment Below, and Stay Connected with #CiscoPartners on social!

Cisco Partners Facebook  |  @CiscoPartners X/Twitter  |  Cisco Partners LinkedIn

Share

"}]]  It’s been a year since the Cisco Enterprise Agreement 3.0 became generally available, and we’ve seen incredible results for customers and partners. The story gets even better when Partners use Cisco Enterprise Agreement with a lifecycle approach; they see software growth 2.5x greater, renewal rates of 3x and 2x faster bookings growth.  Read More Cisco Blogs 

By |2024-03-08T04:50:39+00:00March 8, 2024|Cisco: Learning|0 Comments

Introducing the Cisco Store Lookbook Anjana Iyer on March 7, 2024 at 5:16 pm

80% of the Cisco Store’s merchandise powers an inclusive future for all — but what does that mean?

What’s new at the Cisco Store?

The Cisco Store has just launched a brand-new Spring 2024 Lookbook… Read more on Cisco Blogs

​[[{"value":"

80% of the Cisco Store’s merchandise powers an inclusive future for all — but what does that mean?

What’s new at the Cisco Store?

The Cisco Store has just launched a brand-new Spring 2024 Lookbook per region (AMER, EMEA, and APJC). In these quarterly lookbooks, we will delve further into how our merchandise powers an inclusive future, as well as our latest collections, curated style guides by our very own Cisco Store staff, and what’s trending every season.

Welcome to the Cisco Store Tech Lab

You can get to learn a bit more about the Cisco Store Tech Lab in every lookbook. The Tech Lab is a real retail environment powered by Cisco and Cisco partner technology: our collaborators can deploy their products in our stores to gather learnings and advance their products. The Tech Lab allows us to show customers where Cisco’s heading and what’s available now.

Every quarter, we will highlight a new set of technology (including the latest releases) revolving around relevant themes in the retail industry, such as sustainability and AI. Get a closer look into product use cases, demos videos, and more.

The Cisco Store is always bringing in new products and ideas, and our lookbook will be a key way for customers and employees to keep up with all our updates. To be notified of upcoming lookbook launches and to stay in the loop of what’s going on at the Cisco Store, be sure to subscribe to our mailing list at merchandise.cisco.com.

Check out the Spring 2024 Lookbook for your region!

AMER

EMEA

APJC

Share

"}]]  Discover the latest in Cisco fashion and retail technology with this new quarterly lookbook.  Read More Cisco Blogs 

By |2024-03-08T04:50:39+00:00March 8, 2024|Cisco: Learning|0 Comments

Avoiding Shift Left Exhaustion – Part 1 Shannon McFarland on March 7, 2024 at 5:26 pm

A realistic guide to empowering application developers

In today’s fast-paced digital landscape, application developers are the unsung heroes who craft the software that powers our modern world.… Read more on Cisco Blogs

​[[{"value":"

A realistic guide to empowering application developers

In today’s fast-paced digital landscape, application developers are the unsung heroes who craft the software that powers our modern world. They’re responsible for creating the apps we use daily, the websites we visit, and the systems that keep businesses running smoothly. Yet, despite their crucial role, developers often find themselves caught in a whirlwind of challenges – juggling tight deadlines, complex code, and the ever-evolving technology landscape.

Shift left” is a potentially game-changing approach that is transforming the way developers work, and ushering in a new era of software development… Or is it?

What is shift left?

Shift  left is a mindset and a set of practices prioritizing early and continuous testing and collaboration throughout the software development process. Initially, the term “shift left” reflected the shift of testing and quality assurance tasks to earlier stages in the development cycle, reducing the likelihood of defects slipping through and causing havoc down the line. It’s was built on the premise of catching issues sooner rather than later.

The problem with shift left

Over time, shift-left has turned into “dump left.” What does that mean? More and more things are being “dumped” on the developer to do earlier and earlier, all in the name of increased quality, velocity, and decreased costs. Herein lies the problem for developers. In this blog series, we will separate facts from fiction.

Why should application developers care?

For application developers, shift left was supposed to be a game-changer, empowering them to take control of the quality of their code from the very beginning. If done right, shift left can:

Enhance Collaboration: Shift left encourages cross-functional collaboration. Developers work more closely with testers, quality assurance teams, and even end-users right from the project’s inception. This collaboration leads to better understanding and a shared vision, resulting in higher-quality software.
Reduce Costs: Identifying and fixing issues early in the development process is far more cost-effective than discovering them after deploying the software. Shift left can save time and money by preventing defects from becoming deeply ingrained in the codebase.
Increase Security: By integrating security testing from the start, Shift left practices help identify and address vulnerabilities early in the development process. This proactive approach reduces the risk of security breaches, data leaks, and potential threats, making the final product more robust and secure.
Improve Software Quality: Because issues are caught and addressed in the early stages of development, the end product is of higher quality. This reduces the risk of post-launch problems and enhances user experience and satisfaction.
Elevate Reputation: In a competitive market, software developers are often judged by the quality of their products. Shift left practices help build a reputation for delivering reliable, secure, and user-friendly software, attracting more customers and clients.

But that’s not what is happening!

Shift left exhaustion… it’s a thing

While shift left practices offer numerous advantages for application developers and the software development process, it’s essential to acknowledge that this shift isn’t without its challenges. Embracing shift-left can, at times, place a significant burden on developers. Let’s explore the reality of shift-left exhaustion and how it can, and often, impacts the individuals at the forefront of software creation.

Increased Workload: Shift left requires developers to be involved in testing, quality assurance, and collaboration throughout the development cycle. While this is undoubtedly beneficial for the final product, it can lead to an increased workload for developers who must balance their coding responsibilities with testing and problem-solving tasks.
Continuous Learning: Adapting to Shift left practices often requires developers to acquire new skills and stay current with the latest testing methodologies and tools. This continuous learning can be intellectually stimulating and exhausting, especially in an industry that evolves rapidly. Developers must understand new tools, processes, and technologies as more things get moved earlier in the development lifecycle.
Burnout: The added pressure of early and continuous testing and the demand for faster development cycles can lead to developer burnout. When developers are overburdened, their creativity and productivity may suffer, ultimately impacting the software quality they produce.
Time Constraints: Shifting testing and quality assurance left in the development process may impose strict time constraints. Developers may feel pressured to meet tight deadlines, which can be stressful and lead to rushed decision-making, potentially compromising the software’s quality.
Balancing Act: Developers find themselves in a delicate balancing act – juggling the need for rigorous testing and collaboration with the demands of coding, debugging, and meeting project milestones. Striking this balance can be challenging.
Team Dynamics: The transition to shift left practices may also disrupt team dynamics, as it requires open communication and collaboration with colleagues who may not have been traditionally involved in the early stages of development. While enhanced collaboration helps create a widespread understanding of the software’s design and the systems it runs on, it can also lead to additional tension due to organizational boundaries or dealing with non-development teams. Managing these changes in team culture can be demanding.

The pitfalls of overextension

It’s clear the shift left methodology has extended beyond its original intent over time. Instead of solely focusing on testing, it now includes various aspects such as security, performance, accessibility, and more. This overextension has led to an overwhelming workload for developers and testers, causing tool exhaustion and burnout.

Examples of overextension include:

Shift left Security: The concept of “shift left security” has emerged in the security realm. While integrating security considerations early in the development process is beneficial, this extension has put considerable pressure on developers to become security experts, creating a heavy workload that often leads to burnout.
Shift left Scaling: Performance testing, traditionally a late-stage activity, is also being “shifted left.” While this can lead to early detection of performance issues, it adds another layer of complexity to the developer’s role, increasing their workload and contributing to tool exhaustion.

Misuse of shift left by leaders

In addition to overextension, some leaders have misunderstood and misused shift left. Instead of using it as a strategic approach to enhance product quality, people often use it to cut costs and speed up product delivery.

Examples of misuse of shift left include:

Example 1: Some leaders view shift left as a way to reduce the need for specialized testers or security experts, pushing these responsibilities onto developers. This view not only increases the workload of developers but also often leads to less thorough testing or security checks due to the need for specialized skills.
Example 2: Sometimes, people misinterpret shift left to mean that developers should do all testing, even the late-stage testing traditionally done by QA teams. This misinterpretation can overburden developers and lead to missing issues due to a lack of perspective and expertise.

Conclusion

While shift left is fundamentally sound and beneficial, it has been stretched beyond its original intent and misused, negatively impacting developers and product quality. The focus needs to be realigned towards its original goal – improving quality by catching issues early – without overburdening our developers or compromising the product’s integrity.

A balanced approach, incorporating the core principles of shift left without overextending its reach or misusing it to cut corners, will help organizations achieve their goals. As we continue to navigate the evolving landscape of software development, we must remember that methodologies and frameworks are there to facilitate our work, not to hinder it. And like any tool, they are only as effective as the hands that wield them.

Related resources

Visit the shift left developer resource hub
Start a conversation in the DevNet developer security community

Share

"}]]  "Shift left" is a potentially game-changing approach to software development that is transforming the way developers work, and ushering in a new era of software development... Or is it?!  Read More Cisco Blogs 

By |2024-03-08T04:50:38+00:00March 8, 2024|Cisco: Learning|0 Comments

Exploring Digital Transformation and AI in Higher Education: A Discussion with Cisco Education Experts Helen Patton on March 7, 2024 at 12:49 pm

If the rapid growth of artificial intelligence (AI), the increasing need for state-of-the-art student, faculty and staff experiences, security, and the pending enrollment cliff in the US have you… Read more on Cisco Blogs

​[[{"value":"

If the rapid growth of artificial intelligence (AI), the increasing need for state-of-the-art student, faculty and staff experiences, security, and the pending enrollment cliff in the US have you wondering how to make the best use of technology in your higher education institution, you’re not alone. I encourage you to check out our special podcast featuring Cisco education experts as they explore the key trends in campus technology that they’re seeing globally and in the USA.

We have a lot to digest – so grab your beverage of choice as you join host Danny Vicente for our latest “Coffee and Conversations” podcast. He’ll be joined by Cisco education experts Brad Saffer (Global Education Lead), Neal Tilley (US Cisco Business Development Manager for Education), and me as we dive into the latest trends we’re seeing among customers around the world. Plus, you’ll:

Learn how digital transformation supports the on-campus and off-campus experiences that students, staff and faculty expect — and how AI plays an important role in delivering these experiences.
Understand why sustainability and technology are top of mind for campuses as they look to reduce operational costs and their carbon footprint.
Explore why security technologies are becoming more focused on threat detection and response — versus prevention — and how these solutions need to integrate seamlessly into your tech stack.

In our latest Coffee and Conversations podcast, we dive into the latest tech trends to grow your understanding of digital transformation, sustainability, security, and more. Check out the video below:

Learn more about Cisco in higher education

Next Steps

Educators — Explore and download the Experience Driven Institution e-book to learn how you can build an environment that meets the expectations of students, faculty, and staff.

Administrators — Check out our Cisco Portfolio Explorer for Eduction solutions.

Share

"}]]  Join Cisco education experts as they navigate the key tech trends on campuses worldwide. Hear about the latest trends and enhance your understanding of digital transformation, sustainability, security and more.  Read More Cisco Blogs 

By |2024-03-07T16:00:45+00:00March 7, 2024|Cisco: Learning|0 Comments

Cisco Secure Workload 3.9 Delivers Stronger Security and Greater Operational Efficiency Brijeshkumar Shah on March 7, 2024 at 1:00 pm

The proliferation of applications across hybrid and multicloud environments continues at a blistering pace. For the most part, there is no fixed perimeter, applications and environments are woven… Read more on Cisco Blogs

​[[{"value":"

The proliferation of applications across hybrid and multicloud environments continues at a blistering pace. For the most part, there is no fixed perimeter, applications and environments are woven together across datacenters and public cloud providers. The attack surface has expanded. Organizations struggle with a lack of visibility, and vulnerabilities are a constant issue for application and security teams alike. In some cases, the vulnerability is known and flagged, but there is no patch available, and the organization simply cannot afford the application downtime. And unsurprisingly, bad actors are taking advantage of these challenges, with ransomware attacks surging in 2023 and an estimated $1.1 billion1 paid out by victims. Designed to protect the applications that business relies on, Cisco Secure Workload 3.9 provides greater flexibility for deploying microsegmentation, new capabilities to mitigate threats and vulnerabilities, and enhances the efficiency for blocking malicious domains and traffic.

Secure Workload protects application workloads in an infrastructure, location, and form factor agnostic manner. It provides deep visibility into every workload interaction and uses powerful AI/ML-driven automation to handle tasks that are beyond human scale, delivering accurate and consistent zero trust microsegmentation while continuously monitoring compliance across the application landscape.

Secure Workload 3.9 gives customers greater operational efficiency and flexibility for implementing microsegmentation with support for NVIDIA data processing units (DPU). The new version helps reduce risk posed by vulnerabilities and threats by integrating with Cisco Vulnerability Management, provides integrated threat feed intelligence, and offers container vulnerability scanning. It also delivers increased efficacy with domain-based policy enforcement.

More ways to enforce microsegmentation

Fueled by the need for more processing power for complex cloud architectures, artificial intelligence, IoT, and even security, DPUs are becoming an essential ingredient to help improve performance and efficiency in datacenters by offloading these functions from the CPU. With NVIDIA DPU support, agents can be installed on server DPUs, in front of the virtual machines running applications, reducing the number of agents required for enforcement.

Only Secure Workload offers an agent and agentless approach with native firewall integration and DPU support, giving customers the flexibility to leverage multiple approaches in the same architecture based on their needs and organizational structure.

Figure 1: Secure Workload agents running on NVIDIA DPU

Prioritize the risks that matter most

Last year, Secure Workload expanded its CVE scanning capabilities by delivering the strongest Kubernetes container security available. Secure Workload 3.9 raises the bar further by including CVE risk scoring as part of its foundation for visibility and policy creation. The integration between Secure Workload and Cisco Vulnerability Management provides customers with a powerful tool to prioritize their most critical vulnerabilities. Secure Workload leverages data science, machine learning, and patented predictive modeling engine from Vulnerability Management and factors that information into its understanding of the customer’s applications and dependencies. This capability also provides additional intelligence for the virtual patching feature that can be leveraged when using Secure Workload and Secure Firewall to protect against a known vulnerability present in the environment, without breaking the application.

Figure 2: CVE risk score in Secure Workload dashboard

Enhanced policy efficacy and integrated threat intelligence

In our continued effort to increase policy efficacy, Secure Workload 3.9 includes domain-based policy enforcement. Security teams can now enforce policies by simply specifying the domain name to block malicious traffic or allow communication with specific API endpoints. In addition, integrated threat intelligence provides visibility into malicious IP addresses as well as detailing which applications have interacted with the malicious IP – past and present. Policies can now be created using the threat feed intelligence to block malicious traffic.

In contrast to other offerings, Secure Workload 3.9 provides more ways to deploy and realize the benefits of zero trust microsegmentation. It offers unparalleled value and efficacy by incorporating critical information and tools that are essential for reducing risk and protecting application workloads across hybrid and multicloud environments. Secure Workload is a core offering within the Cisco Cloud Protection Suite. Looking forward, we will offer new integrations, expand coverage, and add new ways to better protect against vulnerabilities.

Learn more about Cisco Secure Workload

Sign up for a Secure Workload workshop

For demos on Secure Workload 3.9 join the Secure Workload YouTube channel

Dive deeper into microsegmentation: Secure.Cisco.com

Learn more about Cisco Cloud Protection Suite

1Forbes, February 9, 2024 Big Game Hackers Smash $1 Billion Ransomware Barrier

We’d love to hear what you think. Ask a Question, Comment Below, and Stay Connected with Cisco Security on social!

Cisco Security Social Channels

InstagramFacebookTwitterLinkedIn

Share

"}]]  The new release of Cisco Secure Workload delivers advanced capabilities to mitigate vulnerabilities and provide maximum flexibility for implementing microsegmentation  Read More Cisco Blogs 

By |2024-03-07T16:00:44+00:00March 7, 2024|Cisco: Learning|0 Comments

BBVA and Cisco Strengthen its Strategic Partnership to Accelerate Digital Transformation and Foster Innovation Cisco Newsroom: Security

The global financial services group Banco Bilbao Vizcaya Argentaria, S.A. [...]

By |2024-03-07T16:00:36+00:00March 7, 2024|​Cisco Newsroom: Security|0 Comments

Sailing through History: NWN Carousel’s Virtual Sea-Lab Revolution Joy Aboim on March 6, 2024 at 4:00 pm

During his tour of Cisco’s PENN1 smart building, Andrew Gilman, Chief Marketing Officer for NWN Carousel–an integrated cloud communications service provider and Cisco partner–had a lightbulb moment. W… Read more on Cisco Blogs

​[[{"value":"

During his tour of Cisco’s PENN1 smart building, Andrew Gilman, Chief Marketing Officer for NWN Carousel–an integrated cloud communications service provider and Cisco partner–had a lightbulb moment. What if the Cisco Webex “all-in-one” devices used throughout Cisco’s reimagined New York office were used for a different type of collaboration?

Engaged in a project to bring the iconic Whydah Pirate Museum experience to children and teens at Boston’s Franciscan Children’s inpatient behavioral unit, Gilman found inspiration—and possibility— as he explored PENN1.

The program aimed to provide young patients with an immersive virtual experience of the ongoing discoveries at the Whydah Sea-Lab and Learning Center, where archaeologists–led by world-renowned explorer Barry Clifford–were excavating treasures from the 1717 Whydah, the world’s first authenticated pirate wreck. The ship was taken down during a violent storm off Wellfleet, Massachusetts, more than 300 years ago.

Already knee-deep in the Sea-Lab project, Gilman’s revelation at PENN1 fueled the incorporation of Cisco’s easy-to-use Webex technology to create a truly unique virtual experience. The NWN Carousel team collaborated with the IT teams at the hospital and the museum to design and execute this innovative solution.

“One of the challenges we were having was putting together something that drove a seamless engagement and didn’t let the technology get in the way of the researchers and the educators, as well as the team administering for the kids.”—Andrew Gilman, Chief Marketing Officer for NWN Carousel

Over five weeks, young patients at Franciscan Children’s Hospital engaged in bi-weekly remote learning sessions using Webex technology. At the museum, a Webex Room Kit Pro PTZ 4K Integrator Bundle and a TMP-200 Telemedicine Cart captured the excitement of ongoing archaeological discoveries and pirate legends. Simultaneously, five Webex Desk Minis were delivered to children and teens at the hospital, providing a virtual window into an experience that, until now, had been exclusively in-person.

Utilizing a telemedicine cart for the Webex Room Kit Pro, the Whydah Pirate Museum team was able to virtually take the children from room to room at the museum—sometimes even providing them with an up-close view of the pirate treasures uncovered by Clifford’s team. Giving the kids and teens a peek into the life and history of the Whydah pirates, the museum team and eager students would discuss the history of the area, the pirate’s code of ethics, life at sea in the 1700s, and more.

“It’s a chance to bring history to life for young people in a challenging situation,” said Gilman.

“We were excited to have the opportunity for kids in our inpatient mental health units to participate in a virtual Pirate Lab. Being able to watch as scientists discover archeological treasures in real-time was very interesting and meaningful for them. Our deepest thanks to the Whydah Pirate Museum and NWN Carousel for making this possible.” —Dr. Ralph Buonopane, Director of Franciscan Children’s Acute Mental Health Programs

“We’d like to thank NWN Carousel and the clinicians and caregivers at Franciscan Children’s for the opportunity to share our work with young people who otherwise may not be able to visit our museum. The children got to witness live, and in real-time, major archeological discoveries that have been buried in the sand for centuries.”
Barry Clifford, World-renowned explorer

In addition to providing crucial technical expertise, NWN Carousel supported the initiative by lending Webex Video Units and accounts to both the Whydah Museum and the hospital, offering a comprehensive management service that covered initial setup, configuration, equipment training, and ongoing support throughout the program.

Now that the Whydah Virtual Sea-Lab has concluded, NWN Carousel is eager to continue its partnership with Cisco, looking to extend similar virtual experiences to hospitals across the country.

Watch the Creation of Virtual Pirate Experience

We’d love to hear what you think. Ask a Question, Comment Below, and Stay Connected with #CiscoPartners on social!

Cisco Partners Facebook  |  @CiscoPartners X/Twitter  |  Cisco Partners LinkedIn

Share

"}]]  Check out how Cisco's Webex “all-in-one" devices are used for a different type of collaboration. Cisco Partners, NWN Carousel, collaborated with the IT teams of Boston's Franciscan Children’s Hospital and the Whydah Pirate Museum to design a truly unique virtual experience. #PartneringForPurpose  Read More Cisco Blogs 

By |2024-03-07T03:54:14+00:00March 7, 2024|Cisco: Learning|0 Comments

Using the Power of Artificial Intelligence to Augment Network Automation John Capobianco on March 6, 2024 at 5:25 pm

Talking to your Network

Embarking on my journey as a network engineer nearly two decades ago, I was among the early adopters who recognized the transformative potential of network automation. In… Read more on Cisco Blogs

​[["value":"

Talking to your Network

Embarking on my journey as a network engineer nearly two decades ago, I was among the early adopters who recognized the transformative potential of network automation. In 2015, after attending Cisco Live in San Diego, I gained a new appreciation of the realm of the possible. Leveraging tools like Ansible and Cisco pyATS, I began to streamline processes and enhance efficiencies within network operations, setting a foundation for what would become a career-long pursuit of innovation. This initial foray into automation was not just about simplifying repetitive tasks; it was about envisioning a future where networks could be more resilient, adaptable, and intelligent. As I navigated through the complexities of network systems, these technologies became indispensable allies, helping me to not only manage but also to anticipate the needs of increasingly sophisticated networks.

In recent years, my exploration has taken a pivotal turn with the advent of generative AI, marking a new chapter in the story of network automation. The integration of artificial intelligence into network operations has opened up unprecedented possibilities, allowing for even greater levels of efficiency, predictive analysis, and decision-making capabilities. This blog, accompanying the CiscoU Tutorial, delves into the cutting-edge intersection of AI and network automation, highlighting my experiences with Docker, LangChain, Streamlit, and, of course, Cisco pyATS. It’s a reflection on how the landscape of network engineering is being reshaped by AI, transforming not just how we manage networks, but how we envision their growth and potential in the digital age. Through this narrative, I aim to share insights and practical knowledge on harnessing the power of AI to augment the capabilities of network automation, offering a glimpse into the future of network operations.

In the spirit of modern software deployment practices, the solution I architected is encapsulated within Docker, a platform that packages an application and all its dependencies in a virtual container that can run on any Linux server. This encapsulation ensures that it works seamlessly in different computing environments. The heart of this dockerized solution lies within three key files: the Dockerfile, the startup script, and the docker-compose.yml.

The Dockerfile serves as the blueprint for building the application’s Docker image. It starts with a base image, ubuntu:latest, ensuring that all the operations have a solid foundation. From there, it outlines a series of commands that prepare the environment:

FROM ubuntu:latest

# Set the noninteractive frontend (useful for automated builds)
ARG DEBIAN_FRONTEND=noninteractive
# A series of RUN commands to install necessary packages
RUN apt-get update && apt-get install -y wget sudo ...
# Python, pip, and essential tools are installed
RUN apt-get install python3 -y && apt-get install python3-pip -y ...
# Specific Python packages are installed, including pyATS[full]
RUN pip install pyats[full]
# Other utilities like dos2unix for script compatibility adjustments
RUN sudo apt-get install dos2unix -y
# Installation of LangChain and related packages
RUN pip install -U langchain-openai langchain-community ...
# Install Streamlit, the web framework
RUN pip install streamlit

Each command is preceded by an echo statement that prints out the action being taken, which is incredibly helpful for debugging and understanding the build process as it happens.

The startup.sh script is a simple yet crucial component that dictates what happens when the Docker container starts:

cd streamlit_langchain_pyats
streamlit run chat_with_routing_table.py

It navigates into the directory containing the Streamlit app and starts the app using streamlit run. This is the command that actually gets our app up and running within the container.

Lastly, the docker-compose.yml file orchestrates the deployment of our Dockerized application. It defines the services, volumes, and networks to run our containerized application:

version: '3'
services:
streamlit_langchain_pyats:
image: [Docker Hub image]
container_name: streamlit_langchain_pyats
restart: always
build:
context: ./
dockerfile: ./Dockerfile
ports:
- "8501:8501"

This docker-compose.yml file makes it incredibly easy to manage the application lifecycle, from starting and stopping to rebuilding the application. It binds the host’s port 8501 to the container’s port 8501, which is the default port for Streamlit applications.

Together, these files create a robust framework that ensures the Streamlit application — enhanced with the AI capabilities of LangChain and the powerful testing features of Cisco pyATS — is containerized, making deployment and scaling consistent and efficient.

The journey into the realm of automated testing begins with the creation of the testbed.yaml file. This YAML file is not just a configuration file; it’s the cornerstone of our automated testing strategy. It contains all the essential information about the devices in our network: hostnames, IP addresses, device types, and credentials. But why is it so crucial? The testbed.yaml file serves as the single source of truth for the pyATS framework to understand the network it will be interacting with. It’s the map that guides the automation tools to the right devices, ensuring that our scripts don’t get lost in the vast sea of the network topology.

Sample testbed.yaml

---
devices:
cat8000v:
alias: "Sandbox Router"
type: "router"
os: "iosxe"
platform: Cat8000v
credentials:
default:
username: developer
password: C1sco12345
connections:
cli:
protocol: ssh
ip: 10.10.20.48
port: 22
arguments:
connection_timeout: 360

With our testbed defined, we then turn our attention to the _job file. This is the conductor of our automation orchestra, the control file that orchestrates the entire testing process. It loads the testbed and the Python test script into the pyATS framework, setting the stage for the execution of our automated tests. It tells pyATS not only what devices to test but also how to test them, and in what order. This level of control is indispensable for running complex test sequences across a range of network devices.

Sample _job.py pyATS Job

import os
from genie.testbed import load
def main(runtime):
# ----------------
# Load the testbed
# ----------------
if not runtime.testbed:
# If no testbed is provided, load the default one.
# Load default location of Testbed
testbedfile = os.path.join('testbed.yaml')
testbed = load(testbedfile)
else:
# Use the one provided
testbed = runtime.testbed
# Find the location of the script in relation to the job file
testscript = os.path.join(os.path.dirname(__file__), 'show_ip_route_langchain.py')
# run script
runtime.tasks.run(testscript=testscript, testbed=testbed)

Then comes the pièce de résistance, the Python test script — let’s call it capture_routing_table.py. This script embodies the intelligence of our automated testing process. It’s where we’ve distilled our network expertise into a series of commands and parsers that interact with the Cisco IOS XE devices to retrieve the routing table information. But it doesn’t stop there; this script is designed to capture the output and elegantly transform it into a JSON structure. Why JSON, you ask? Because JSON is the lingua franca for data interchange, making the output from our devices readily available for any number of downstream applications or interfaces that might need to consume it. In doing so, we’re not just automating a task; we’re future-proofing it.

Excerpt from the pyATS script

@aetest.test
def get_raw_config(self):
raw_json = self.device.parse("show ip route")
self.parsed_json = "info": raw_json
@aetest.test
def create_file(self):
with open('Show_IP_Route.json', 'w') as f:
f.write(json.dumps(self.parsed_json, indent=4, sort_keys=True))

By focusing solely on pyATS in this phase, we lay a strong foundation for network automation. The testbed.yaml file ensures that our script knows where to go, the _job file gives it the instructions on what to do, and the capture_routing_table.py script does the heavy lifting, turning raw data into structured knowledge. This approach streamlines our processes, making it possible to conduct comprehensive, repeatable, and reliable network testing at scale.

Enhancing AI Conversational Models with RAG and Network JSON: A Guide

In the ever-evolving field of AI, conversational models have come a long way. From simple rule-based systems to advanced neural networks, these models can now mimic human-like conversations with a remarkable degree of fluency. However, despite the leaps in generative capabilities, AI can sometimes stumble, providing answers that are nonsensical or “hallucinated” — a term used when AI produces information that isn’t grounded in reality. One way to mitigate this is by integrating Retrieval-Augmented Generation (RAG) into the AI pipeline, especially in conjunction with structured data sources like network JSON.

What is Retrieval-Augmented Generation (RAG)?

Retrieval-Augmented Generation is a cutting-edge technique in AI language processing that combines the best of two worlds: the generative power of models like GPT (Generative Pre-trained Transformer) and the precision of retrieval-based systems. Essentially, RAG enhances a language model’s responses by first consulting a database of information. The model retrieves relevant documents or data and then uses this context to inform its generated output.

The RAG Process

The process typically involves several key steps:

Retrieval: When the model receives a query, it searches through a database to find relevant information.
Augmentation: The retrieved information is then fed into the generative model as additional context.
Generation: Armed with this context, the model generates a response that’s not only fluent but also factually grounded in the retrieved data.

The Role of Network JSON in RAG

Network JSON refers to structured data in the JSON (JavaScript Object Notation) format, often used in network communications. Integrating network JSON with RAG serves as a bridge between the generative model and the vast amounts of structured data available on networks. This integration can be critical for several reasons:

Data-Driven Responses: By pulling in network JSON data, the AI can ground its responses in real, up-to-date information, reducing the risk of “hallucinations.”
Enhanced Accuracy: Access to a wide array of structured data means the AI’s answers can be more accurate and informative.
Contextual Relevance: RAG can use network JSON to understand the context better, leading to more relevant and precise answers.

Why Use RAG with Network JSON?

Let’s explore why one might choose to use RAG in tandem with network JSON through a simplified example using Python code:

Source and Load: The AI model begins by sourcing data, which could be network JSON files containing information from various databases or the internet.
Transform: The data might undergo a transformation to make it suitable for the AI to process — for example, splitting a large document into manageable chunks.
Embed: Next, the system converts the transformed data into embeddings, which are numerical representations that encapsulate the semantic meaning of the text.
Store: These embeddings are then stored in a retrievable format.
Retrieve: When a new query arrives, the AI uses RAG to retrieve the most relevant embeddings to inform its response, thus ensuring that the answer is grounded in factual data.

By following these steps, the AI model can drastically improve the quality of the output, providing responses that are not only coherent but also factually correct and highly relevant to the user’s query.

class ChatWithRoutingTable:
def __init__(self):
self.conversation_history = []
self.load_text()
self.split_into_chunks()
self.store_in_chroma()
self.setup_conversation_memory()
self.setup_conversation_retrieval_chain()
def load_text(self):
self.loader = JSONLoader(
file_path='Show_IP_Route.json',
jq_schema=".info[]",
text_content=False
)
self.pages = self.loader.load_and_split()
def split_into_chunks(self):
# Create a text splitter
self.text_splitter = RecursiveCharacterTextSplitter(
chunk_size=1000,
chunk_overlap=100,
length_function=len,
)
self.docs = self.text_splitter.split_documents(self.pages)
def store_in_chroma(self):
embeddings = OpenAIEmbeddings()
self.vectordb = Chroma.from_documents(self.docs, embedding=embeddings)
self.vectordb.persist()
def setup_conversation_memory(self):
self.memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
def setup_conversation_retrieval_chain(self):
self.qa = ConversationalRetrievalChain.from_llm(llm, self.vectordb.as_retriever(search_kwargs="k": 10), memory=self.memory)
def chat(self, question):
# Format the user's prompt and add it to the conversation history
user_prompt = f"User: question"
self.conversation_history.append("text": user_prompt, "sender": "user")
# Format the entire conversation history for context, excluding the current prompt
conversation_context = self.format_conversation_history(include_current=False)
# Concatenate the current question with conversation context
combined_input = f"Context: conversation_contextnQuestion: question"
# Generate a response using the ConversationalRetrievalChain
response = self.qa.invoke(combined_input)
# Extract the answer from the response
answer = response.get('answer', 'No answer found.')
# Format the AI's response
ai_response = f"Cisco IOS XE: answer"
self.conversation_history.append("text": ai_response, "sender": "bot")
# Update the Streamlit session state by appending new history with both user prompt and AI response
st.session_state['conversation_history'] += f"nuser_promptnai_response"
# Return the formatted AI response for immediate display
return ai_response

Conclusion

The integration of RAG with network JSON is a powerful way to supercharge conversational AI. It leads to more accurate, reliable, and contextually aware interactions that users can trust. By leveraging the vast amounts of available structured data, AI models can step beyond the limitations of pure generation and towards a more informed and intelligent conversational experience.

Related resources

This open source repo contains this solution in full. Try it for yourself!
Check out my conversation with Adrian Iliesiu on his NetGRU live stream, “Automating Your Network with ChatGPT
 If you want a deeper dive / live demo, check out my session from Cisco Live Amsterdam 2024

Share

"]]  The integration of artificial intelligence into network operations has opened up unprecedented levels of efficiency, predictive analysis, and decision-making capabilities. Get a glimpse into the future of network operation, with practical knowledge on harnessing the power of AI to augment network automation.  Read More Cisco Blogs 

By |2024-03-07T03:54:13+00:00March 7, 2024|Cisco: Learning|0 Comments

Elevate Your Career with the New Cisco Service Provider Cloud Networking Certification Jay Jordan on March 6, 2024 at 8:00 pm

Calling all service provider network engineers and networking professionals! We have just unveiled the new Cisco Service Provider Cloud Network Infrastructure Specialist Certification, specifically … Read more on Cisco Blogs

​[[ YouTube

Use #CiscoU and #CiscoCert to join the conversation.

Read next:

Up, Up, and Away to the Clouds: Cisco Multicloud Specialist Certifications

Share

"]]  Cisco Service Provider Cloud Network Infrastructure Specialist Certification offers service provider networking professionals a new way to demonstrate their ability to navigate infrastructure connectivity in the cloud, integrating new layers and functions with traditional on-premises setups.  Read More Cisco Blogs 

By |2024-03-07T03:54:12+00:00March 7, 2024|Cisco: Learning|0 Comments
Go to Top