How a Software Delivery Platform Simplifies Cloud-Native Dev with InfluxDB
Session date: Feb 01, 2022 08:00am (Pacific Time)
Stratox are the creators of the first DevOps value stream platform. They have developed CodeNow, which is used by organizations to avoid the typical pitfalls common with cloud-native development and operations. The platform is built on various open source technologies - including InfluxDB, the purpose-built time series platform. Discover how Stratox uses InfluxDB to help their clients automate and simplify DevOps processes.
In this webinar Ján Mlynár will dive into:
- Stratox's approach to speeding up cloud-native app development
- Their methodology to improving observability into microservices-based architectures
- How InfluxDB helps their clients gain real-time visibility into their infrastructures
Watch the Webinar
Watch the webinar “How a Software Delivery Platform Simplifies Cloud-Native Dev with InfluxDB” by filling out the form and clicking on the Watch Webinar button on the right. This will open the recording.
[et_pb_toggle _builder_version=”3.17.6” title=”Transcript” title_font_size=”26” border_width_all=”0px” border_width_bottom=”1px” module_class=”transcript-toggle” closed_toggle_background_color=”rgba(255,255,255,0)”]
Here is an unedited transcript of the webinar “How a Software Delivery Platform Simplifies Cloud-Native Dev with InfluxDB”. This is provided for those who prefer to read than watch the webinar. Please note that the transcript is raw. We apologize for any transcribing errors.
- Caitlin Croft: Customer Marketing Manager, InfluxData
- Ján Mlynár: Enterprise Architect, Stratox
Caitlin Croft 00:00:04.173 Hello, everyone, and welcome to today’s webinar. My name is Caitlin Croft. I am very excited to have Ján here to talk about how CodeNOW, which is part of Stratox, uses InfluxDB to help simplify cloud-native development. This session is being recorded and will be made available for replay later today or tomorrow morning. Please feel free to post any questions you may have in the Q&A down the bottom of your Zoom screen. And before we get started, just want to remind everyone to please be nice to all attendees and speakers. We want to make sure this is a safe, fun, happy place for our InfluxDB community. All right. Without further ado, I’m going to hand things off to Ján.
Ján Mlynár 00:00:58.193 Hello, everyone. My name is Ján Mlynár. I’m working in Stratox. I don’t know. Let me introduce our company first. So the topic for today is how a software delivery platform simplifies cloud-native development with Influx database. First, before we will go into the topic, let’s spend a few words about Stratox. Stratox is a company which specialized into cloud-native applications, their development architecture. And on top of the other things, we have a very nice product which is named CodeNOW. CodeNOW is a platform which enables and simplifies development of cloud-native applications but not only cloud-native applications, especially in the part of their deployment and operation.
Ján Mlynár 00:02:20.630 So what is the CodeNOW? In fact, we have implemented and integrated together a lot of DevOps tools together with a bunch of accelerators. And everything is packed into a self-service portal which is available for the developers to start with the development and operation of their cloud-native applications very easily and very quickly.
Ján Mlynár 00:03:05.890 So back to the topic for today, we have thought about what would be interesting and what is the really nice usage of InfluxDB within an app. And the biggest issue of current application development is that a lot of developers are too focused on the technology side, on the development of something really interesting, perfect, whatever but forgetting about business metrics. And this is something which is very important from our point of view. And also from our experience, it’s very significant, and it’s necessary to have - always - business metrics on mind when you are developing your application. And of course, you cannot stop at the development part. You have to keep them in mind also during the operation. So it’s best to define the business metrics in front but also to be able to measure and present those metrics to business, to other users, to other members of the development team, whatever.
Ján Mlynár 00:04:42.016 So what is our approach? What are we recommending regarding this? Typical situation is that you already have an app up and running. The application is doing the job. And usually, if you are using some value stream delivery platform like CodeNOW, you are already getting log records from the components and providing visualization usually of technology metrics using Grafana. Yeah. And we would like to present the way how to enhance your application in a very easy way to Introduce the business metrics.
Ján Mlynár 00:05:38.199 So how to start with the business metrics? It’s quite easy at the end. You have to first choose important metrics for your business. You have to talk to your business users. Usually, you can hear that things from your business users. “We are not satisfied because we don’t have enough applications, orders, processes,” whatever. Or of course, they could be satisfied because they have a lot of orders, a lot of whatever stuff your application is doing. So the definition of the metric you can get from your business users and then take the metrics and define the events within your application. Where do you have the important events which are relevant to your business metrics?
Ján Mlynár 00:06:47.950 Probably, you have already logged these events to the log file. If not, it’s also possible to be done quite quickly. And of course, you can specify parameters for the events if it’s applicable. For example, if you have some measures of temperature or whatever other stuff, then you can count the money. You can measure what is really necessary for your business. Then you can proceed to the next step, the changes in the application. Let’s find the place where you are logging specific events and add some annotations to the log. And at the end, the last step is to create a dashboard to show the events and their metrics. So this is overview how it could look like. And now let’s look how this is fitting into CodeNOW.
Ján Mlynár 00:08:11.038 So we have or CodeNOW has four basic parts. I have already mentioned the self-service portal. Then there is some built part of the CodeNOW which is responsible for building artifacts. Deployment part of the CodeNOW, so deployment pipelines. And the last but not least part is the running or operational part of the CodeNOW. And this is exactly the place where InfluxDB as a time series database fit in.
Ján Mlynár 00:08:51.649 So in our case, which we will look at today, we usually use Prometheus as a metrics aggregator. And out of these Prometheus metrics, we are getting the data into - pushing the data into InfluxDB, which are then presented by Grafana metrics dashboards. Of course, there are many other options how to utilize InfluxDB together with CodeNOW or any other framework you are using, but we have chosen this for the showcase. So in the demo, we have very simple reservation application. It’s for the reservation of tickets in the trains. And this application has three major components, the front end, API, and the back-end logic. And we will have a look to the API component right now, which is doing the logging part of our events. So let’s switch to the demo.
Ján Mlynár 00:10:39.622 Okay. Here we are. This is the CodeNOW self-service portal on the main dashboard, which is used by the developers. You can see here. I have few applications here registered. And one of these applications is the demo reservation application. This one is developed in .NET. So let’s have a look. We have those three components I have already mentioned. And I have thought that we will see how to do the changes into API component. So let’s switch to this API component in the Git repository.
Ján Mlynár 00:11:45.884 So here we have the repo of the seat reservation API component. And we can see - I will not do - I will not code everything here, but we can easily see the main changes which are necessary to be provided to log the events and to push them into InfluxDB. So the main change is the introduction of the new class, which is called or we call that class Metrics Reporter. Within this, there is one very easy method to count the request reservations. Of course, we have to register this object to be started. And here, you can see the code which is necessary to change to use this Metrics Reporter. So there are only some basic declarations and definitions, and the main change is happening here, okay, and on this place.
Ján Mlynár 00:13:25.624 So as you can see, these are really the only changes which are necessary to introduce and log business events within your application. Of course, you can add parameters if they are important for your application. And then we can go back to the application. After the change, I could easily deploy a new version of the package. I already have this package deployed. Yeah. I can open the application, which is already running. As I said, it’s simple train ticket reservation application. So I will just select and fill the form, and I will submit my reservation. So I have a response that the request for reservation has been successfully sent. And that’s everything you have to do on the application layer. So let’s move to the Grafana.
Ján Mlynár 00:15:05.857 In Grafana, you usually have some standard dashboards for technology metrics, but now we are going to check the new metrics we have or the new dashboard we have. It’s pretty simple. We have only two events here defined, the number of reservation requests and the number of reservations which are completed. So in this case, it’s a demo app, so it’s not reached by the real users. Of course, I can see some longer period, how it is working. Okay. Let’s see here. Yeah.
Ján Mlynár 00:16:19.629 And basically, that’s it. If you will provide this dashboard to your business users, then it’s very easy for them to check, what is the number of reservations for the last hour? And then they will be used to this dashboard. They will know how many requests they have to expect on Mondays, on Sundays, whatever. And if the number of requests is low, then they can reach you, or you can monitor it as well, and you can try to find out if there is any issue. Of course, the same situation is happening when you will have much more requests than the completed reservations if any missing are allowed. It depends on your application and on the metrics you will choose to be measured.
Ján Mlynár 00:17:36.881 So let’s switch back to the presentation. So you were able to see how to change the application in quite easy way to introduce a new business metrics. And that’s pretty what we wanted to show today. And of course, there are other things, other options you can use. You can have your own InfluxDB running outside of this platform. Or you can even use or start the managed service of InfluxDB, which is, I have to say, not yet supported by CodeNOW. We are thinking about this option. If you see it important, please let us know. And definitely, we will take this into the consideration. And it might happen that it will be available even sooner in CodeNOW platform.
Ján Mlynár 00:19:19.972 And of course, I would like to invite you. You can try very easily CodeNOW platform using this URL. You can register very easily, and you can try it on your own. There is tons of documentation, tutorial videos, and other stuff, so don’t be worried, and I’m pretty sure you will be very fast in the CodeNOW, familiar of how to develop your applications.
Caitlin Croft 00:20:10.725 That was awesome, Jan. I know there were some - I love your setup with this screen basically behind you. However, it was a little harder to see the demo because it was so big. Is it possible to share your screen to show -
Ján Mlynár 00:20:28.179 Yes. Sure.
Caitlin Croft 00:20:28.504 -the CodeNOW UI and just go through the demo again? I know some people were really excited by it, and they were just trying to read it. It was a little tricky.
Ján Mlynár 00:20:36.571 Yeah. Sure. So is it possible to see it now?
Caitlin Croft 00:20:44.175 We can see it. It’s just blurry because it’s so big. I’m just wondering, is -?
Ján Mlynár 00:20:47.961 Really? Okay. Then I can try it like this.
Caitlin Croft 00:20:56.688 That’s better. Yes.
Ján Mlynár 00:20:57.672 Is it better now?
Caitlin Croft 00:20:58.662 Yes.
Ján Mlynár 00:20:58.730 Okay. Okay. So within the CodeNOW self-service platform, you can see the basic dashboard list of your applications. Here, you can see some basic stuff about your application, some biometrics, which are calculated once per day. And of course, you can go into the details of your application. You can see the components, the build history. You can create packages which you can compose of the components. You can combine specific versions here and to create the deployment configuration for the packages. If you would like to expose your application to the public service, then it’s very easy to register or use the domain you have already registered. And at the end, of course, to deploy the application, it’s possible to see the application deployment details. Sorry. It’s not what I wanted to show you.
Ján Mlynár 00:22:35.884 Okay. So you can also see the monitoring of the application, the basic metrics, technology metrics, and so on. And of course, to see the log files, to do some tracing if it’s necessary. Yeah. So it’s very easy to go through the log files and to try to find the issue if there is anything on the environment which is not okay. And within the applications, you can use the Manage Components. As I have already mentioned, you can very easily get a new service. Just choose from the supported manage services, and you can, within few seconds, deploy a new managed service and use it within your application. Then you can configure on the -
Ján Mlynár 00:24:16.902 For example, here, you can easily configure to which application - sorry, to which manage-service deployed application will connect to. So you can see here that this application is using some Kafka and Postgres database. And you can change even during the runtime the database or the Kafka topic which you are using. You can see the overview of the builds within your platform, within your subscription, and the deployment overview as well. Okay.
Ján Mlynár 00:25:23.540 So this is for the application development and management. Of course, you can use - I have already shown this - the logging and tracing, which is inbuilt and ready to be used. Doesn’t matter if it’s only one application which is related to your issue, or you can go through more applications. And of course, you can see the overall application - sorry, overall platform monitoring dashboard as well, which is very easy to see.
Ján Mlynár 00:26:18.833 Then we have some quality management built into the self-service portal as well. So you can see here the static analysis which is available automatically for all the applications from the very beginning. And of course, even as most of us are developers, we have to deal somehow with the infrastructure. But using the self-service platform is really, really easy. You can see here your clusters. Usually, for non-enterprise customers, you will have only one cluster. Enterprise customers are usually using more clusters. It could be for security reasons to really separate all the traffic. So usually, they are using one cluster for production data and one cluster for non-production instances of the application. And within the clusters, you can define new environments.
Ján Mlynár 00:27:46.385 Now we have configured only one, but it’s very easy to create a new one. We’ll select the cluster, and the environment is being created. And within few seconds, it will be ready for the deployment or whatever applications I have deployed. So here, I have immediately monitoring ready, even there is no application deployed yet, but I can easily deploy a new application if this is what I want to do. And the last part of the infrastructure is the domain management. So here, you can register all your domains. And then you can use the domain and assign the domain for the application, as you all have already seen.
Ján Mlynár 00:28:58.230 At the end, we have some reporting capabilities here and - which is I think very interesting, especially for the newcomers - we have a set of tutorial videos in English and in German language. So it’s very easy to see how to create an application in CodeNOW or any other of the videos. If the videos are not enough or you are done with the videos, then it’s time to switch to the manuals. And here, you have much more information available, even the basic features but also the very advanced features described, how to deal with them, and what would you like to achieve with that?
Ján Mlynár 00:30:02.620 And if everything fails, then you can always have Discord community support where we are connected usually to this platform, and you can expect quite quick responses to your questions in a very interactive way. If you will have any issue with the platform, it’s also easy to go to the support portal and to create a new ticket if something is not working according to your expectation.
Caitlin Croft 00:30:53.140 That’s awesome.
Ján Mlynár 00:30:53.232 So this is a very, very brief introduction of the platform.
Caitlin Croft 00:31:00.456 So someone has asked - do you mind going through the source code again just so that they can understand a little bit more of what’s needed to expose the metrics?
Ján Mlynár 00:31:11.203 Yeah. Okay. Here we have the source codes.
Caitlin Croft 00:31:14.721 Do you mind zooming in on that just so we can -?
Ján Mlynár 00:31:18.079 Okay. Sorry. Sorry.
Caitlin Croft 00:31:20.032 Okay. Awesome.
Ján Mlynár 00:31:22.448 Sorry. I didn’t know that it was not readable. So here is the Metrics Reporter component, which is really, really easy just to report a new Prometheus metric, to start it at the beginning. And then very easy usage, just some declaration, and what is really added are two lines here to report an event, which should be collected within Grafana.
Caitlin Croft 00:32:16.758 Awesome.
Ján Mlynár 00:32:21.724 Okay. Was there anything else which was not visible enough?
Caitlin Croft 00:32:30.484 I think that covers it. Thank you so much, Jan. That was awesome. It sounds like you have a lot of experience looking through all those logs and traces and trying to find where the anomalies are and using InfluxDB to help you. What are some tips and tricks that you’ve learned along the way with InfluxDB that you wish you had known when you had started out using it?
Ján Mlynár 00:32:59.352 Well, I think that the work with InfluxDB is pretty straightforward. I really don’t think there is anything really special you have to know, any special traits. And it depends, of course, on the way how the developer is using InfluxDB. Our experience is that if InfluxDB is really used as a time series database to store the events which happens in time with some parameters and so on, then it’s very easy to work with that, and there’s nothing really special you have to take care about. Of course, maybe you are talking about some special context, thinking about more resilience or having really a lot of clients. Then such things would appear. But I think that for the developer who wants to start with InfluxDB, it’s pretty straightforward, and there is nothing really dangerous or nothing you should be worried about.
Caitlin Croft 00:34:34.402 Awesome. And with the amount of data that you’re collecting, are you downsampling at all?
Ján Mlynár 00:34:42.615 Yeah. We usually are using some pre-processor before the Influx. But it also depends on the application, on the context how this component is used. Yeah.
Caitlin Croft 00:35:10.617 So what’s next for you guys? What’s next for CodeNOW? You guys have this amazing platform. You guys just keep pulling in new technologies into it. What are you guys hoping to do next, especially when it comes to InfluxDB?
Ján Mlynár 00:35:29.687 Yeah. Yeah. Definitely. I’ve already mentioned that we are thinking about adding InfluxDB as one of the managed services to be supported. We are continuously working on the platform. We are enhancing the platform and adding new and new components. Of course, it depends also on the preferences and priorities of our customers. That’s why I really challenged you guys. If you want to have InfluxDB as a managed service within CodeNOW, then let us know, and it could definitely help in having InfluxDB available as managed service in CodeNOW. But maybe, sorry, I would like to mention one special thing we are working quite a lot, and we are focusing on delivery of the CodeNOW to open source. So we would like to release open source version of the CodeNOW so every developer could use it. Of course, the situation of today is that it’s open to everyone, but it’s a kind of managed service, software-as-a-service option which we would like to enhance by this open source option to be available for the developers.
Caitlin Croft 00:37:19.446 Fantastic. Yeah. It’s always exciting to see what people do with InfluxDB, incorporating it into their product or as a managed service, so. Awesome. Well, thank you, everyone, for joining today’s webinar. If you have any questions for, Jan, please feel free to email me. I’m sure you guys all have my email because I know Zoom sends out those automated emails. So if you have any questions, please feel free to email me. I’m happy to connect you with Jan. And once again, this session has been recorded and will be made available tomorrow. Thank you.
Ján Mlynár 00:38:03.132 Thank you very much. Thank you for the invitation.
Enterprise Architect, Stratox
Ján Mlynár is an architect at Stratox - a company that develops the CodeNow platform enabling rapid development and operation of applications in the cloud which is ideal for startups and highly flexible solutions. He has many projects in the field of e-government, financial services, telecommunications or industry behind him - he especially enjoys the use of technology to improve people's daily lives. The most recent experience is the development of the architecture of a modern and flexible platform for Packeta, which will enable further growth of this dynamic company together with a significant reduction of the time to launch new products. He studied theoretical computer science at the Faculty of Mathematics and Physics of the J.A. Komenský University in Bratislava.