Full Transcript
And uh on a really like a small uh note, I was preparing it for like longer time but uh it took me around like more time because I was so much busy with other stuffs and uh with my busy schedule and everything. But here we are. So in today's topic we will be understanding about puli. What is puli and uh why we need to use puli and what it gives us the feature in puli. So people I'm seeing some new uh faces around. So let me just uh introduce myself. So my name is uh Mohammad Kumlby and currently I'm working as a DevOps architect in code blaze uh but is situated in U and currently it's remote. uh before that I am having a experience of five years in DevOps solely in DevOps and uh I'm an open-source enthusiast DevOps mentor people who are there in the group can uh relate to it that I tend to help people around in the group as well. Current interest is uh where I'm into container security and apart from DevOps I'm a music producer and a photographer. You can see just beside I have clicked this photo. You can follow me on LinkedIn as well as my blog site. So let's move ahead. So let's understand what is Palumi first. So Pulumi is just like terapform. People who are learning working with Terraform much know about Terapform how it is and uh how interactive Terraform is. So just like Terraform we have puli where Pulumi it just creates infrastructure but it uses programming language. In terapform you have a programming language which is known as HCL Hatchikop uh language. But in Pulumi you can use other languages such as programming languages such as Python, TypeScript, Go and even C sharp. It also give you a multicloud support where you can deploy your resources onto different cloud provider which is AWS, Azure, GCP and even as Kubernetes and much more. It gives you the flexibility of code-driven automation. You can use uh your uh version control system such as GitHub, GitLab to store your code and to use automations like uh CI/CD pipeline to automate your workflow and then it gives you the real programming power. This is really benefiting the developers who aren't familiar with uh infrastructure as code and they want to create. So it also supports uh loops condition function and packages that it makes infrastructure really more reliable and functional and flexible as well. People who know about AWS really well they would be knowing about CDK. So it is just a different version of CDK because CDK was vendor logged. It was just for AWS but Pulumi is not only for AWS but also for other cloud resources such as AWS and Azure and Google as well and it is CI/CD friendly because uh Palumi also give its own CI/CD mechanism. You don't need to create one CI/CD. You can just enable it inside the puli dashboard and it will start working as an any question over here. You can just uh type it in the chat box or you can just unmute yourself and ask. >> No question so far. >> Moving ahead. So people would be knowing about like why Palumi? Why we need to use Palumi? We already have a really good tool like Terraform. Why we need to use Palumi? Why to go to another different tool? So let's see an difference between or a comparison between Pulum and Terraform. So I there are lots of aspect but I have just uh written down some aspect which I found it really uh useful. So first aspect is language type because uh people who are working with Terraform would be knowing that uh Terapform uses declarative language such as HCL. It you cannot uh create infrastructure using some other kind of languages. you need to use HCL only. But in Pulumi you can use imperative which is you can use other type of languages. You can use Python, Go, YAML, TypeScript to create infrastructure. programming approach. It defines the end state of the infrastructure in terapform depends on the HCL depends on the block and uh the functionality of the block and in puli it's purely codebased approach with full programmatic control. It does not mean that it won't be uh making you not create uh letting you not create something like a different infrastructure. No, it will give you full access just like you do in in a simple programming language. Developer experience where in terapform it's good developer can learn terraform in two to three weeks or maybe one month depend on the learning phase they have but it gives them a really like less debugging capability because a developer feels more you know tends towards the more programming language leaning towards it and the learning curve is really heavy in terapform but in puli like let's say if I'm a developer I know NodeJS JavaScript I won't be able to learn new programming language. I would be just uh getting puli uh making uh pulley packages or creating infrastructure using my own language JavaScript. So it and this also helps developer to get support from other uh like debugging because they would be knowing much about debugging. they would be knowing about the experience management is really important over here because in terapform you can manage the state using teraphform cloud if you're using uh teraphform cloud you can do it but people who are not using teraphform cloud I feel that around 65 to 70% of people they don't use terapform cloud at all they use the normal terraform so in normal terapform you don't have the you know flexibility to do the state management. We always do state management using the cloud provider like in AWS we have S3 with the Dynamob in Azure we have storage blob and in uh Google we have the buckets but in Pulumi by default it gives you the state management it does the state management on its own you don't need to do a state management like from the from scratch it also give you this kind of benefit of doing a state management on your Right? If you are really into security and you want to do a secure mechanism, you want to secure your state file, you can do the simple state uh uh remote back end to your cloud provider which is AWS, Azure and GCP as well. Coming up to the cloud native and AI support as we know that Terraform has a really good support for different kind of provider. It's really mature in the industry but it emphasizes less on modern workflow and there is no AI till now I feel it's been 4 years of being using terapform and till now I haven't seen any tool which like given from the hashikop that it really interact really well with terapform as an AI mechanism or it helps in AI no I haven't seen it but in pulum it it's not as mature as terraform but it's really great in cloud native support as well as it support with AI is amazing it also give you its own chat mechanism just like chat GPD but it's solely for infrastructure it is known as pulumi and people would be knowing about recently that there's one pulum new is coming up so puli neo is just like a platform engineer your own assistant that would be helping you out to create infrastructure ure whatever command you will be providing just like you can say AI agent so it will be coming up uh there's a demo on uh September 18 I feel yeah or maybe 16 I will send the date as well you can you know sit in the demo and you can um get a feel of it from the team pul meeting any questions over here Shakil says Yes, it looks like more developer friendly but more coding is required. >> I mean yeah more coding is required but let me tell you we are in a state of living in an era where AI is really dominant in every aspect. So even though you don't know about coding you would be able to create something out of it at the end of the day because of AI. There is a term called as wipe coding. But if you know the basic of coding a mere basic of coding or maybe a YAML you will be able to get much more out of it as well. So it does not depend on how many code. See even for Terraform you would be able to learn but terapform it just make you in a box you know it just uh lands you in a box where you cannot go outside of it. it just HCL that nothing else but Pulumi is like okay if you don't want to create YAML uh scripting you can use Python if you don't want Python you can use go much more faster than Python so it gives you a lot of flexibility in languages and I feel that uh this blew me and it helps developer because see whether you are a platform engineer whether you are devops you always need to make sure that You need to make your developer or your team life easy. The m the less dependency you have on you. It will be really great because see then you will have more time to work on other different stuff not you know just creating infrastructure infrastructure infrastructure and you know just circling back around like that. No and as I have uh introduced in my organization we are using this in a hybrid structure. We are using terapform but we are using pulumi as well for our new projects also and it's amazing one of my developer he just created a s3 bucket uh a static website in just one day and it was amazing to see he just learned it in one day he he was a kind of front-end developer he was using types uh JavaScript and he just created you and show it to to me and I was happy to see how much faster you know it can make a developer to create infrastructure as code. >> Okay. There is one more question. >> Yeah. Okay. Uh Kuml, do you want me to moderate or you are able to read it? >> Uh if you will be able to moderate that would be really helpful. Uh Guru but I have presentation. Exactly. So I will so you concentrate on the thing and if you say guru any questions then I will try to moderate it. >> Yeah. Yeah sure. Okay. >> So I will just answer. >> Question is from Prasoon Mishra. When we say it's clo closer to cloud native what does that mean? Can we manage gated resources also with it easily? Yes or no? >> Yes we can manage KS resources as well. >> Not even KS resources. You can manage other different resources as well. If you know about bare metal equinox, you can manage Equinox server as well. You can manage digital ocean as well. You can manage even Alibaba as well. Uh resources. So it just not yeah even open. I have haven't heard about OpenStack but the things I have looked into and heard about it. It's yeah you can uh if you just checked it you can see OpenStack is also there but uh what I have uh deal with is Equinox AWS KS and even your uh this you can say uh Google but one more thing which I haven't mentioned over here is that people if you are looking into like I'm using terraform how I would be able to move to pulumi without any breaking changes is puli gives you this advantage of importing the infrastructure to your puli from terapform it gives you a really great advantage which I haven't seen it in terapform you need to use terraformer and blah blah blah stuff for importing into different but puli it it's kind of like a hybrid it can attach to your uh terapform and it can migrate your whole code to puli as well a vendor logged in no it's vendor logged in. It's cloud agnostic. It's really not vendor log. You can create multiple uh resources in multiple vendor as well. Okay. So moving on. So let's see some feature of puli. We have talked about puli. We have talked about the difference between pulley and terafform. Let's see what are the feature that puli give us. So first feature it gives us which is puli packages. Just like you have modules in terapform puli give you this advantages of having packages. Let's say you as a infrastructure engineer you have created this infrastructure big complex infrastructure like it on AWS let's say it's have an S3 uh S3 bucket cloud cloudfront and the API gateway and then uh three tire architecture ECS and everything right you want to make sure that other developer don't need to use clip ops they don't need to create everything By clicking clicking what you will be doing you will be just giving them the whole package and they will be just calling it as a function basically as a function how we call it in one line they will be calling and they will be creating it in just one go. This is a kind of like a basic of platform engineering creating your own IDP which is known as internal developer platform. It really benefits people out of it. You can even package those into your repositories, package managers just like Nexus repository and even you can help team to collaborate on it as well. Coming up to Kunumi insight. Kuni by default give you this great amazing thing which is insight. You can check the insight about your cloud infrastructure, how it getting created, the proper management of it, the costing and the workflow as well. Coming up to Kumi ESC which is known as enterprise secret control. By default it manages your secrets as well. You don't need to use some kind of secret managers just like Hashikop wa or uh AWS secret manager or maybe Azure keyword. If you want to use uh secret manager by default, Kulumi gives you this advantage as well and uh you can easily uh do secure your cloud even you can easily call the secrets from the ESC and use it in your uh workflow as well. Then the most important we have which is the show I would say which is Pulumi AI integration. So, Pulumi leverage AI to create infrastructure and even it uses uh AI to help you out with the day-to-day task like let's say if you want to uh know how to create a bucket you would be going to charge why puli gives you this advantages it it has a built-in feature you can just ask puli like I want to create a S3 bucket in Python so you can create it as well Then coming up to pulumo it is as I told you that it's a platform engineer gives you this kind of uh whole thing as in one package where you'll be just prompting the AI and then it will be giving you all the uh infrastructure as code but remember one thing I will tell you uh that don't be too much dependent on AI whether it's really good stuff it giving you that it's correct. Always check the code before applying whether it's it's puli puli AI puli neo chat JPT anything is giving you the code always check your code before applying do a quick go through of it check it and then apply it okay any questions >> uh Yes. Uh, cloud check is saying it can also import existing cloud resources and generate source code to manage them and it can convert full terraform project model into polomic programs that makes me think twice really worth it. >> Yeah, it does. It does because see if I as a DevOps engineer I want if let's say if I want to reuse my old code but in a new uh tool to migrate it will be really difficult for me to migrate and do the migration strategy and everything. If the code sorry if the tool is giving you an inbuilt feature then it's a really valuable and time you know no saving uh thing for me I would say so yeah it gives you this uh uh benefit of uh moving it from terapform to blooming no >> any questions if there is one I'll let you Yeah. So let's see how Pulumi works. It's just simple people who are there knowing about u how terapform works. It's similar to Terraform. So let's see. So in Pulum there is the first step which is right. You need to choose your language. You need to um create a stack. Basically people who have used Teraphform on a much larger scale would be knowing about Teraphform workflow sorry work yeah workflow workspace sorry workspace. So in terapform you can create different type of workspace dev UAT and broad and then you can manage your whole infrastructure in that particular workspace as well. The same concept puli also works. Pulumi gives you this concept of stack and in uh cloud for people who who are using cloud form they know about stacks as well. So it gives you the same concept of stacks where you can represent your whole deployment infrastructure. You can define the state secrets or e stacks and this will and this is by default by the way. Okay, in terapform you need to go to workspace and create that workspace and do all the stuff. But in pulum it gives you by default so that it will help you from the start. You don't need to you know manage okay my dev is this my stage is this it's getting collided it's getting mixed up no it will be separated out coming up to testing people I I'm really saying that as a terraformer you know I I haven't terraformer because I haven't seen people testing the terapform code and most of the people don't know about whether we can test the terapform code as well we can There is a certain mechanism we can test our terraform code before deploying it. But in Tulumi it becomes really easy to test your code because you are using a programming language. Just let's say if I'm using Python what we can use to test code in Python we can use unit test frameworks which is unit test and piest. If you're using Java, you can use justest or chaiuka to test your code before applying it. And it's really become easy to take out test cases because uh it a developer knows about his language and uh his uh text stack and uh that person also knows about how to write test cases as well and or he can take help from AI to write test cases as well. Third is create. So in create you just like in u terapform you create using apply and plan uh to see a preview of your infrastructure. In pulumi we also have uh pre preview apply as well as destroy command to destroy it. One more thing which is really benefiting in pulum is that it gives you a whole dashboard live dashboard what is happening in your infrastructure who committed the code where it is committed everything it happens in real time. Then coming up to the fourth point is destroy. Basically just like terapform destroy command we can easily destroy it and uh we can see one thing is more important in pulong is that let's say if you have destroyed the whole infrastructure but the stack remains still you can apply it from anywhere. It's not like you have deleted the resource now you cannot uh you know uh it will be really hard for you to uh create it again. It gives you this kind of uh flexibility so that you can just uh revive your stat and you can create the whole infrastructure. Any question? I guess not. So, let's move to demo. Okay. So in this demo we'll be looking about how we will be creating an SQ bucket via Python. I'll be using Python as a code uh language and then we'll be deploying it on AWS cloud and then we'll be extending that uh example and we will be using one more concept known as component and let's see what happens. So let me know if you are able to see my screen like the VS coder just uh thumbs up. Yeah. Okay. So basically what happens in terraform you need to uh create the whole infrastructure right but in puli you don't don't it gives you by default you just need to use pulumi in it that's it and it will give you the whole structure as well and don't worry about it you can even create this whole uh example they have a really good documentation as well even I have provided a link in the reference point as well. So first let's see by default it will give you three folders sorry three files first is your uh this main py then it will give you dev.yamel and this is pulum.l Okay. So I will just relate to people who are using terapform. So this is your global main.tf. This is your tfar file and this is your just like uh provider. You can relate to provider because in provider you provide the all the step what's the uh cloud provider we are using and everything. Okay. And for you to uh for your code to run pulley, you need to create requirement.txt just like in Python, you need to uh install PUMI PUMI AWS as a cloud provider as well. Okay. Now we will be seeing this main.py. So first in main.py, py >> what you are seeing over here is just a library we are importing and we will be creating this S3 bucket over here okay this is just S3 dotbucket with a bucket name and this is bucket id just like in telephone we have uh ID of everything when we need to call a resource then we will be converting into a website this bucket so this is website st.bucket bucket website configuration name of website and the we will be calling this bucket id and we'll be putting an index html file over here I have an index html I have created it and then over here we will be uh putting an access control key what kind of access control I want on the bucket so the role would be object object ownership object writer then we will be enabling public access to the website okay uh so that people can able to access the website S3 and then we will be creating an S3 object over here we will be making it sure that it is an index html bucket equal to bucket id source would be puli and file asset it will be using so file asset is kind of produce for given part to a file on the local system just like over here. Then the content type would be index a text/ HTML because it could be a different file, it could be a Python file, it could be a model, it could be anything but you need to make sure you are providing a proper content type over here. ACL you know access control list would be public read and the ownership. So people who have uh worked with terraform they know about depends on so it depends on the ownership control over here and the public access block. So public access block is this. So if you're not creating this this will be not get created because it's a dependency. Then over here just like output.tf we are using we will be exporting what we need to be seen. You'll be getting an website URL and this is just uh calling it like main name main name main name main name main name main name main name main name mainname main name main name and then creating stack so let me just uh create the stack over here basically one more thing I have preconfigured the AWS uh credentials already uh the secret key and access key so before starting you need to make Make sure that you have exported your secret key and access key or you have used OIDC to authenticate your uh workflow to AWS or maybe Azure or GCP. So let me just do pony preview. So this command will show us a preview of it. It's just like plan terapform plan. [Music] So over here you can see it gives me a link. Let's just click the link. So this is the dashboard which puli gives you by default and it shows you that uh see change what are the changes is happening in the configuration see my configuration is this output there is no output because we haven't created it and the resource after output we'll be checking out It gives you this create but it doesn't create it. Okay, let me be clear with you guys because it you will be like saying oh my god it creating or it's create. No, it will not. So now the output is unknown. Okay, now let's just see what gives you. Nothing is there, right? This is my metadata and this is the same output. I can see the differences as well and I can provide a diagnostic. This is the AI. You can use AI as well to help you out with it. Let's create the pull me up. This is the command to create the infrastructure. Again it will give me a link and now this link will show me what resources are been created. So before that just like in terform you have this option of approving whether you want to create or not you can do the approval over here. People would be asking like but Kuml uh we have this uh in terapform plan it gives you the whole plan like what are the resources we are getting created inside the S3 bucket what are the things are there and everything. So in purumi it also give you that same stuff which is seen in the details over here. You can see whatever the stuff is getting created. So before performing uh apply make sure to check the detail first and then apply it. Now see I will just open this link. [Music] Now see it's getting created. So in the timeline I can check what is happening in real time. And in the environment I can even choose you know create an environment file variable if I want. There is no need now but you can when you're dealing with some secrets and all you can create one as well. You can see see we have created it. Now let's check the output. See it's getting it got created. See we got an URL. We got a package name as well. I can even download the JSON file as well. So now it's getting created. Let's head over to this. Let's open this link. See our S3 bucket got created. And this is a static website and it's so easy. You don't need to deal with uh no provider. TF module and lots of stuff. Then you need to think okay how this bucket will be uh you know like uh attaching it to this uh what you say this index.html and networking and everything. It is simple. You don't need those things infrastructure but in terms of programming it's really simple. Now once we have created this let let's see this resources. So this is our resources everything and we can even state head over to this [Music] click over and we will be going to AWS as well in the updates you can check the updates as well and in the overview you can get an overview. One more benefit you have in Pulumi is that it gives you notification. If your resource is getting created, you will be getting notified if it is not on failure as well. There is an enterprise version as well where you can also attach your Slack channel one like if uh you just need to create a slack channel and it will be automatically you know just need to provide the web hook URL or the uh channel ID and you're good to go. So now we have done the changes over here everything you can even create a new tag as well and it gives you a lot of information as well over here. Any questions so far? No, no, no. It uh uh it so charges to use it. So this pulumi is under open source but as terraform is also like a paid tool in enterprise versioni also have this kind of flexibility to go on a enterprise level as well but you can use puli at any given cost like u free cost under open source but you won't be getting that much kind of you know flexibility and everything under one package you will be getting this whatever see I am under free source open source and I'm using all these things so you can create it and you can play with around as well >> uh could I just one question from my side >> yeah yeah yeah >> uh so right now like I'm using terraform with terapform cloud to manage all the resources and earlier I used helm provider with terapform to to deploy things on kubernets but right now like developers have requirement to to uh manage like whole life cycle of this S3 bucket or RDS database as a YML file, right? So they want to like uh they want to run it with cross plane because then they can manage this one Helm folder and then in template they can define all the things for one services and then they want to destroy it they can do do it with cubernetes command and then the S3 bucket and RDS all things will be gone there. So like how we can help this pulum if we want to uh replace with cross plane there. >> So I will tell you crossplane is different. First of all crossplane is dependent on your kubernetes. It it uh uses kubernetes cluster as a uh control plane to create infrastructure on your AWS resources or Google GCP and all. Over here over here things are different. it you it giving you this kind of uh flexibility of uh uh what you say use programming language as well >> it's more aligned to developer side I think rather than this infra engineer or platform engineer >> yeah it gives you this kind of uh ability to uh give you this kind of flexibility not even for infrastructure engineer But uh even for uh developer as well because see at the end of the day you want to make sure that your developer is uh uh should be helpful. Okay at the end of the day. >> So let's uh move ahead. We have some more stuff which is amazing to uh see. Now we have seen this how we have created this. Let me just uh uh comment this out. Okay. Now let's say as a infrastructure engineer you have created this uh S3 uh static website and now you want the developer to be using this whole package like uh in one go. You want to create another thing they you just want the like uh them to use this what you have created. So what you're going to do is that you would be first creating a component. You can bring large infrastructure in one package a component and then you can give those components to developers so that they can use those component ahead. So what we have created over here we will be creating a website. py we will be creating a class over here. class is just a string object and you know it's just like a package where you're putting all the uh programming you know like uh I'm not quite good with Python I will tell you but uh it just encapsulate all the stuff you know whether it's your uh SD bucket or you know like other resources you can encapsulate it as well >> but now we will be using we will be just creating a new function you know like defining a new function in And uh we will be whatever you have seen over over there it just the same thing nothing has changed only one thing has been changed is that this is your parent okay every resource which will be creating it will be redirected to its parent over here. Okay that's the only change we'll be having. And now if the developer wants to call this as a function they will be just importing it using the from website importing this just uh creating this uh my website and index html and that's it. So can you see this? We have this much big code. We have reduced to this much like in two lines infrastructure is done. Now it will does the same thing. So if I do puli [Music] uh let's let's do up over here. So now there is one change you can see this index and there is you can see you have this my website and it will be showing you the changes as well. So let's just head over to and do yes it will create the same stuff the same S3 bucket the same website but now you have more flexibility over your code you can just give this maintain it in your repository somewhere and people can call it and you can they can create it >> I think same as terapform modules right >> terapform module see terapform module they need to have module in place because in module C you can call modules but you cannot call modules like if there is if they are in other places right you cannot call them properly they need to be in sync with it or the main downside of terapform module is that when you're calling a terapform module in the source you need to mention a proper file strategy you know like the file path if not then it won't So see you can run this sorry uh but I think terapform or terapform modules like we can store it in terapform cloud also right and then we can call it in >> yeah but terapform cloud I will tell you honestly speaking how many people have used terapform cloud I don't think so no not much everybody just used the standalone terapform uh uh terapform not much they have used teraphform cloud >> uh most of the banks uh use a workspace uh because of security because what happens is so that people do not write code and execute straight onto the infrastructure and break it. So for security purposes what they do is you cannot execute from your machine because they don't give you the AWS or the GCP um credentials. You write the code, verify it and commit and then uh it is automatically run. >> Yeah, correct. But uh these are for industries enterprise industries and all >> but for people like us we are like we will be going towards the normal terraform not like using some terapform cloud and enterprise version of it. So now we have seen that it's really simple we have created the [Music] resources using components but let's say if you want to create using CI/CD the I I have not seen that uh Teraphform by default it gives you CI/CD and you will be creating the resources using CICD you need to create the CI/CD first then Teraphform will be you know creating those resources but In puli it's not. So in puli by default it gives you the flexibility of creating resources using CI/CD and even not maintaining CI/CD as well. That's the most amazing thing I have seen. So the only thing just you need to do is that you need to just uh install the provider terra uh pulumi provider as a GitHub app and you're done. You are done basically. So let's uh do a preview of it and what what uh wait a minute I will just show my GitHub repo as well. Yeah, I will show you because see I don't have any uh CICD you know dot GitHub/workflow I don't have it >> so how it will be creating it so let me show you now let's destroy it >> okay while you're destroying it uh there is a question Um Kyle, >> what practices do you use for fleet of clusters >> to create a fleet of cluster? >> H to for fleet ha I think for create. Yes, correct. >> First of all, if you are using uh infrastructure as code, you need to use infrastructure as code basically to create fleet of cluster. You always need to use infrastructure code which is your first not to use infrastructure code on a basic term. You need to use modules because module will be really helpful to reuse them again and again and in terapform if you have known this kind of uh uh what do you say concept which is known as dynamic content. So using dynamic content we can create that same block again and again call that same block again again and again again and we can create like uh 10 to 15 uh things like instances subnet the security group you can create it. >> Yeah. >> And always use CI/CD for it. >> Yeah. >> And to configure that use anible over uh terapform. So first use terapform then anible to configure your own fleet of cluster >> use playbook create playbooks and create the clusters >> or there is another option what you can use is in AWS terms what we call user data and put it into the template so that when the machine is executed itself it is G because I always feel that executing scripts after the instance is created and when never using is not a good idea uh just add creation time itself to the needful for example >> when I was born I was named gurum morti that's it you can't change it and and kum is kuml but that's it and if they want someone else like nandakumar who's my brother then they need to have one more so yeah that being the thing okay please continue >> one more thing If you're talking about AWS in general, so you there is a uh SSM system manager, you can use system manager to uh interact with fleet of cluster or you can interact with fleet manager. You can call that create instances and everything. So you can use those as well to interact with your instances. Coming up to this, so what we'll be going to do, we'll be just uh previewing it first. Okay. Uh let's uh preview it will do the same thing. Okay, it will not do any kind of some magic. No, it will do the same thing as well. Also one more thing also you need to make sure that you have saved your access key and secret key in the environment. then only it will be picking up uh the resources from there you know that uh secret key and everything and it will be using it over here. >> May I ask you a simple question? >> Yeah. >> Now you're using a app.pumi.com means >> technically it can look into your code. Correct. >> Correct. So kind of pulumi knows what you're doing. >> I would say that even terapform knows that because you're using modules and those modules are maintained in the terapform registry as well. So see there is a security if you're talking about security. >> So there is a thin line between creating infrastructure whatever you're using. See, you're not creating, you're not using vendor locked infrastructure app code like a as CDK or bicep for Azure or uh maybe uh runbook for Google. I'm not sure about it. >> But uh if you're using terraform or puli, >> it will see the infrastructure. >> It will see the infrastructure. But if you want to have this kind of uh hold over your infrastructure, you can use secret manager to store everything every secrets. See whatever you are creating it's okay. But what is really important for you is that the state file and the secret >> you can just remove out from the pulley and you can just you know uh store it or maintain it somewhere else. >> Yeah. For example, my question was because um see for example in case of Hashi Corp, right? Uh we use something called Terapform workspace. So it's a managed service of course within within the bank, right? It is self-hosted. Of course, we are paying a lot of money for it. That's that's the bank's call. But the source code and everything remains within the premises or within the parimeter as they call it. But here the question is because app.polumi.com pulumi.com is not within the par my parimeter right within my control you're uploading your source code okay it's only infrastructure it's not like you're for example let's say if I create a public database let's say for developers >> right so that password is kind of known to it right >> no >> see password is not kind of known to it because you are not using pulumi esc See >> so it will be not known to it. >> Okay. >> You I'm 100% sure if you're enterprise >> you know level you would be creating a self-hosted uh service. >> You would be storing it. >> Just using pulley as a support to create infrastructure. That's it. >> You're not storing anything onto Pulumi. >> Okay. Fine. >> Okay. Thank you. Okay. Thank you. Then now we have done this uh we can use see the concret ID even the token as well nothing we can see. >> Let's uh preview and let's uh update it. Now we will be creating it. So this is really great in creating infrastructure without you know need to create CI/CD because to create a CI/CD is one more you know layer you need to create terraform modulize it create CI/CD store the secret and the cycle goes on >> over here is not you can use it you can use this but if you are a really security freak I would say that you should be using your GitHub action as well. We are using GitHub action all already in our uh organization to manage pulum. But for this demo I have shown you this one more thing it gives you this policy violation in terraform there is a I'm not quite sure about it but there is a thing that you cannot create uh you know uh resources if you haven't given the access to which is known as sentinel >> polic code >> but and it's a different entity it's totally different entity you need to inst install it in your terraform and then you can use it. But in Pulum it does not. It gives you by default you can use it as a it is a business critical feature. >> You can use that as well. >> Okay. >> And one more amazing thing is that you can create OIDC from scratch. You know you don't need to go on a business level, enterprise level. No, it gives you this easy setup as well. So let's uh check our uh stack over here. >> So there are a lot of stack I have created. >> Mhm. >> Let me just uh go to deployment. I am deployed it. >> Yeah. >> So now we can able to check if uh Oh >> yeah, resources. Uh let's head over to our bucket. Let's see on AWS if we have created the bucket or not. Funny thing >> I see. >> See, so our bucket is also created and we have this index html as well. One thing I have to show you is that the dashboard what it provides you. So in the dashboard it gives you the latest stack updates, the latest deployment, the resource count over time, how much resources you have created, you can create the correct count over time as well. And you have puli AI. It gives you this AI to you can you know just you can go Python and you can create it like let's uh just uh use this So it gives you proper coding which is good. I I found it really well. One more thing I haven't shown you over here is this uh so Pulumi is an uh contributor demon project. So over here you will find a lot of template by default just like module and not only for uh one uh programming language or one cloud provider or any number of cloud provider. So you can see Alibaba, Ozero, AWS. >> So in AWS Python >> see this is S3 bucket template. You can get SP bucket template as well. Even for container, let's head over to container for AWS. You want to create ECS, you have ECS over here >> by default. So this is really amazing. I found it really amazing. I don't want to, you know, search for this and that. And this is maintained by Palumi itself. >> Okay. >> Just I need to just uh do the changes on the uh naming side and we are good to go. >> Okay. Can you paste the URL in the chat window? >> Sorry. >> Can you paste the uh URL in the chat window? >> Okay, fine. I will do that >> so that other people can copy it across. >> Yeah. >> Yeah, I appreciate. >> Okay. By the way, I think Prasoon Mishra has a question. Please go ahead. >> Yeah. Yeah, please. So, so Kamir I just want to ask like apart from this cloud things uh like AWS Azure GCP or bare metal uh can you manage these graphana dashboards or Prometheus things or GitHub repositories uh or like other things like I'm running mail gun uh for my team. So uh right now I'm managing this mail gun resources with terraform providers. So can we do these things also with Kulum? >> Yeah, you can do So I will just give >> we can do >> yeah we have one pass. One thing I really found it very well we are using onep pass in our organization. So we can even integrate onep pass with pulumi and it you know fetches all the secrets from one pass as well. So you have Akami, Airba, uh Alibaba, any cloud terapform provider even even Astra TV you have Argo CD and you have all zero AWS control uh cloud control API gateway everything you have so it's a really big see I was talking about this Equinox Metal so it's deprecated but now it's uh this Equinox Okay, one question like yeah if you don't mind >> what are the cost implications? cost implication. See, if you want to go on uh what is uh on an enterprise, it it's around $400, but with everything. >> Uh >> but with everything $400 with everything. Apart from that, if you want to go on a cheaper version, it's $40. >> Okay. >> And it's free as well. >> Okay. $400 per account or per person? >> Account. Account. Not per person. Account. Okay. >> So per account. So let's say Blay's Bank or HSBC will have an account. Correct. >> Yeah. Yeah. >> Okay. Fine. >> Correct. >> So in that account you can even call your team. >> You can have a proper you know segregation of organization and everything else. >> Ohi handle naming convention just like you can handle naming convention in your Python. Basically you can create utils in Python you can create utils folder and under folder you can create a tags py you can mention the tagging and then you can just call that function you know simple as that nothing more I think because it's programming you can do the way you want mean I'm seriously thinking about writing a spring module for it to be honest but Java does Java support as well spring I mean Yeah. Yeah. Yeah. So >> yes. >> Yeah. So even you this is IDP. You can create your own IDP and you can uh provide this IDP to developer as well. Then they can use it in just one click. You have everything up and ready. >> Even you have private registry for organization as well. So uh you have insight as well which I was talking about. It gives you a lot of uh improved management and everything by default. Coming up to uh the later stage which uh we have this I just needed to show you one thing. I am not able to see but uh this is I just give me a minute. Yeah you can even click on over here. You can even uh switch to AI mode. It can even u give you a really good about category type and everything. Just give me a minute. I just need to see one thing. It gives you a map as well. I am not able to get the map. Deployment. uh I'm not able to find that but it's a it's a really good map you know it it gives you this kind of map where it shows you how much uh resources has been created and from which >> I think it's in I think it's in deployments left hand side most >> um I have forgotten because yesterday I have saw it uh Maybe resources. >> No, right? No, no, no. On the right. On the right. No, no, no. >> Resources. No. In the resources, it's uh just >> graph view. Graph view. >> Yeah. Graph view. Yeah. See, thank you so much, bro. Yeah. So, see in this we have this amazing >> No. M >> and you know if you just click on it you will be able to get to the resource. >> So this is really good because Terapform does not give you this thing. >> No does not >> not even uh AWS >> I would say >> you need to go in the infrastructure generator and then do the whole thing and all provide your cloud formation and everything and it even gives you the name the URL the type category package module and the properties as well. M >> and the reference point as well. So it's it's really uh what I can say it's really amazing to use because it gives you granular detail of everything not like terapform where you need to find it you know go inside it and find it go inside it. No no it gives you everything. Yeah. So we have done it. So any questions? Uh >> uh no more questions. Most of them are views. For example, cloud check has said inside dashboard and resource explorer sections are very >> Yeah. Yeah. Yeah. >> Use these to explore the detailed maps and visualization of your infrastructure. >> Yes. Yes. Yes. Correct. Correct. So um >> no more questions I guess. >> No more questions I would say because we are in the in the last phase. >> Yeah. Mhm. >> Soon says, "Thanks very much for the session." >> You're welcome. You're welcome. >> Uh Kum, if you're coming to London, you can stay in my home and I'll I'll get you a nice mutton biryani. >> Thank you so much. Thank you so much. Uh so for the reference you have this uh documentation and you can uh find it really easily and go and start you know this is really important for any wordbody to you know just uh make their hand dirty you can get over this link and start creating a bucket just in but make sure you have AWS account okay >> that's the most important >> and thank you so much and let's continue exploring Okay. >> Uh, okay. Thanks very much. Uh, I'm going to stop the recording. Okay. >> Yeah, sure. So, thank you everybody and uh have a great weekend. If there is some questions, please ask