 Very good morning everyone. Oh, sorry. It is good afternoon, right? So mistakes always happens. Maybe deliberately or not So the theme of what I'm speaking is actually related to that as well I don't have to explain you what this is. We all know this. We have been working day-to-day This is a bread and butter So I'm going to tell it a story a small story. So once upon a time into it We are working on a hackathon. Well, we are developing a small application We actually derive some data sets in order to visualize those data sets We had to make use of some UI solutions and we opted for Dashboards and he's the hero in this story Yeah, when I say dashboards, these are those graphs and charts that you have been Creating manually over any dashboard solutions for that matter. Maybe Kibana graph and anything So on the demo day, we are presenting our project The dashboard was broken and it was a real eye opener Mouth opener as well So we realized like, you know, till that date We have been creating those dashboards manually by clicking on the UI with no peer review with affecting our product productivity No meaningful history with a lot of untracked changes without an option to roll back as well We just realized that we are lacking all the hygiene when it comes to dashboard So we need to come up with some method to, you know, manage those dashboards We thought of Making a process on top of dashboards with some source control system The easiest approach was to, you know, get those JSON data behind the dashboards to get to a git But have you guys ever seen those JSON files behind those beautiful dashboards? They are real blotty and don't even think of managing those a small change in that dashboard is gonna move this JSON data by miles So how do we do it effectively was the next question So we thought of using some templating language like JSONet, which actually reduces a lot of boilerplate and redundant blocks in JSON to a more meaningful format like this using its loops, variables, etc So using this we are able to concise, reduce the number of lines in the JSON to a more readable format But still someone has to get those JSONs and manually had to import into the dashboard So some heavy lifting was still required But what we wanted or what we are looking for was a programmatic solution using which we can deploy dashboards real faster with less cognitive effort and a solution which won't hurt us in the future That is when we read about Terraform providers for dashboards So after that what we did is we started writing HCL codes in Terraform Which when applied it will the Terraform will take care of generating those JSON and Creating those dashboards as well. You can really this code actually it's a truncated code But it's actually creates a dashboard like that In Terraform, this is actually Terraform V12 in Terraform V12 We have four loops this small piece of code actually reduces hundreds of lines of JSON data to a more programmatically way So this is a kind of infrastructure that we are using so here Terraform actually When we run a Terraform apply Terraform communicates to the dashboard solution like Rafa or something using a REST API and updates and deletes creates dashboards and Here comes the new version of our dashboard dashboard to 0.0 and with that we are able to earlier We used many hours and days to create dashboards But now it is just a matter of minutes and we actually have a test and product environment for dashboards We will first put in the test and do a visual differentiation of what's the change and then we run on this one Yeah, I had five minutes. I think that is it Just before stopping I have a one more slide which says the some challenges we had so in the initial days We often spend more time writing the infrastructure as a code rather than the application itself But later what we did is we started creating Reusable templates using which we are able to spin up dashboards real faster Terraform is a code is actually used as infrastructure as a code that was the thought that we also had in the beginning But it's really worked for us for dashboards as well Not just dashboards. We are currently moving our alerts also to Terraform so it's not just dashboard as code. It's monitoring as code But not just Terraform Terraform is not the only solution in the market. You can actually look for other solutions Grafana will be say very widely used Grafana the dashboard as code solution It is actually based based on jsonet that we just discussed earlier Yeah, that's it guys. My name is Sanu. I'm a data engineer and into it. Thank you. Thanks for listening to me