Chris Marget, Senior Product Manager, Juniper Networks

Cloud Style on Premises Networking With Juniper Apstra

Data Center
Chris Marget Headshot
Screenshot from the video showing an image of a man speaking and gesturing with his hands and a diagram with the words “We’re Going to Do an Application Deploy,” “3 instances of a web service,” “On a new subset,” “load balanced,” and “In public cloud this is a piece of cake,” as well as the website “www.TechFieldDay.com.”

Ever wish that on-premises networking could be as easy as cloud?

Learn how data center operators can achieve public cloud-like service consumption on premises by using Junipe Apstra® software and Terraform. You’ll see how to automate end-to-end application creation in this presentation recorded live during Tech Field Day 18.

Learn more about Juniper Apstra software.

Show more

You’ll learn

  • How Juniper’s Terraform provider fits traditionally complex network services, like EVPN, neatly into a predefined application automation

  • How Apstra and Terraform let you self-serve network services in a familiar way, providing seamless deployments across any infrastructure

Who is this for?

Network Professionals

Host

Chris Marget Headshot
Chris Marget
Senior Product Manager, Juniper Networks

Transcript

0:09 uh my name is Chris marget I'm a product manager at juner networks um I've been on that side of the table at 15

0:16 different Tech Field Day events so I I'm really excited for you guys I know you're in for a great few days um I'm

0:22 more excited for me this is my first time presenting so I'm really happy to be here and and talk to you about

0:28 automating your data center as if you automating the cloud and how uh Juniper can make that experience uh you know

0:34 pretty much the same um in Juniper I worked for uh the cloud ready data

0:40 center group and uh that's something we really believe and I want to make that

0:45 uh seem real and I want you guys to believe it too so that's what we're going to do so when you're automating public

0:51 Cloud uh you you pick a cloud provider there's a whole bunch of services there that you're going to consume cloud

0:57 provider has an orchestration tool you can can use it's One-Stop shopping everything fits together perfectly easy

1:04 peasy you could also make it two stop shopping and use a third party orchestrator and that's the strategy

1:09 we're going to use today we're using terraform on Prim you're not using all

1:16 those AWS Services anymore Pro probably you've got a security box of some kind you've probably got a secret archive

1:22 vaults type solution you've probably got a load balancer a DNS box or service something to run compute all those

1:28 things have apis probably all have terraform providers most of the work you can do uh but the analog for the VPC

1:38 service in a data center is a completely different story uh it it's hard um to do

1:44 in any VLAN anywhere kind of situation in your data center fabric uh at anything remotely approaching scale you

1:51 need uh evpn vxlan and that is a specialist network uh you know

1:57 Department you you need people to do that it's hard um but we can make it

2:02 easy so abster can drop right in into your Cloud style deployments in your on-

2:09 premisis data center orchestrate whatever's going on with the real switching Fabric and deliver the kinds

2:14 of things uh that you do in the network in public Cloud uh uh right there in

2:20 your on-prem data center so we're going to do a demo uh it's an application

2:25 deployment uh we're going to you know stand up a load balancer and some we servers and and uh publish a service uh

2:33 this is not an impressive demo in public Cloud it's a piece of cake if you don't ignore the plumbing

2:40 doing the same thing on Prem is a different story right there's you know

2:45 choosing VLAN numbers there's getting you know doing ipam getting the plumbing across the fabric to All the Right

2:51 switches lighting up the correct ports on you know physical servers right none of those are things you have to worry

2:57 about in public Cloud it's all just transparent or visible and just happens but but doing it in a real facility is a

3:02 completely different story so we've got a laborat to go uh there's a bunch of

3:07 things in the lab and I want to level set about what we've got in there so you understand what's what's really

3:12 happening uh so to begin we've got a pile of junro qfx switches they are completely

3:19 unconfigured uh We've also got some servers uh Linux and Docker is pre-installed on them but other than

3:25 that they're you know not configured oh I prefetched some container IM so we don't have to

3:30 wait uh all that stuff is cabled together in a topology like this got spine switches Leaf switches servers

3:37 attached to Leaf switches um but this is not a running fabric uh in addition we've got an out

3:43 of band management network uh all of this equipment is attached so that we can log into it and manage it uh and

3:50 finally abster is here Appster is also attached to that outand Network and so abster is going to be uh you know one of

3:56 the things that is doing work for us in the fabric today before we can deploy our

4:03 application we actually need to take this pile of gear and make it into a usable fabric right that means lighting

4:09 up the ports where the switches interconnect to each other lighting up you know bgp relationships between the

4:15 nodes um we're going to instantiate the load balancer that we'll be using later because having a load balancer existing

4:21 feels like a day Zero task that load balancer will be on a new Services Network that kind of

4:27 thing uh so let's just go ahead and do

4:35 that uh this is the front page of abstra when it is unconfigured uh there are no

4:41 a blueprint in abstra is like a running environment we have no blueprints if I

4:46 click on the blueprints thing here there's there's none we've got a create button we could specify some details

4:51 that that we want but we're not going to do that uh so we need to tell abstra

4:57 this is what our racks look like how many switches are in each rack this is sort of the model of switch that we have

5:02 these are how many links between the spines and the leaf we're going to have uh how many spine switches are we going

5:07 to use what models are they which serial number has which role in the fabric stuff like that uh and rather than doing

5:15 that by clicking here uh we're going to do that by running terraform

5:24 apply so terraform wants to create 34 things we'll we'll let that go and if we

5:30 pop back into uh into abstra here we'll see like uh a rack definition called the

5:37 cfd1 18 rack has appeared it's a real simple rack that only has a single switch in it and nothing else at this

5:43 time uh we've got uh a template that's another one of our design building blocks that specifies how many instances

5:50 of that type of rack we have there's three of them there's two spine switches interconnecting them all um and if we look at managed

6:00 devices the manag devices page and abstra is the switches that abstra has taken control of and is Avail you know

6:06 makes them available for use and you see we've got five qfx switches here or I guess they're EXs um and they're you

6:15 know all green lights they're under management now um so Abra has taken charge of all that stuff oh and it just

6:20 changed I don't know if you noticed in the blueprint column here the switches went from available for use to assigned

6:26 to use so these are assigned to the cfd1 18 blueprint uh which we go back to the

6:31 blueprints page uh we had known a moment ago and now we've got uh a blueprint

6:37 defined you'll see it's abstra shows there are some anomalies six anomalies right now uh one of the validation

6:44 things that goes on in abstra is asstra knows that all these links are supposed to exist that all these bgp

6:49 relationships are supposed to exist and uh independent of pushing config abster

6:55 is constantly revalidating that all of the things that are supposed to be happening are happening and you know that runs in a in a polling

7:01 cycle it it'll take a few minutes and oh you see the the anomalies have reduced to three so abster noticed that three of

7:08 the problems have just gone away and a few remain uh okay so we'll pop into there so Chris just so I understand

7:13 what's happening there because thank you for interrupting me we're we're we're Cloud people so you have to help me

7:20 understand when you say uh apps are understands there supposed to be bgp

7:26 relationships what does that mean exactly in public cloud you don't have to worry about how a packet gets across

7:31 the cloud provider's fabric from one end to the other right it's it's not your problem it shows up on your v-neck

7:39 within the hypervisor and how it got from one hypervisor to another who cares right but there switches under there and

7:45 somebody had to configure them right and the same thing would be true in your data center right there are switches that need you know possibly thousands of

7:52 lines of configuration to make this all work uh and so those thousands of lines of config just got pushed into those

7:58 switches and some of those configuration elements said you are a leaf switch there's a

8:05 spine switch above you you should you know there should be green lights on that port and you should have a bgp

8:10 relationship with that spine where you're learning routes to other leafes and all those kind of things so since

8:16 abstra knew what to expect because we defined a topology with leaves and spines below or spines and leaves below

8:22 them and so forth abstra checking that all of those things are the way they're supposed to be so that that was the

8:29 intent validation so stuff and uh if I'm standing up existing services so if this

8:35 is not networking if I'm comparing this to a different type of service I'm standing up yeah if there's a state that

8:41 needs to be uh after I started the server and or instance and a uh

8:47 application needs to connect to a database let's say once I started the server that service that's not instant

8:54 that has to happen so apps are in a sense is checking to see if that state is EXP Ed if you had an orchestrator

9:01 that made you know a web front end and a database and expected them to be able to reach each other and talk and that

9:07 orchestrator had a subsequent pass that made sure that the front end was

9:13 actually logged into the database and doing transactions that would be a good analog for what we're doing so if we

9:18 went back to anonymes now there should be yeah there uh I think there's an anomal view on there well things would

9:25 be red or yellow across the top and and they're not it would be on the on the active tab there so since the active tab

9:31 is all green it's the anomalies have all evaporated I'm sorry I've got another question thanks yeah um you you started

9:37 this conversation with um a focus on cloud style yeah Network operation and

9:42 I'm trying to figure out what is the difference between what you're showing us here and what would be typical data

9:48 center Network operation you didn't see me open a command shell and and type you

9:53 know platform specific you know jcie or CCI switch ation into any devices okay

10:01 right and and that you know that goes for the initial setup of the fabric that we just did and also for subsequent

10:08 operations day2 stuff right so in in Cloud you either with terraform or blumi

10:13 or some tool or the web UI you click the new subnet button and that happens right

10:19 on premises that may be hundreds of lines on hundreds of devices that all need to be individually configured to

10:26 have all the right details in them and for a lot of you I imagine that means open a ticket with a network team to

10:33 make that happen in a real data center right so that that's the difference is is abra's web UI gives you a new subnet

10:40 button we call a virtual Network um and the terraform provider gives you a a

10:47 virtual Network terraform resource and the same kinds of things you would put in a in an AWS subnet definition

10:53 resource definition in terraform same thing here right you know what what VPC does it belong in we we we call call it

10:59 a routing Zone um you know what account does it belong in we call that a blueprint um but you know it's it's the

11:05 same style of of stanza with the same few attributes and it's just you know

11:11 right your right your terraform definition I promise last question for me until you get started again yeah the

11:17 uh one of the things that kind of you you know kind of w wave the mastic hand on I've done a lot of data center stuff

11:24 yeah and it's never this clean because I I'll take I'll take the the bullet for

11:32 this one I plug the cable into the wrong cord

11:37 Yep this is kind of connecting the magic of the cloud the magic of the actual racking person who racks and stacks it

11:44 how do I know what what if I plug the cable into the wrong Port this this

11:49 presumes that all the cables are plugged into the correct Port so at when you define the rack I didn't I didn't show

11:56 you but when you define the rack you have to specify you know there's a switch in this rack it's a certain model

12:01 right I want to use the you know 100 Gig ports on the end for my links to my

12:06 spines I want to use the 25 gig ports for the links to my servers right that you know you sort of organize your device and how you want to use it and uh

12:15 Appstore will then choose uh which interfaces should should be linked to which devices and there there's a uh

12:23 let's see cabling uh physical links so there there 's a list of links of all

12:30 the things that should be attached to which other things uh in this case these are abrous choices we could have been

12:35 prescriptive about it and in either case whether we're prescriptive or we let abster choose when abster looks at the

12:42 topology and finds something different than what's actually cabled we would have anomalies there'd be Blood on the

12:48 screen so in theory I could uh I could be a service provider and I could have a set of PODS and these pods can be

12:55 pre-bled and dependent on my customer my uh end customers who consume this pay as

13:01 you go they can stand this up and down based on that pre- cable so I don't have to always have somebody go back in and

13:07 recable something I can tell apps or where what what C where there's a button in the in the UI that says discover the

13:14 the as cabled and so long as there's a cable that meets every need right a link from every spine to every leaf or you

13:20 whatever as long as there's a cable that's kind of in the right place we can use it and if it's cabled completely

13:26 wrong then we can't solve that problem you got to go move wires yeah um okay so

13:32 yeah so I got going to try to be quick with two question so the first one is you've already mentioned thousands of

13:38 lines of code yeah are we going to see the terap code at some point I mean you won't be surprised by it um it also I'm

13:46 going to give you a link to the gway poost you can read it Fant but I mean you know it's it's terraform it's not you know yeah you will be bored there's

13:53 a difference between terraform with well there's there's a big difference between different terraform providers so that

13:58 that's why I asked the question my second question is you me mentioned that the uh the App Store would be built in a

14:04 place where it would have the ability to uh connect to the adab band y uh so so

14:09 where where exactly would that VM live so it's up to you um you know you you

14:15 could bootstrap your whole data center on your laptop just run that VM there and then move it later uh you could buy

14:22 an appliance from juniper and run it on that thing uh you could um you know a

14:28 lot of Enterprise environments have a small like critical Services management cluster that's separate from the actual

14:35 workload so it's up to you we don't have we don't take a position on it but uh the apstra VM needs to be reachable from

14:41 your browser and it needs to be able to reach the uh physical outof band management ports of all of the devices

14:48 that it's managing okay as far as the the code goes so the after provider is

14:53 out on the on the registry and and you know you can you can look it up um uh so

14:58 if we look at uh routing Zone this is our our VPC um you know you name it you you have

15:05 to assign it to a blueprint because the blueprint is the large construct that refers to the equipment and then a VPC

15:11 which is a routing Zone lives inside one of those um there's some optional parameters here that you could include

15:18 or not um so the the terone provider is not autogenerated you know by a machine

15:25 and unfriendly um you know we've we've taken pains to make it uh as easy to consume and and this is this is a very

15:31 knowing look and and I've been there too so yeah and I I know just how unfriendly

15:37 and autogenerated experience can be perfect thank one question about the we you saw sort of resources that were

15:43 coming online and then were failing and so that's always the trick terraform is notoriously sorry all of my friends at

15:50 hash bad at State Management especially with resources that have any kind of drift so if you make a change to a live

15:56 environment your terraform State believes that that resource isn't where

16:01 where it actually is now when terraform tries to reapply it does naughty things like destroys resources to rebuild them

16:08 because of order dependency and a misunderstanding of order y so how do you handle like dependencies and

16:15 eventual consistency when resources are coming up and out of order so so those resources uh you know the the

16:22 operational state of things that takes time to happen and the uh objects you

16:27 create with terraform like new subnet right are two different things right so the the new subnet directive you know

16:33 you run that and it's done it is it's encoded in abstra and making sure that that actually makes its way out to all

16:39 the devices is an abstra and device problem not a problem on the relationship between terraform and

16:45 Abstract so that stuff is very stable and and is fine um for the most part the

16:52 implicit dependency graph in in terraform works just fine on our stuff

16:57 um you know you probably could get yourself into trouble uh by if you

17:02 really tried to um but you know I would say you would have to try uh to make

17:09 that problem there are a few cases just like um you know in AWS there's like attachment type resources right which

17:16 you know those don't necessarily have a a buil-in dependency on the things that they're attaching to the other things

17:23 that yeah timeouts are a weird problem with especially with that stuff where like we've got eventual consistency but

17:28 it's like yeah we we they always swing but in the data center you just may have

17:34 a consistency model that's it's going to take 38 seconds you know versus eight do a resource apply and you have to how do

17:40 we build in like timeouts and and managing idiosyncrasies of the bespoke

17:45 data center yeah so so all of that stuff is on the other side of abstra and abstra takes care of it the abstra API

17:51 presents a consistent interface that terraform consumes and it's terraform is the plane that gets you in the parachute to the Des to the top and then abster is

17:59 the parachute and the fantastic trip on the way down yeah a lot a lot of those ugly problems of dealing with devices in

18:05 their own timing is is on the other side of this experience and and that's what abster is really good at so Chris I

18:11 don't want to kill your pace but Gina has a question sure and I wanted to make sure we get it in whether you're going

18:16 to address it as part of the demo but uh blueprints uh how do they actually get

18:23 there like what where did the blueprint come from the the the blueprint isn't instantiated and I'll show you in the

18:29 guey you can see real easily uh by choosing a name a couple of radio buttons for style and then you choose

18:36 off a template so I showed you the template earlier which said two spines and three leaves that's it choose a

18:41 template instantiate name it that that's how a blueprint comes into existence

18:47 then we bind switches to rolls in the blueprint and and so forth um it it's

18:53 you know there there were a lot of resources that were configured to make that happen because we had to you know we created the blueprint and then we you

19:00 know that switch comes in that switch comes in right uh but it it's normal

19:05 feeling terraform stuff I think you'll find can you do a reverse where you can actually learn a learn a blueprint from a live environment it's basically a you

19:11 know right mem I haven't implemented Import in any of the resources right now

19:18 um but a lot of people have asked um the the terraform import feature is would be

19:23 a really light lift for us um but you know you you don't get the how did this

19:30 come to be context right right this you know if we're going to create a a VPC for every customer in the database and

19:36 so we've got a a data source that does a database lookup and then we Loop over those results and make a you know make a

19:42 routing zone for each one like you're not going to get that out of an import right you're going to get text yeah I

19:47 guess more thinking of like a data center recovery like a Dr type of situation like to be able to say we've

19:53 adjusted the live environment we can dump the config so that if something went sideways right now we can immediately you could apply the same set

19:59 of terraform configs against a different environment and it would just do all the same work and it would happen quickly yeah you could go halfway where instead

20:06 of you do an import you just actually build a terraform C code next to it and you say let me see this in terraform and

20:13 it just spits it out and you okay okay to different since uh

20:18 1.5 uh terraform has got a new style of import that actually wres configs for you it's really nice yeah very much like

20:24 what you said uh okay so we haven't looked at this blueprint yet and we should do that

20:31 uh so in this blueprint I said in the in the goals thing that we were going to make a routing Zone a subnet and a VLAN

20:38 uh and so let's just take a quick peek at those uh it's on the stage tabs where we're going to go virtual uh so routing

20:45 Zone there's a routing Zone called cfd1 18 that this blueprint didn't even exist so that that's obviously new uh there's

20:52 a single virtual Network the Services Network where the load balancer lives um and if we take a close look at at that

20:58 thing uh this I prescribed this ip4 subnet uh in the

21:04 configuration um but I didn't choose the vlans so abster lit this up on all three

21:09 of our switches as VLAN 3 so that this is a choice abster made just we let it just take from the pool and it it shows

21:16 the first available VLAN and this horizontal line represents that Network

21:21 it is extended to the server called S4 if we pop into

21:27 S4

21:36 uh you'll see no I didn't do it that way I did it this way IP Link

21:43 list we pop into S4 there's a ethernet 1.3 so tag three

21:50 on on on Port eth1 the vlen chosen by abstra is now configured as a Docker Network on that

21:56 server right so abstr choices and abst data is seamlessly integrated with Docker

22:02 running on some server right so we we didn't know that was going to be VLAN 3 ahead of time but on abstra uh abstra

22:09 made a choice Docker has the data it needs now um okay so let's take that a little

22:18 further exit probably pop back to the

22:24 slides okay so we made high level API calls against abro make a you know here's my leaves here's my spines make a

22:30 routing Zone make a subnet that kind of thing there is not a single line of

22:35 juniper uh junos configuration code in this project so I didn't log into switch

22:41 I didn't have canned switch configs we didn't have to do any of that um and all

22:47 of the stuff in Docker and abstra is seamlessly coordinated and the load balancer is up let's just validate that

22:54 real quick y so the load balancer here there are no backends configured but the load

23:01 balancer is is up and taking traffic this load balancer didn't exist a minute ago uh so I said we're going to do an

23:07 application deploy now that we've got fabric to work with has a load balancer in it let's do an application deploy

23:13 we're going to make a new subnet for our application servers uh we're going to light that subnet up on three switches

23:19 we're going to extend it to three web servers and we're going to instantiate uh some web services on there Chris you

23:26 said something that I have to I have to ask an ask a question about you said we didn't log into anything but

23:32 normally there's some sort of authentication that has to be created somewhere in order for the the abstra to

23:39 uh there is uh in abstra there's a thing called a device profile which keeps uh

23:45 usernames and passwords that can be applied to devices uh that already existed in the

23:52 running abstra I didn't mention it um you can't terraform that because I don't

23:58 want to encourage you to put uh passwords in terraform config files so that's something that that you would

24:04 manually set up a device profile for a device and then uh you know then after

24:09 knows how to how to manage that device gotcha um but yeah it's it's not terraformable for you know can I use

24:15 like safety reasons can I keep those username passwords in like a vault or something like that and call that from

24:21 apps or do I have to hard code those into apps or Cisco got into a lot of trouble about hard coding yeah so so

24:28 it's not hardcoded right it's it's a it's a value you control um but I think

24:33 right now there there may be other ways to authenticate but the only one I'm familiar with is username and password

24:39 switch I do know that in abstra that's encrypted using a pvm private key and

24:44 it's you know I think reasonable practice is there

24:49 um okay we're going to deploy the application boy we're way behind

24:56 here

25:07 okay so this apply is going to create what we call an IP address pool and assign it to that blueprint um the

25:15 address pool uh is going to get used in this application deployment uh so if we

25:20 have a peak over here resources IP pools uh so the cfd1 18 apps with 17 and 24

25:26 this pool is here you see it's already being used uh because within the blueprint we

25:33 have staged uh virtual virtual networks the

25:39 services Lan we just created uh nope sorry the cfd Lan we just created uh chose a sl24 from within that pool uh

25:47 that we created it looks like it's the first one uh and that

25:54 subnet we'll see has been extended to all three switches and then further extended to

25:59 servers uh so here's that subnet it's on all it's on you know rack one rack two and rack three and server one two and

26:07 three are attached to it so we we just did that and should not have exited that window

26:14 that's exciting so we're logging in one of the servers here uh Docker Network LS so the

26:22 cftd landan just appeared here Docker Network inspect cfd and you see the cfd

26:29 Lan on this Docker host VLAN 4 you know a choice made by abstra uh IP address

26:35 with 17 and it Choice made by you guys encoded into abstra now now appears in

26:41 Docker and if we look at our ha proxy uh ha proxy now has container instances

26:48 that its years are are up and they've been up for 2 minutes uh so these uh

26:56 this web service is up so all these disparate things the the load balancer Docker abstra the switches they're all

27:03 sharing information it's all coordinated by terraform this might feel like a terraform ad a little bit because I'm

27:09 really showing you terraform and how great it is at coordinating things but it's kind of the point right the point is the network disappears uh we can you

27:17 know Network becomes super easy and we didn't have to make any phone calls or ask any favors from the network team um

27:24 how would this work with like a uh when you get up to kubernetes and a third party cni the network Plumbing is

27:30 whatever you need it to be it could be it could be an IP handoff to your kubernetes host it could be a VLAN it could be routing with them all those

27:37 things are possible it's all Bas this agnostic at least yeah we're just making the plumbing invisible or making the

27:42 plumbing you know terraform configurable and for you guys like any new service you consume in the cloud or new provider

27:48 you consume right you open this thing up and it's you know what are these what are these resources I need to create they all they're all different right so

27:56 you know we're going to be another one of those things but this is a surmountable problem right you guys deal with new abstractions all the time and

28:03 and uh and you know we're not giving you the new abstraction of you know spend a decade becoming a networking expert to

28:10 make these things happen when we've got the fun of when you get to the app layer configurations where you know all the

28:16 cube kids are telling us that it's you know layer 4 to S where that's where the fun is at and ultimately when we get

28:21 into service mesh so this model for the people that can ignore the plumbing I I

28:27 congratulate them right that's great right but you know for anybody running on premises Services you can't ignore

28:32 the plumbing right it's got to get done and and we can make that easy uh so this is uh one of our web services I think we

28:40 had five of them running and they chose a random color each uh so there's five web servers there you know load balanced

28:47 by by the load balancer running in server 4 uh okay last thing I wanted to

28:52 show you um so we just talked about this the you know we didn't we don't care about VLAN numbers or individual IP

28:59 addresses and whatnot these things are all cattle we we could be prescriptive but we let apster make choices after's

29:05 choices float out into other stuff uh I would actually like to take a question kind of for for the start of it all

29:12 because for me also as one of the cloud people I just want to ensure that I understand the whole flow be uh before

29:19 uh we kind of do the terraform apply that you showed from the start of your demo how do we like how do you Define

29:28 you would need to have a way to to Define all the different devices that Appstore would need to connect together

29:33 and create a virtual V lrom and all that do you do it in in the Rex in the abroi

29:40 or is this something you also Define in in the terraform provider as part of the terraform provider configuration or I I

29:47 lost you a little bit there but uh you know you will need to be familiar with some abstract Concepts the same as

29:54 you'll have to learn each public cloud and you know you'll find yourself writing abstra specific terraform

29:59 resource stanzas like this one on the screen right now uh and

30:05 um uh you know I didn't show that stuff because I didn't think it was that interesting uh you you figure you guys

30:10 know terraform uh but you know it looks like this um uh this example you know I

30:16 wanted to just illustrate something many of you probably already know that you know in terraform we just pass data

30:23 between objects right and in this case you know I didn't specify an I pv4 subnet or ipv4 virtual Gateway in this

30:30 resource definition that data still got populated and then another resource that

30:35 needs those facts you know can consume it whether or not we supplied it or not so you know passing things by reference

30:41 within terraform is uh you know uh super powerful and and makes these kinds of

30:47 Integrations uh seamless and flexible okay so the last thing we're going to do is move the load balancer to

30:54 AWS we're going to uh so this is the topology so on the right is the fabric

30:59 we've already built with a new router it's going to do IPC with an AWS uh vers

31:04 private Gateway and a new subnet and load balancer and VPC on the on the AWS

31:10 end so on the AWS side here's the list of resources we're going to create on the uh abstra side we're going to create

31:18 uh a a dual dual homed router plugged into two different switches uh and we'll

31:24 exchange bgp routes between those environments and and if I didn't screw up my credentials a minute ago when I

31:29 closed the

31:34 window uh let's see I want to change the name since Stephen was making gallium

31:41 jokes earlier do that terraform

31:47 UPL show up for Vi not even Vim you're old school I love

31:55 it that's a pretty old muscle memory in action

32:00 there okay so we don't have to watch this run

32:07 but if we look at Abra we can see some things happening probably uh virtual networks so a couple

32:14 of new handoff networks Transit one and Transit two that's places to plug routers in and they they land on

32:19 different switches um we've created a routing policy uh oh it's not here yet

32:25 wait routing policy created a routing policy which uh allows the AWS Network

32:31 to be learned on the abster side and allows the only member of our application deployment network uh to be

32:38 advertised up to AWS and um I haven't shown you connectivity

32:45 templates before connectivity templates is the idea of an interconnect between a switch and something out in the world uh

32:51 and so uh here we have it uh bgp peering with that router that just got created

32:58 and looks like everything has gone green no not quite yet oh we're waiting on DNS on the Amazon side of course we

33:05 are for the well that's well that's slowly coming out which I know too well the time Voyager I'd love to just take a

33:11 peek so I'm assume that this is a way for you to sort of walk back time Voyager is a point in time roll back in abstra um there's no terraform support

33:18 for time Voyager because you know why would you want to roll back to a point in time when you can just back out a project or a resource or or whatever um

33:26 but time is great for my god what have I done on a Friday afternoon right just go

33:31 back to what it was before um and it's also good for uh auditing and you know

33:37 accounting kinds of things you have to do forensics investigation into the state of your Fabric and when and why did a thing happen you you'll have a

33:43 record of of all that kind of stuff this is risky not knowing if the uh oh look at that uh so a public address na us has

33:51 come up with a load balancer IPC to our data center none of these resources existed a minute ago go and we have the

33:58 five web servers we looked at earlier in their five different colors um

34:04 and all these things are seamlessly integrated by terraform and it it really makes the data center Plumbing just sort

34:10 of fade away if you for people who don't want to think about it which I think is you guys uh and uh yeah there I'm I'm

34:20 going to skip ahead there's a there's a QR code there that will bring you to the repo that did this work okay thank you

34:25 very much and thanks lot Chris my goodness time I'm so sorry everyone can I can I have a few questions yeah I'm

34:31 stand the I don't want to interrupt your flow so uh my first question would be about the provider um so I was just

34:38 going through the GitHub I can see your name uh who is maintaining it is it like you know upst strust commitment to sort

34:44 of like maintain this we think it's important the team is growing okay uh and is it your internal people who are

34:50 maintaining it yes okay great uh that AWS bit which you were showing that has

34:57 been done through abstra or has been done through the terraform well there's some abstra side work because uh you

35:03 know there's an IPC relationship across the internet yeah so there's a there's a new router plugged into abstra okay

35:09 abstra has a bgp pairing with that router so it can learn routes and like configured the data center ports where the routers plugged in that kind of

35:15 stuff right and then the rest of it is AWS VPC virtual private so it's not like you're single pain of glass for like

35:22 everything you are only maintaining that on Prem world that's where sort of like the API Gateway for anything which runs

35:29 on Prime I mean it's a really strong analog for AWS VPC is what we're

35:35 offering plus all the parts that you don't ever have to see that evpc makes magic okay

35:41 okay uh do you have any terraform modules uh pre-baked uh we're working on

35:47 that um there are some uh in some various gate repos uh we've been talking

35:52 about publishing them on the registry uh if that was interesting I'm not sure why that's interesting because you can

35:58 consume them just as easily from git but uh yeah putting putting modules on the

36:03 uh on the rry something we're talking about yeah I think it's interesting I mean like you know some some of our

36:09 clients are interested in a in a pre-built modules I mean whether you get them from you know Source uh you know

36:16 registry host SL whatever versus Source get colon whack whack right you know

36:22 either way you could get them okay uh but yeah there's there's a handful of things like um you know a bgp relationship right

36:29 requires like five or six different resources to be integrated and a module is a good use case for that right yeah

36:36 so watch the space is the answer cool thank you and you've mentioned like you know uh intent uh many times but for me

36:44 like you know intent is much deeper than just rooting switching and setting the ports like are there any intentions to

36:51 like look a little bit further like firewalls andc Etc because you like you know you showed great demo around the

36:58 hypervisor and how you like orchestrated with the networking but how about like you know security and firewalls uh I

37:05 mean there's already good Tooling in that space that that you can use and integrate with your existing automation tools okay right where where there's a

37:12 real lack of good tooling is you know vendor independent uh and Open Standards

37:18 fabric configs right so that's the really unique offering here is there there's no place else that you can say

37:25 make me a subnet and that subnet will appear across a data center fabric uh using you know standards based like

37:32 there's nothing magic about the junos configs or Cisco configs or whatever right everything is using standards based evpn bgp vxlan right so we don't

37:41 care what switches they are and we're going to configure them you know like your s your network admin might have but

37:49 super reliably and without dios and from Cisco perspective so that's Nexus 9k you're supporting or a variety of

37:56 platforms there's a there's an Hardware compatibility list okay okay thank you

38:01 okay I I have I have one quick kind of like summation question I guess so when

38:06 we first started you had a completely blank screen and then blueprints popped up all those other things popped up um

38:12 at least that's what it seemed like what which came first the you know the chicken or the egg but uh did terraform

38:18 come up or did the blueprint come up first uh I mean terraform so I had the configurations in a in a git repo that

38:24 that I've shown you and the terraform terraform is not running as a service or anything right it's just

38:30 a command I typed on my workstation so terraform read the configs and made all

38:36 those things appear in abstra which extended them onto the switches so terraform built the blueprint terraform

38:41 built the blueprint terraform built the design elements that went into the blueprint so rack definitions and and

38:47 object types and whatnot terraform instantiated the blueprints terraform uh brought switches and attached them to

38:54 different positions in the blueprint that serial number is spine one one that serial number is spine two and so forth

38:59 and then so that was our day Zero stuff M um and then for day two stuff we mostly did uh you know create subnets

39:06 and light up Edge ports and and you may have touched this but uh just on that last piece did did abstra make the

39:12 decisions for like the bgp peering ASN numbers and all of those different things for you or were those coded in uh

39:19 like well the AWS as number is a public registered number I typed that one in okay the abster numbers I didn't type in

39:26 um uh but you know most of those things uh if it's something that can be pulled

39:32 abstra can make choices for you right uh there's there's as number pools IP pools

39:37 VLAN pools you know all of those kinds of things and then the the last question

39:42 I swear this will last for me um but with all that discussion that we had previously around AI is this intent the

39:49 idea that with this intent that built within abstra now it has that sort of you know me being a kubernetes guy I

39:55 think of it like control loops like it knows what needs to be there and knows how to maintain it and keep it is Abra

40:01 going to be able to do that for us yeah those errors that we saw on the beginning right were because the intent

40:07 that I had just expressed to abstra was that you know the these two leaves should should be talking bgp to each other right they weren't yet right so so

40:15 there was there was a problem there and and you know the closed loop validation found that so there's closed loop

40:20 validation for lots and lots of details of the fabric operation uh uh and you

40:26 know usually when those kind of things are going to go wrong is there's a firewall in the middle that makes it

40:31 impossible or uh you know an equipment failure or cables in the wrong spot or that kind of thing in any other network

40:39 that validation would catch stuff like operator did it wrong yeah right but you

40:44 know our promise is we're not going to do it wrong but we are going to catch you know failing devices and and you

40:51 know external problems and you mentioned this earlier but I think it's worth bringing up again uh something

40:56 incorrectly um configured or something that needs to be added in in certain

41:03 spaces equals the ticket equals weeks of waiting and back and forth and this was just very quick native tools for you

41:10 guys to make stuff happen like you make it in the cloud right that's the messaging is this is a this is non- premises data center made with real

41:16 Plumbing equipment real switches and stuff but you know it's a a little terraform stands to make a thing happen

41:22 and you get that service that you want right then beautiful thank you okay so can we kick out or do you need to move

41:28 on or well well we do need to move on but I can keep talking to you just yeah a couple of quick ones so I guess on

41:34 that note around the compliance of the blueprint what happens if something in the environment gets out of compliance

41:39 and we've got anomalies do we have decisions on how to react to that like can we if abstra can fix it whatever it

41:46 might be can we tell it to go and try and resolve that thing or is it just going to flag it for someone to come in and and have a look at I I think most of

41:53 those things will be uh you know just flag as anomalies that you should investigate okay yeah so there's no kind

41:59 of automated remed at this point I mean I can't think of too many things that could be automatically remediated because the things abstra can control or

42:06 device configs and those are going to be right right so the the problems that come up will be problems that come up

42:12 because of stuff outside yeah yeah okay and just on the note of who who who are

42:18 you seeing in your customer bases being I guess the consumers of abstra like we've got especially in Enterprises

42:24 there's still networking teams that like to manage the network and the the platform itself I guess and the fabric

42:30 uh what you've shown us here is very much in our realm of being you know Cloud consumers and using something like terraform are we coming in you know we

42:38 Cloud people kind of coming in to just consume this from our from our Network team if that still exists in the

42:44 Enterprise and and we're managing all the terraform or do we want Network people to get involved in the terraform

42:50 as well I mean I I I would love it if you went home and and told your network team I need this capability to go buy that product so yes do that yeah yeah

43:00 yeah I guess just from an operational perspective is this is this network people still riding the terraform and

43:06 and and doing all of this stuff or are they making this consumable to other people within the business and saying

43:11 there's a role based Access Control situation in abstract okay so you know that if if you had it your network Ops

43:17 Team if they were the ones in charge of it could absolutely extend that right to you yeah uh you know with with whatever

43:23 constraints are appropriate okay yeah

Show more