GCP Online Meetup #33: Using Terraform with GCP

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right good morning everyone and thank you so much for joining us really excited to have you here for those of you that may recognize me from previous sessions my name is Yuri trenched and I have the privilege of being a part of the custom engineering team here at Google and today I am really excited to be joined by a colleague of mine from Southern California Tony Tony Lobato Tony thank you so much for joining us really really happy to have you yeah it's my pleasure man all right let's just make sure that we are we're live on YouTube and oh yeah there we go sorry to keep you having some issues here monitoring the YouTube but the YouTube live chat but I'll get that going in any case everyone excited to have Tony here to talk to us about terraform and Tony before we get started I'd love to kind of get a take from you as to why you think this stuff is interesting um probably it's kind of key right like running infrastructure and managing like really large-scale infrastructure both when its physical and then sort of getting that migration strategy into the cloud can can come be a lot to wrap your head around right and tools like Terra firme terraform particular is really really good at sort of making developers and making DevOps people and even sis it means a little bit more comfortable with what what what it means to run infrastructure in the cloud right so those are the it really takes and abstracts away a lot of the pain of using multiple different clouds using Google Cloud using Amazon using Azure into a sort of a single point of view or you don't have to go around clicking around your eyes so it's just really neat in that sense awesome thank you well I'd love to get a better sense of what it looks like so let's see what you've got for us today yeah so I'm gonna go ahead and share my screen here and take a look we can kind of grow this out all right so you know presentation so really want to go over some of the basics of why right like care form and and what it is and it's it's a command-line utility I think you this at the command-line and you can use it on your laptop you can use it running on a server so it doesn't have to necessarily be local to you and it manages a infrastructure and services a lot like chef and puppet and canoe Gration many we do but instead of running or instead of managing installed or setup of software what it's doing is its managing the infrastructure itself the service itself so it's really just chef or puppet for infrastructure bits and putting pieces of infrastructure together it's mostly idempotent so when you run just like Scheffer just like puppet when you run something repeatedly over and over again you're going to get the same results mostly for the most part assuming that the platform is works the way it's supposed to and then again the key advantage here is that you're taking your infrastructure and instead of going around like a GUI or you're using custom scripting and clicking through in different things you're really managing your infrastructure as a set of structured code files right and I'll go into a little bit of this in I wanna give you guys some example of what this looks like and and again and this is kind of the key thing normally if you're starting off from cloud you'll be looking at a bunch of screens like that's right you'll create an image create a back-end it doesn't matter which provider you use there's always gonna be some sort of GUI or some sort of console to go through and it's good it can be a good experience but once you start scaling up or you start doing things at a rapid pace you're moving very quickly a really big bog and a slowdown so instead of doing this you can now do this so now you have this structured sort of file or files or folders that have the definition of what your infrastructure is and this is um this is really neat because now you can commit to github right or you can commit it to a git repository that you control and you can collaborate across routine with a bunch of engineers hundreds however many engineers that you have working on infrastructure and they all get the same sort of configuration view of the infrastructure and and really what I'm gonna go over today and sort of kind of demo oh is on sort of like a simple concept of what the folder layout structure and how to actually set up a provider what a provider even is right an initializing terraform and then creating some some resources and then destroying it all and showing you how to like kind of tear down everything they're doing everything that we're gonna be running today is going to be running on Google cloud platform but there are resources in terraform it's fairly agnostic you have a Azure you have AWS you have even have like Alibaba cloud there's there's actually a ton of different providers as they're called that you can sort of hook into I think there's probably like 30 different providers for different stuff and it's not just infrastructure there's some other like oddities and they're like RabbitMQ for example in managing like the structure of RabbitMQ and that kind of blurs the line between configuration management and infrastructure but it's there if you want to use it so wanna show a bit of like an architecture graph so this is what we're actually going to be building with our demo so we're gonna do a Google cloud load balancer and we're going to start up 3 compute engine instances running nginx in front of it so and all of that is going to be done completely from scratch there's gonna be nothing running and then when we run our terraform commands we're going to end up with this automatically so before I kick off do you have any questions now no questions I wanted to point out one thing that I feel like I've already learned something from this you used a word I've never seen before I think you it's pronounced idempotent it impotent I'm gonna admit ignorance so that's an awesome word that I'm now going to add more to my vocabulary so thank you for that awesome yeah so let's see the demo mails let's see what you got I'm excited to see this I think this idea of treating infrastructure as code something that I've heard a lot of customers you know asked us about and they asked us for recommendations you know how to best automate the deployments of you know cloud resources you know they asked questions about using things like chef or puppet to do so all that customers ask us about deployment manager that's part of GCP so anything that makes it easier for people to automate deployment and provisioning anything that makes it more standardized anything they can integrate with their existing processes like how they manage source code how they manage changes it's absolutely welcome so yeah I'm super excited awesome so let's go ahead and we're going to look at a sort of a demo folder here and we have two files in this folder right now and the two files so when you're configuring terraform and you have a folder you basically just have a folder full of sparse files and you can structure them in folders and and do subfolders and sub categorization we're not going to go into that right now we're just going to show very sort of basic set up and here we have two files we have the provider and then we have the web server and ether named arbitrarily the mean of files don't matter there's one exception to that but for the purposes of this it doesn't matter you can name them anything so in this case we're going to look at provider and here we are configuring the the provider in this case for configuring three different providers for configuring Google AWS and Azure as as they are in the documentation for terraform so the only one that we're actually going to be using is Google but I threw these in here so you can get a concept of what and then how you would say do hybrid cloud right so he's really defined sorry keep your screen a little bigger make sure the folks on YouTube can really see this clearly it's better yeah thank you awesome cool so yeah so here you can see the the three providers that we have configured here but like I said there's something I think there's about 30 different providers that you can do rabbitmq Alibaba cloud like a bunch of different stuff that you can sort of throw in here so for the purpose of this demo we are going to again building something on Google cloud but you'll see during initialization which I'll show you you'll see that will actually pull down information for all three of these providers now when you start using terraform terraform is just a single binary that you have and you run it it doesn't actually contain all the providers like Google or anything else inside of it those are actually downloaded dynamically from the internet when you initialize a folder so what you do here in this case is type terraform in it and then terraformed is going to read the contents of your folder and then pull down any modules that you have configured and any providers that you have configured as well as so here it's downloading the plugin for google for AWS and for resort and then green text always good right so when you see green text you know hopefully things are okay yeah you're doing this live as you know as people are watching so there's always a risk that you're gonna get a whole bunch of errors that I know it's it's terrifying I you know it's practicing Leslie over and over and over again like ah oh god this better work right when you get people watching so yeah I'm right there with you all right so here we have our initialization so what happens during initialization you will now see that we have a special hidden folder and the sidon folder generally day-to-day you don't really need to worry about it just know that it's there and it contains the terraform plugins the the extra like binaries and the extra modules that are needed to make your terraform configuration work and all of that is stored in that folder so good reinitialized what now well if we look at our web server configuration file here's with the actual meat this is what we're actually doing so what we're doing here is we're defining our infrastructure and our bits of our infrastructure here and here we have three different stands that's in this case they're called resources so terraform works around concepts of a resource and a resource can be a template a compute engine instance a ec2 instance just just so sort of resource that akin function on and in this case we have a resource called an instance template called web server and this instance template in Google Cloud terms is basically it is exactly what it sounds like you're defining what an instance looks like and then you make copies of this template as many times as needed to actually spin up resources so they're not actually compute engine but they're the template for what a compute engine looks like there's a bit of a layman looks like you're basically creating an instance template it's gonna be a Debian debian linux machine and then once it starts up you can run a startup script that basically installs nginx that's exactly correct kulap yeah so all of this is is and here your startup script for example instead of doing this could be hey install chef and puppet right that's one way there's also different provisioners so there's a counter form as a concept of provisioners that are built in and tightly integrated so there's a stanza that would say like chef run this dadada that that sort of configures and and takes care of that for at the at the terraform level instead of you running a script like this so once we have our template defined and and what sort of like an instance looks like we also define the group itself so the the sort of auto scaling group at that instance group that that is a part of Google cloud platform and within itself here we're just going to reference and this is this line right here that I have highlighted we're going to reference the template that we defined up above so terraform has a kind of back referencing or referencing other other resources that are defined in a file or in separate files the the order in which you define things doesn't matter blood will happen as terraform kind of just slurps everything up and then resolves the dependency order for you automatically so in this case you can see that the instance template that we were defining for this group is the resource type Google compute instance template which matches Google compute instance template down here or up here then the name of it web server matches bottom to top and then self link is just a special reference saying I'm linking to this is a self link to this to this object so here we have so our group this is it right this is our group and everything to actually launch the instance and then we have our load balancer and a load balancer in this case so notice is actually a module and not a resource so we're doing is we're actually pulling down a precompiled module that somebody else wrote to do an aggregate of different stuff so inside of a module what will happen is multiple resources will be built out right so a load balancer for example in Google cloud is actually a collection of if I think like four or five different resources like a URL map but back and the front-end there's different things that you piece together to make a load balancer in Google cloud so in this case this module just kind of abstracts all of that pain away and tells you hey here is a the module is called a load balancer and this is you just give me the instance groups that we need right and and some other parameters that you need to get going on it so this brings up an interesting question is I think resources are probably things that are well documented are modules as easy to find and understand if you're trying to build something like this because I think if I was doing something like this I would expect that a you know a load balancer would be just another resource type rather than using that you know the module command so give me give me some sense of like how you might go about knowing when to use a module and when to use a resource sure so the easiest way to think about it is a resource is a single a single resource right so if you're doing one thing once that is a resource if you are doing an aggregate of something an aggregate of resources that you want to do over and over and over and over and over again think about what that would look like if you were just using resources you'd be copying pasting the resources over and over and over again let's say like again a good load balancer let's say you want to create ten load balancers and a load balancer comprises of five resources well now you have to do five times ten resource lines over and over and over and over again to define each and every single load balancer or you can make a module which kind of packages all of that up five resources into one stanza and abstract away the variables that you need and then you now only need to put ten stands that's right ten stands for each load balancer very cool and then another question I just thought of a new color as you're going through this you know this architecture is somewhat straightforward right you have a load balancer you of this single back-end with an instance group so all of that fits into a single file is pretty readable and it's sort of easy to manage would you ever recommend like splitting things out into their own separate files for example have one resource in this example for the instance template another file for the manage group and then another file for the load balancer like is that considered a best practice or do people typically avoid that people definitely break out their infrastructure into different files the taxonomy of that is really up to the user me personally I prefer to split things not by their resource types so I don't put all instance group managers in in one file what I will do is I will put a concept of a service in one file so if I have a front-end web nginx like this for example this would I would put all of this into one file but let's say I needed some back-end service or some back-end API I would put everything related to that back-end API in another file so it really depends it's up to you on how to split it but you should definitely split and organize that work got it all right cool all right let's keep going awesome so here we have the definition for everything so now we're going to actually and the very first thing that you always want to do is to make sure sanity check yourself so terraform has a concept of plant so you can build out a plan file and this is basically for the purpose of this demo we're just going to type terraforming plan and we're going to see exactly what it is terraform what what terraformer is going to apply so green text means that it's going to create and here we see that it's going to create the template in Google Cloud we're going to create the instance group manager with all the variables that need to be done and then it's actually I remember I said that a back-end sorry a a load balancer is a comprised of a couple of different resources and now it becomes apparent Oh module instead of writing out each one of these stanzas one by one by one by one the module is actually doing it for you so this is where you can actually see the effect of what the module is actually doing we only wrote out you know like ten lines but it's actually doing a ton of other stuff so so here we have the planet says ninth adds your chains ear to destroy this brings up a fantastic point about terraform so terraform is a one to one view of your infrastructure so for example we're adding nine things and let's say after we we we actually run this infrastructure and it's running and then we remove something from from the V file from from this web server file and then we do plan again you'll actually see items are set to be destroyed meaning that when you add something to a file and it's created if you remove something from the file you're not just removing oh you know I don't need this in the future the next time you apply it it's going to destroy that it's going to undo your change this way it acts as a stateful machine right like you're not it's not like liking chef or puppet where you're just removing things and then it just kind of ignores it but what's there happened so already be there it will undo anything that you removed from a file so that's an important distinction for how terraform runs so now we're going to go ahead we have our plan everything looks good everything that's green we are going to apply this is always a scary step especially during a live demo like a the swarek's but we're going to go ahead and we're actually going to apply and this will actually reach out to the API reach out to the Google Cloud API or Amazon if you've configured or as your whatever else and actually apply your changes so here we can see these steps that's doing to create everything and while it's running we'll probably have a couple minutes while it's provisioning everything obviously you're doing this in real time so we're all hanging on one of the things you just mentioned kind of it was really interesting to me you know you described terraform as a stateful machine which obviously means it has to keep track of State somewhere no and I realized that while things running you really don't have the option of you know issuing more commands or anything but one if you could just briefly describe where is that state capped and is that something that the user really has to you know manage and know about or do we just trust that terraform just does that so it's a the answer is somewhere in the middle like it usually is the the answer is terraform does manage State for you so it keeps track of what you've done and and what you have applied and you run what you want to and the way that it keeps track by default in which I'll show you it's actually already done so a lot of those yeah it's pretty fast Google Cloud is pretty fast the so you'll see here we have a new file called terraform TF state you know that wasn't ever before that wasn't there before a new file and that actually keeps track of the state of the terraform of this particular folder for for terraform so this initialization of terraform here is the state and this is the file that is sort of critical if somebody were to little a for example clone your your code that you have on git and they don't have the TF site file you put TF state in git ignore and it's not a part of that now all of a sudden the next person that runs these commands they're going to see instead of so the next time they run plan they're not going to see there's no changes because everything is up to date they don't have a concept of that they're going to see oh I need to make nine changes and I'm you recreate these resources not knowing that the state is out of sync right so terraform has a concept of shared state and locking so you can do different backends in terraform you can configure different backends for example oh sorry I'm going to rush you before I go into that let's let's take a look at what it actually provisions so this thing ran it ran successfully yeah it did let's look at what we got yeah let's look at it so here we have our Google cloud platform and first thing that we'll see is the instance template there it is instance simply has been created then we'll take a look at the instance group right there's the instance group and let's look at the instances hey there's three VMs that are running we'll look at the network services for load balancing and there it is load balance for running so works as advertised yeah so you know me ask you one question from the chat exchange that people are trying to understand and specifically and maybe this is a broader topic so feel free to punt on it if you like no but talk a little bit about the relationship between an infrastructure provisioning and automation tool like terraform and then some of the tools you're brought up already like chef or puppet which I've always thought of as orchestration tools and then something like ansible which is I think configuration management how do you like do you use all would you use all three of those just terraform take the place of chef or puppet and or ansible in some way is like what is your take on all that so I think that it's important to sort of and I'm actually gonna stop screen sharing here so we can sort of talk face-to-face here and and I always think of chef puppet ansible salt they're all the same they're all they all complement names configuration management orchestration but they all do the same thing and which is essentially I will put it in a sense of the SSH into your servers and they do apt-get install or yum install and they install software right each place you need to have servers for them to act on correct now that's not a golden rule some of these tools like salt for example can actually kind of do the thing that terraform does but it's it's not hard and fast right some of these tools do things differently in different ways different files in configuration what terraform does terraform does not take the place of that so let's let's be clear terraform does not take the place of chef puppet salt instable or anything else around that it just augments that it works at the level that is before these tools and act so it actually constructs these servers that these tools run on okay that makes sense yeah makes complete sense so this terraform then and they allow you to somehow pass instructions to these additional tools so for example in the instances that you just won't be the best way to issue further instructions to chef popular ansible or salt to do more stuff so there's two different ways you can do the the startup script kind of method sorry there's three different ways there's the built in platform startup script method which you saw are installed nginx there's the remote exec provisioner which lets you which basically tells terraform ssh into these machines and run these commands and then the third one is the the chef or the puppet provisioner which effectively does the same thing SSH is into these machines and sets up chef and puppet given some structured configuration that's in terraform right so my chef master my puppet master is at this address install puppet and make sure it's pointing to this master right so it does some basic bootstrapping for you grab built in to terraform so does like a native terraform integration with nothing puppet that's available correct yes okay awesome that's really cool very much appreciated so let's return to the top you're starting on before I interrupt you which is this idea of managing state especially across distributed organizations or teams right so you know obviously in this example you have your own terraform you have your own cloud project the state is going to be kept on your local machine because you it's just your your stuff it's like it's so that's all there is how would that work if you're not working this jointly and you to share state with me so you what you really want to do at this point you have a couple of options one you can commit your state to get that sort of the crude option and it doesn't prevent somebody from working concurrently with you right so you you can sort of do parallel work and stomp on each other so you have to have some outside mechanism usually yelling at the other person or throwing like a paper airplane at them and making sure that they're not doing the work at the same time as you definitely do not recommend doing that the other one is using a back-end provider so terraform has a concept of a back-end and it will store the state in a remote location a google cloud storage bucket an s3 bucket inside of Hashi corpse other product which is console so there's there's different ways to like synchronize state and all of these also support locking so you can make sure that only one person is running is updating the state at any given time and this is all automatic once it's actually configured so you just um you you point the backend to a google cloud storage bucket and it will make sure it will take care of all the magic for you beyond that then you just run your terraform apply and write your files and you're good to go very cool awesome all right what else do you got for us today I mean I've got a kitchen sink if you want that let's go man like that's know just overall I highly recommend as as the cloud becomes more and more prevalent right like it and it's already really prevalent obviously it's been around in in this concept since mid 2000s so but as more and more people are moving off of these on-prem massive hardware farms and moving into the cloud just keep in mind that a lot of girth thinking and a lot of a thinking that is that has really evolved over the last three P you know 50 decade or five day I think it's five decades and say 50 years five decades over the last five decades of what Campinas just just be open to the fact that it's evolving and that it's changing and that your concept of scaling 10 years ago it's not the concept of scaling today and partitioning work and and setting up infrastructures is a very different beast so be open to new tools be open to using things like terraform and managing as as code instead of going through the GUI and clicking through you're gonna save time you're gonna make less mistakes and you're gonna save money quite frankly when you can easily audit and and look at these configuration files right yeah so that's all the point all right so actually I want to have you show us a couple more things you've shown us how to use terraform to create things um you've talked a little bit about how you might go about you know modifying your terraform files to make changes so I think I'd like to see that if you can if you can't do that easily with the infrastructure you've set up but also how you go about using terraform to you know clean stuff up like do you know if I want to delete everything that you've just done for example like do I just run apply against a blank file or is there some easier way to like clean everything up especially yeah it's gonna be using this to automate their you know dev environments to automate like their sandbox and you know where they want to stand stuff up and tear it down like what's kind of how do you go about doing that yeah so let's actually go over to examples for that I've got some some two really good things that we can go over I'll go ahead and pop up my terminal again and we'll do two different things first we'll make a change and we'll do three example sorry we'll make a change we'll destroy one little resource and then we'll destroy everything so first let's make a small change what we're going to do in this case we're going to open up our web server back up again and instead of three instances we're going to make it four we're going to make four servers run so we can just change in file from three to four we see the plan here and the plan will tell us hey I need to change a target size from three to four so we'll go ahead and do that and apply that change and terraform will take care of the difference for you you don't need to think about you know the current state you know terraform will always work to make sure that the state of the infrastructure will be what you have written down in these files and here we have our change that has been applied and we will go back to our web browser and we will refresh and now we have a fourth instance that's part of the mount that was easy yeah super easy so in that sense you know we need five more servers and for whatever reason you don't want to use auto scaling or you can't because of some requirement change the number hit apply and you have another server so fairly straightforward so now we're going to make another change and this one is destruction of just one part of a resource so in this case you know what turns out we didn't need a load balancer so we can do blocks out comments just like you can and c will comment out the load balancer let's plan this out you look at that there are seven things destroyed which is everything that has to do with the load balancer and now we will apply and I like how it's actually showing you this thing is it's going to destroy mm-hmm a giant reg the minus sign and read yeah like yeah sure that you really want to do this because I'm gonna tear stuff down that's exactly correct yeah so here we have a destruction of just partial and what you'll notice is that it's only destroying the load balancer because that's what I commented out and that's perfectly illustrating the the point that I made earlier was if you remove something from this file it will destroy that resource you're not just ignoring it and that's an important distinction to make from other utilities or other things that you may be used to this is a good thing just so we're clear this is actually a really good thing you want this because now your your view of the world is consistent right you're not just commenting something out and then huh is that still running I don't know it's commented but let me go check no you comment it out you applied it you know that it's not running so and then while this is destroying it will well actually go ahead and prepare to show you on the console that it is seven destroyed so now we will go to so Constance group is still there and since group is are there instances are still there but the load balancer is gone now it's just ask them create one so we only destroyed a load balancer and then when we're done so we're not running up a bill and you're just experimenting terraform has a concept I'll destroy and if I can fell style that would be good destroy oh my gosh I swear okay so Kara form destroy destroy will tear down everything that it has its view of in files oh now it's asking you for confirmation so this is the first time we've seen this where it's really asking you to confirm what you want to do so for applying you it just does it but if you actually actually issue the destroy command it really makes sure that you know what you're doing that's correct yeah because here what this will do let's say I have an infrastructure and a definition for a hundred servers and some cloud storage back-end and and tons of other stuff typing terraform destroy it will destroy your that all of that right so you need to make sure that yes you want to do what you want to do on so type being out here it will destroy the the instance group manager and it will destroy themselves and it will destroy the template to remember so your it'll also destroy these these high-level concepts things right but that you've created so if you create like a disk or a snapshot through terraform it will destroy those as well when you type destroys that's it's full deconstruction yeah very cool I know this will take a second to deprovision all those virtual machine shouldn't be too much longer and while it's running on a prompt has set up the next question for you it's coming from the chat we have some folks asking about multi cloud or using two hour format you know in a multi cloud environment and I know that it at the beginning you absolutely showed us how to set up terraform to understand that you're working in the multi cloud environment you know you talked about kind of the various provisions when you showed us the provisioner for Google and for Amazon it for AWS can I so for example let's say I want to create something very basic I want to stand up an instance in AWS and an instance in gtp can a single file do that can I join you to you know have that be in separate folders like how much multi-cloud can I really do at once so here's the really really cool thing in my eye one of the main reasons I love terraform so yes you can put different cloud hybrid cloud different things all in the same file so let's say for example let's let's let's say you have some service that you're running and your web server needs to talk to that service but that service exists in Amazon a lot of these resources that you see here resource compute instance group manager web server and you see these back preferences like Google compute instance template web servers self link self link is not the only variable that you this exposes every kind of a service or some resource is created they has several return values several values that were the result of the application so for example when you create an instance through a resource you can reference its external IP address internal IP address its name though its placement if you set the placement to like best effort or stand like where it actually ended up putting it and what you can do is that you can build a back reference to that bull I want to run part of my infrastructure in AWS and part in Google Cloud well I just build out the AWS part get the reference to the IP address and aid of yes part and then put it into my into my google cloud parts so you can totally just mix and match your references and kind of figure out exactly what it is and terraform is really good about figuring out hey this Google cloud thing needs an IP address from an AWS resource that I'm creating let me create the AWS resource first and then I'll go ahead and create the Google Cloud one now that I have the public IP address so you could really create just like a multi cloud deployment using a single command and you can actually like you said you just said you can actually pass variables kind of between the two I'm assuming that obviously you just have to you just have different definitions for the resources so you know the way you define a GCP VM instance for example might be different than the way you have to define an ec2 instance yeah that's correct so everything inside of the curly braces here would be different for a different provider right like there what it does stands us looks like so just keeping that in mind yeah yeah yep have you wanted to any limitations with terraform in terms of like specific things it can or cream it cannot create so for example we have someone asking about you know can you automate the creation of service account and DNS record says have you are you aware I mean I'm sure there are some but the come off the top of your head are you aware of things that you know either cannot be done in GCP using terraform or perhaps should not be done so yes there are some things that cannot be done today that's not because of lack of ability more of lack of time from the contributors for terraform which of which i'm one by the way so I I do contribute to to Google Cloud terraform the actual provider and the code for it and we're adding features all the time right like so so that's that's the concept of constantly adding as new platform features are developed as new things are developed we we go forward and just try to add as much as we can that being said it changes provider because there's like 30 different providers you know maybe there's something missing in the a to us one the AWS can't do just like there might be something missing in the Google Cloud one just like there is something missing the Azzurri one it's just a matter of support existing for it and and the terraform the people who maintain it for for all of all of the different providers pretty open to it's all open source all on github so you know either I'm making a request issue requests or even just hopping in and writing some code yourself if you're if you're comfortable writing some code and adding some stuff it's actually a pretty saw other than an easy thing to do for the most part can you give us a general sense of like what is the lag time that you've seen between like the GCP API updates and the terraform catching up to it I mean are we talking days weeks months it depends on the future and and what it is I I would say anywhere between weeks and and sometimes months depending on on who's working on it and and the level of complexity that's involved and and it also depends on on oddities or other weird things so a great example is for load balancers we have a in Google cloud we have a concept of identity or where proxy we just this this new sort of product sash feature that we offer and I actually just finished being the code for that I want to say about a week and a half ago and people are using that but it's not rolled into an official release yet because I hasn't actually been merged right so the code is there but there's like things that that need to be figured out in terms like testing and other stuff so it can vary so and that's that's the reality is that it can vary oh very cool well hey man thank you so much for taking the time to talk to us today I really appreciated I think that covers all the questions that we had in the chat I think this was spectacularly informative I certainly feel like I've learned a lot I'm ready to start using terraform in my projects hopefully i'll start including you know TF files and all my github repositories so people can have an easier time of deploying the stuff that I'm publishing not just following my code so thanks again really appreciate it and also obviously thank you for for the work you do on terraform I mean the contributing to open source communities is really origen awesome I super glad to help yeah I hope I hope to see a lot more pickup and a lot more usage of terraform as time goes on I'm sure today will helps so thank you again and for folks all along we really appreciate your time today thank you for watching listening thank you for your questions and yeah hey let us know if if you have more questions on terraform you know send us some comments on either on youtube are on Meetup and also send us ideas for you know more stuff that you want to hear about I think we're gonna have some things coming out over the next couple of weeks but we're always interested in you knowing what you want us to talk about so thanks again have a great rest of your Thursday have a great weekend and we'll talk to you all next week take care 5
Info
Channel: GCP Live
Views: 11,056
Rating: undefined out of 5
Keywords: terraform, gcp, google cloud platform, #hangoutsonair, Hangouts On Air, #hoa
Id: -xH2mdTwa4Q
Channel Id: undefined
Length: 42min 59sec (2579 seconds)
Published: Thu Oct 26 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.