SlideShare a Scribd company logo
1 of 30
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud Confidential. Copyright © Arista 2019. All rights reserved.
HYBRID MULTICLOUD
ORCHESTRATION
ARISTA
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
DIREC
T
INTERNE
T
IPSEC
NATIVE
3RD
PARTY
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Ansible Terraform CloudFormation
Syntax YAML HCL / JSON JSON
State Management Some Yes No
Manage already
created resources
Yes Hard No
Providers support +++ ++ AWS
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Hybrid Multi-Cloud orchestration
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
1. Use Terraform to
orchestrate hybrid multi-
Cloud deployments
2. Use CVP API to configure
vEOS Routers
3. Use Ansible to configure
vEOS Router (or any third
party), integrated into
Terraform.
Hybrid Multi-Cloud orchestration
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
https://github.com/networkop/tf-mcloud-demo
https://github.com/networkop/
A lot more of really good stuff here:
Hybrid Multi-Cloud orchestration demo
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
• CVP API can be used directly using http calls with POST method sending
JSON data
• RESTful HTTP methods and needed JSON data structures can be found at
http://<insert_your_CVP_IP_HERE>/web/api
• Can be cumbersome to use the CVP API direct so CVP RAC wrapper is
available to simplify
• CVP RAC is created and maintained by Arista
• CVP RAC exists for several languages like Python, Ruby and GO
• Everything that can be done in CVP GUI can be done via the API
Arista CloudVision APIs
https://github.com/aristanetworks/cvprac
https://github.com/networkop/terraform-cvp
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Arista CloudVision APIs
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
What is Terraform?
• Infrastructure as code
• A tool to manage virtual server life cycles (AWS, Azure,
VMWare, etc.)
• A tool to manage supporting services (DNS, Email)
• A tool to manage system servies (MySQL, PostgreSQL)
• Configuration files can be JSON or HCL
(HashiCorp configuration language)
• Created by Hashicorp (Vagrant, Vault, et al.)
• Written in Go
This is exactly what this demo is abou
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
https://www.terraform.io/docs/providers/
Terraform – Working with resources and providers
TYPE NAME
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
• Terraform loads all files ending in .tf in a directory
• If a default value is set, the variable is optional. Otherwise, the variable is required, so
Terraform will prompt you for the values for unset string variables during run time.
• Terraform will also read environment variables in the form of TF_VAR_name
variables.tf
Terraform – Working with variables
Using variables in configuration:
Assigning variables from a file:
terraform.tfvars
main.tf
export TF_VAR_name=“baz”
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Terraform – CVP +
https://github.com/networkop/terraform-cvp
https://github.com/networkop/cvpgo
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Terraform – CVP resource: Configlet
main.tf ipsec.tpl
+
…
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Terraform – CVP resource: Device
https://github.com/networkop/terraform-cvp
Data
Center
Campus
Public
Cloud
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
What is Ansible?
• Super simple, yet extremely powerful tool to automate software provisioning,
configuration management, and application deployment.
• Very low barrier for entry, no coding skills needed
• Uses SSH or API as transport
• Not just for network devices – servers, cloud providers, VMware, whatever
• Python based, so easily extended
• YAML driven, making it extremely easy to use and is human readable
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Ansible Modules
1200+ built-in modules including:
apt, yum, copy, command, cron, dns, docker, easy_install, ec2 (amazon
modules), file, filesystem, find, git, known_hosts, mysql, mongodb, nagios,
npm, openstack, rax (rackspace), pip, shell, snmp_facts, eos_*, cv_*…
eos_* Core Modules
Advantages
• No third-party libraries needed
• No additional configuraton or client running on the switch
• Leverages eAPI/CLI(SSH) connection
• Work directly with running-configuration
• Easy to use and understand
• Offline-mode (generate configuration lines)
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Ansible CVP Integration*
Ansible CVP Module
offering configuration
functionality of devices
Configuration to be sent
can be defined in an
Ansible playbook
(YAML and Jinja templates)
CVP
API eAPI
• Makes delegation of discrete parts of the configuration possible
• Change control and rollback achieved when config is sent through CVP
• Firm procedure and review possibilities if integration with ServiceNow is used
• Gives traceability and audibility through logs in CVP for performed tasks
*NOT USED IN THIS DEMO
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
“Talk is cheap. Show
me the code.”*
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Ok, I’m ready to see some action now…
RUN!
• terraform init
• terraform apply
• terraform destroy
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
VEOS-ROUTER-POD1#show ip route bgp
VRF: default
Codes: C - connected, S - static, K - kernel,
O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1,
E2 - OSPF external type 2, N1 - OSPF NSSA external type 1,
N2 - OSPF NSSA external type2, B I - iBGP, B E - eBGP,
R - RIP, I L1 - IS-IS level 1, I L2 - IS-IS level 2,
O3 - OSPFv3, A B - BGP Aggregate, A O - OSPF Summary,
NG - Nexthop Group Static Route, V - VXLAN Control Service,
DH - DHCP client installed default route, M - Martian
B E 10.123.1.0/24 [200/0] via 169.254.1.10, Tunnel1
B E 10.123.2.0/24 [200/0] via 169.254.1.10, Tunnel1
B E 10.234.1.0/24 [200/0] via 169.254.2.20, Tunnel2
AWS prefixes
AZURE prefixes
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
acb@acb4q2018:~/mcloud-pod1$ ping 10.123.1.137
PING 10.123.1.137 (10.123.1.137) 56(84) bytes of data.
64 bytes from 10.123.1.137: icmp_seq=1 ttl=62 time=92.4 ms
64 bytes from 10.123.1.137: icmp_seq=2 ttl=62 time=92.6 ms
64 bytes from 10.123.1.137: icmp_seq=3 ttl=62 time=92.4 ms
64 bytes from 10.123.1.137: icmp_seq=4 ttl=62 time=92.3 ms
64 bytes from 10.123.1.137: icmp_seq=5 ttl=62 time=92.3 ms
^C
--- 10.123.1.137 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 92.347/92.468/92.681/0.352 ms
acb@acb4q2018:~/mcloud-pod1$ ping 10.234.1.4
PING 10.234.1.4 (10.234.1.4) 56(84) bytes of data.
64 bytes from 10.234.1.4: icmp_seq=1 ttl=62 time=3.57 ms
64 bytes from 10.234.1.4: icmp_seq=2 ttl=62 time=2.97 ms
64 bytes from 10.234.1.4: icmp_seq=3 ttl=62 time=3.75 ms
64 bytes from 10.234.1.4: icmp_seq=4 ttl=62 time=3.30 ms
^C
--- 10.234.1.4 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 2.978/3.403/3.752/0.300 ms
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Confidential. Copyright © Arista 2019. All rights reserved.
Cloud
Thank You
Confidential. Copyright © Arista 2019. All rights reserved.

More Related Content

Similar to 2_ESNOG_arista.pptx

Hands on with CoAP and Californium
Hands on with CoAP and CaliforniumHands on with CoAP and Californium
Hands on with CoAP and CaliforniumJulien Vermillard
 
Kubernetes and AWS Lambda can 
play nicely together
Kubernetes and AWS Lambda can 
play nicely togetherKubernetes and AWS Lambda can 
play nicely together
Kubernetes and AWS Lambda can 
play nicely togetherEdward Wilde
 
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiativeApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiativeJean-Baptiste Onofré
 
Arista: DevOps for Network Engineers
Arista: DevOps for Network EngineersArista: DevOps for Network Engineers
Arista: DevOps for Network EngineersPhilip DiLeo
 
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfchalermpany
 
Not so FaaS, Streaming ML with Kafka! (Praveen Hirsave, VRBO) Kafka Summit Lo...
Not so FaaS, Streaming ML with Kafka! (Praveen Hirsave, VRBO) Kafka Summit Lo...Not so FaaS, Streaming ML with Kafka! (Praveen Hirsave, VRBO) Kafka Summit Lo...
Not so FaaS, Streaming ML with Kafka! (Praveen Hirsave, VRBO) Kafka Summit Lo...confluent
 
Terraform Abstractions for Safety and Power
Terraform Abstractions for Safety and PowerTerraform Abstractions for Safety and Power
Terraform Abstractions for Safety and PowerCalvin French-Owen
 
Streaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogStreaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogJoe Stein
 
Copr HD OpenStack Day India
Copr HD OpenStack Day IndiaCopr HD OpenStack Day India
Copr HD OpenStack Day Indiaopenstackindia
 
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...Arthur Berezin
 
RHCE (RED HAT CERTIFIED ENGINEERING)
RHCE (RED HAT CERTIFIED ENGINEERING)RHCE (RED HAT CERTIFIED ENGINEERING)
RHCE (RED HAT CERTIFIED ENGINEERING)Sumant Garg
 
IoT Edge Data Processing with NVidia Jetson Nano oct 3 2019
IoT  Edge Data Processing with NVidia Jetson Nano oct 3 2019IoT  Edge Data Processing with NVidia Jetson Nano oct 3 2019
IoT Edge Data Processing with NVidia Jetson Nano oct 3 2019Timothy Spann
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever buildingEdmond Yu
 
What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?rhirschfeld
 
IXP Automation with SaltStack and NAPALM
IXP Automation with SaltStack and NAPALMIXP Automation with SaltStack and NAPALM
IXP Automation with SaltStack and NAPALMAPNIC
 
Kubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linuxKubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linuxmacchiang
 

Similar to 2_ESNOG_arista.pptx (20)

Terraform
TerraformTerraform
Terraform
 
Hands on with CoAP and Californium
Hands on with CoAP and CaliforniumHands on with CoAP and Californium
Hands on with CoAP and Californium
 
Kubernetes and AWS Lambda can 
play nicely together
Kubernetes and AWS Lambda can 
play nicely togetherKubernetes and AWS Lambda can 
play nicely together
Kubernetes and AWS Lambda can 
play nicely together
 
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiativeApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
ApacheCon NA '19 - Apache karaf on cloud, the kloud initiative
 
Arista: DevOps for Network Engineers
Arista: DevOps for Network EngineersArista: DevOps for Network Engineers
Arista: DevOps for Network Engineers
 
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
 
Not so FaaS, Streaming ML with Kafka! (Praveen Hirsave, VRBO) Kafka Summit Lo...
Not so FaaS, Streaming ML with Kafka! (Praveen Hirsave, VRBO) Kafka Summit Lo...Not so FaaS, Streaming ML with Kafka! (Praveen Hirsave, VRBO) Kafka Summit Lo...
Not so FaaS, Streaming ML with Kafka! (Praveen Hirsave, VRBO) Kafka Summit Lo...
 
Terraform Abstractions for Safety and Power
Terraform Abstractions for Safety and PowerTerraform Abstractions for Safety and Power
Terraform Abstractions for Safety and Power
 
Introduction to istio
Introduction to istioIntroduction to istio
Introduction to istio
 
Streaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogStreaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit Log
 
Kubernetes basics and hands on exercise
Kubernetes basics and hands on exerciseKubernetes basics and hands on exercise
Kubernetes basics and hands on exercise
 
Cl116
Cl116Cl116
Cl116
 
Copr HD OpenStack Day India
Copr HD OpenStack Day IndiaCopr HD OpenStack Day India
Copr HD OpenStack Day India
 
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
Kubernetes vs dockers swarm supporting onap oom on multi-cloud multi-stack en...
 
RHCE (RED HAT CERTIFIED ENGINEERING)
RHCE (RED HAT CERTIFIED ENGINEERING)RHCE (RED HAT CERTIFIED ENGINEERING)
RHCE (RED HAT CERTIFIED ENGINEERING)
 
IoT Edge Data Processing with NVidia Jetson Nano oct 3 2019
IoT  Edge Data Processing with NVidia Jetson Nano oct 3 2019IoT  Edge Data Processing with NVidia Jetson Nano oct 3 2019
IoT Edge Data Processing with NVidia Jetson Nano oct 3 2019
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever building
 
What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?
 
IXP Automation with SaltStack and NAPALM
IXP Automation with SaltStack and NAPALMIXP Automation with SaltStack and NAPALM
IXP Automation with SaltStack and NAPALM
 
Kubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linuxKubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linux
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

2_ESNOG_arista.pptx

  • 1. Confidential. Copyright © Arista 2019. All rights reserved. Cloud Confidential. Copyright © Arista 2019. All rights reserved. HYBRID MULTICLOUD ORCHESTRATION ARISTA
  • 2. Confidential. Copyright © Arista 2019. All rights reserved. Cloud DIREC T INTERNE T IPSEC NATIVE 3RD PARTY
  • 3. Confidential. Copyright © Arista 2019. All rights reserved. Cloud Ansible Terraform CloudFormation Syntax YAML HCL / JSON JSON State Management Some Yes No Manage already created resources Yes Hard No Providers support +++ ++ AWS
  • 4. Confidential. Copyright © Arista 2019. All rights reserved. Cloud Hybrid Multi-Cloud orchestration
  • 5. Confidential. Copyright © Arista 2019. All rights reserved. Cloud 1. Use Terraform to orchestrate hybrid multi- Cloud deployments 2. Use CVP API to configure vEOS Routers 3. Use Ansible to configure vEOS Router (or any third party), integrated into Terraform. Hybrid Multi-Cloud orchestration
  • 6. Confidential. Copyright © Arista 2019. All rights reserved. Cloud https://github.com/networkop/tf-mcloud-demo https://github.com/networkop/ A lot more of really good stuff here: Hybrid Multi-Cloud orchestration demo
  • 7. Confidential. Copyright © Arista 2019. All rights reserved. Cloud • CVP API can be used directly using http calls with POST method sending JSON data • RESTful HTTP methods and needed JSON data structures can be found at http://<insert_your_CVP_IP_HERE>/web/api • Can be cumbersome to use the CVP API direct so CVP RAC wrapper is available to simplify • CVP RAC is created and maintained by Arista • CVP RAC exists for several languages like Python, Ruby and GO • Everything that can be done in CVP GUI can be done via the API Arista CloudVision APIs https://github.com/aristanetworks/cvprac https://github.com/networkop/terraform-cvp
  • 8. Confidential. Copyright © Arista 2019. All rights reserved. Cloud Arista CloudVision APIs
  • 9. Confidential. Copyright © Arista 2019. All rights reserved. Cloud What is Terraform? • Infrastructure as code • A tool to manage virtual server life cycles (AWS, Azure, VMWare, etc.) • A tool to manage supporting services (DNS, Email) • A tool to manage system servies (MySQL, PostgreSQL) • Configuration files can be JSON or HCL (HashiCorp configuration language) • Created by Hashicorp (Vagrant, Vault, et al.) • Written in Go This is exactly what this demo is abou
  • 10. Confidential. Copyright © Arista 2019. All rights reserved. Cloud https://www.terraform.io/docs/providers/ Terraform – Working with resources and providers TYPE NAME
  • 11. Confidential. Copyright © Arista 2019. All rights reserved. Cloud • Terraform loads all files ending in .tf in a directory • If a default value is set, the variable is optional. Otherwise, the variable is required, so Terraform will prompt you for the values for unset string variables during run time. • Terraform will also read environment variables in the form of TF_VAR_name variables.tf Terraform – Working with variables Using variables in configuration: Assigning variables from a file: terraform.tfvars main.tf export TF_VAR_name=“baz”
  • 12. Confidential. Copyright © Arista 2019. All rights reserved. Cloud Terraform – CVP + https://github.com/networkop/terraform-cvp https://github.com/networkop/cvpgo
  • 13. Confidential. Copyright © Arista 2019. All rights reserved. Cloud Terraform – CVP resource: Configlet main.tf ipsec.tpl + …
  • 14. Confidential. Copyright © Arista 2019. All rights reserved. Cloud Terraform – CVP resource: Device https://github.com/networkop/terraform-cvp Data Center Campus Public Cloud
  • 15. Confidential. Copyright © Arista 2019. All rights reserved. Cloud What is Ansible? • Super simple, yet extremely powerful tool to automate software provisioning, configuration management, and application deployment. • Very low barrier for entry, no coding skills needed • Uses SSH or API as transport • Not just for network devices – servers, cloud providers, VMware, whatever • Python based, so easily extended • YAML driven, making it extremely easy to use and is human readable
  • 16. Confidential. Copyright © Arista 2019. All rights reserved. Cloud Ansible Modules 1200+ built-in modules including: apt, yum, copy, command, cron, dns, docker, easy_install, ec2 (amazon modules), file, filesystem, find, git, known_hosts, mysql, mongodb, nagios, npm, openstack, rax (rackspace), pip, shell, snmp_facts, eos_*, cv_*… eos_* Core Modules Advantages • No third-party libraries needed • No additional configuraton or client running on the switch • Leverages eAPI/CLI(SSH) connection • Work directly with running-configuration • Easy to use and understand • Offline-mode (generate configuration lines)
  • 17. Confidential. Copyright © Arista 2019. All rights reserved. Cloud Ansible CVP Integration* Ansible CVP Module offering configuration functionality of devices Configuration to be sent can be defined in an Ansible playbook (YAML and Jinja templates) CVP API eAPI • Makes delegation of discrete parts of the configuration possible • Change control and rollback achieved when config is sent through CVP • Firm procedure and review possibilities if integration with ServiceNow is used • Gives traceability and audibility through logs in CVP for performed tasks *NOT USED IN THIS DEMO
  • 18. Confidential. Copyright © Arista 2019. All rights reserved. Cloud “Talk is cheap. Show me the code.”*
  • 19. Confidential. Copyright © Arista 2019. All rights reserved. Cloud
  • 20. Confidential. Copyright © Arista 2019. All rights reserved. Cloud
  • 21. Confidential. Copyright © Arista 2019. All rights reserved. Cloud
  • 22. Confidential. Copyright © Arista 2019. All rights reserved. Cloud Ok, I’m ready to see some action now… RUN! • terraform init • terraform apply • terraform destroy
  • 23. Confidential. Copyright © Arista 2019. All rights reserved. Cloud
  • 24. Confidential. Copyright © Arista 2019. All rights reserved. Cloud
  • 25. Confidential. Copyright © Arista 2019. All rights reserved. Cloud
  • 26. Confidential. Copyright © Arista 2019. All rights reserved. Cloud
  • 27. Confidential. Copyright © Arista 2019. All rights reserved. Cloud VEOS-ROUTER-POD1#show ip route bgp VRF: default Codes: C - connected, S - static, K - kernel, O - OSPF, IA - OSPF inter area, E1 - OSPF external type 1, E2 - OSPF external type 2, N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type2, B I - iBGP, B E - eBGP, R - RIP, I L1 - IS-IS level 1, I L2 - IS-IS level 2, O3 - OSPFv3, A B - BGP Aggregate, A O - OSPF Summary, NG - Nexthop Group Static Route, V - VXLAN Control Service, DH - DHCP client installed default route, M - Martian B E 10.123.1.0/24 [200/0] via 169.254.1.10, Tunnel1 B E 10.123.2.0/24 [200/0] via 169.254.1.10, Tunnel1 B E 10.234.1.0/24 [200/0] via 169.254.2.20, Tunnel2 AWS prefixes AZURE prefixes
  • 28. Confidential. Copyright © Arista 2019. All rights reserved. Cloud acb@acb4q2018:~/mcloud-pod1$ ping 10.123.1.137 PING 10.123.1.137 (10.123.1.137) 56(84) bytes of data. 64 bytes from 10.123.1.137: icmp_seq=1 ttl=62 time=92.4 ms 64 bytes from 10.123.1.137: icmp_seq=2 ttl=62 time=92.6 ms 64 bytes from 10.123.1.137: icmp_seq=3 ttl=62 time=92.4 ms 64 bytes from 10.123.1.137: icmp_seq=4 ttl=62 time=92.3 ms 64 bytes from 10.123.1.137: icmp_seq=5 ttl=62 time=92.3 ms ^C --- 10.123.1.137 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4001ms rtt min/avg/max/mdev = 92.347/92.468/92.681/0.352 ms acb@acb4q2018:~/mcloud-pod1$ ping 10.234.1.4 PING 10.234.1.4 (10.234.1.4) 56(84) bytes of data. 64 bytes from 10.234.1.4: icmp_seq=1 ttl=62 time=3.57 ms 64 bytes from 10.234.1.4: icmp_seq=2 ttl=62 time=2.97 ms 64 bytes from 10.234.1.4: icmp_seq=3 ttl=62 time=3.75 ms 64 bytes from 10.234.1.4: icmp_seq=4 ttl=62 time=3.30 ms ^C --- 10.234.1.4 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 2.978/3.403/3.752/0.300 ms
  • 29. Confidential. Copyright © Arista 2019. All rights reserved. Cloud
  • 30. Confidential. Copyright © Arista 2019. All rights reserved. Cloud Thank You Confidential. Copyright © Arista 2019. All rights reserved.