You can listen to the podcast and read the show notes here.
So welcome back to the show. I'm here with David Hansel and he's the CEO of integral in Germany and from their worldwide headquarters, he's gonna be demoing to us my home office home office,
he's gonna be telling us all about fusion reactor cloud, which is their new version. And it has a lot of interesting new features that lets you keep a lot more data. And it's even I I'm almost thinking it's almost an AI. But I know it's not really an AI. But it actually only kind of keeps track of intelligent stuff as to potential problems, what we're going to whatever it does, that's new, I know, it can also tie into some other tools like Slack, and other things, too, with the alerts. So welcome, David. Thank you. Welcome to you soon. So what exactly is future from reactive cloud just in a sentence or two, just in a sentence or two? Okay, well, fusion reactor cloud
is a new software as a service that we're offering,
it's been available now,
David Tattersal 1:15
since August of this year, we've actually been running it for about one and a half years, actually, we had a closed beta, where we had a number of customers that showed interest in the cloud, they were participating in the pizza. But we've been we've pushed it officially, officially, along with fusion reactor seven, which was in August of this year, what does cloud do so basically, even think of cloud as extending a fusion reactor on premise. So if you take a cloud licensee, if you purchase the cloud license, then you get fusion reactor on premise, just like you had before. And you also get a fusion reactor Cloud account. And without count accounts, you couldn't create multiple users and as fusion reactor runs. So as the on premise version is the agent runs and collects data, it will push data up to the cloud every minute. And we're looking at what we call interesting transactions, IITs. And so we're basically monitoring what's going on on your local server.
And we're looking for potential issues, whether it be errors, or Slovenian requests, and we're taking that data and we're automatically pushing it up. So the client, and what you've got then is you've got a essentially a lot of data retention, so 90 days worth of data. So we have two editions of cloud, we offer enterprise and ultimate ultimate Scott, 90 days, data retention, and enterprises got 30 days, okay, so
that's quite a lot more than a week, you might get with fusion reactor regularly on your server.
David Tattersal 3:23
And the thing with with, with fusion reactor with the agent, just to just to, to let people know about that. And we store all the data that we capture, we store in memory, so everything's still in logs as well. But the stuff that you seem fusion reactor in the graphs
and the that the less transactions, we store 100 of the, the less transactions that is configurable, you can increase it, but obviously, you increase that, then you're basically cussing into your memory. So by default, we store up 200 of the last requests and all that stored in memory. But with the cloud, we may have, you know, across your 90 days, it can be thousands and thousands of requests which were
born, right. But by storing it in the cloud, it's not on your server. So right now on the the user server, it's on the integral server. Yeah, yeah, so cool. And just for folks who haven't used fusion reactor is basically a way if you're cold fusion servers running slow or crashing, to figure out what's going on, or even automatically do something about those. Yeah, nice Is that still the same in the cloud version, but still
David Tattersal 4:46
the same. So fusion reactor is an application performance monitor,
all monitors do two things they capture metrics are being measure, and they alert fusion reactors just the same, we capture at some of metrics. And based on those metrics we can alert you. And what fusion reactor does differently is there's two areas first area is we've got something called crash protection. So what that is, is when we recognize that your servers and having a hard time, maybe you're running gates of memory, or you've got a long running request, then you can configure fusion reactor to actually take action. And that action could be if you take the long running request example, let's say you're going to request that relevance. Normally, your average request real time is two and a half seconds or less. And what you can say is, if I get a request that runs for 10 seconds, then I want to automatically kill that request. And you can sell fusion reactor to do that. And it will just go in and kill that request for you. And of course, it will inform you as well. So you'll get an alert. And the other thing that we do that differentiates us is we've basically, we've looked at all the types of tools that developers would use to try and isolate issues in the developments, or QA or test environments. And we're talking about tools like, like a debugger code performance profiler, Memory Analyzer. So tools to to enable you to, to look at the heap thread analysis tools. And generally, these types of tools wouldn't be used in a production environment. And what we've done. And this is really one of the key differentiators with with fusion reactor is that we've built all of these tools directly into the products, and we've made them safe to use in their production environments. And above all, they run very, very quickly. So the impacts on your performance environments is negligible.
So you've got all this capability at your fingertips, you know, all the goodness that fusion reactor provides you anyway, with the, you know, the analysis, the JD bc information about the database information about transactions, the debt, the stack traces, the resource information was, you've got all these pretty amazing tools that let you really dig into some of the details. And, you know, even to the point where you can debug your application in production. So
when you if someone gets fusion reactor cloud, they also get a copy of regular fusion reactor, is that how it was the same agent, so it's
exactly the same agent. So if you so if you're using fusion reactor right now, and you say, Oh, you know, we want to go to the cloud, then what you'd get, we'd set you up with a cloud trial accounts, you'll get a brand new cloud key. And all you do is take that key inserted into your
David Tattersal 8:19
local instance of fusion reactor, just like you would normally, and lo and behold, it will start sending data to the cloud and locally for you, nothing changes, all the capability that you've got right now in fusion reactor is all exactly the same, because it's the same agent. And that was built, you know, built by design to make it easier for people to say, Okay, well, you know, I just want to I've got fusion reactor on premise. But actually, I'd like, I'd like the cloud,
right, that's cool. And so you mentioned this for cold fusion. But it also works with any other Java
David Tattersal 9:00
signings were ready to have a naturally what's sort of also interesting is we're already developing new agents now. So we've already got a Node. js agents, and
we've not released it yet. But we're working on that. And we're already able to run that agent and send data up to the cloud. So this will be a good obviously, this will be a completely new agents. So you know, the Java agent that we've got right now that people also use for cold fusion, and that will stay the same. But if you are using Node. js, then we supply you with different agents, you include that agent, just like you do with, you know, with cold fusion, or if you are deploying gone Java, so you'd have to modify your Java rocks, so that he will be installed and then we'll just start pushing data. So the claim and will have the cloud will basically also detect, so it will recognize whether it's dealing with cold fusion, or whether it's dealing with, you know, just a regular Tomcat server or no, Jess?
Okay. So I understand you can keep a lot more data because it's being stored in the cloud, and you've got your, your tracking potential transactions problem. Yeah, is there any other reason why you went to the cloud?
David Tattersal 10:43
No, was, it was a bunch of reasons. And one of the things that we, you know, that we want to do is to build more AI ensue the application so, you know, if you, if you think about monitoring, you know, what, why do people need monitors, they need monitors, because they've, you know, they've written some, some bad code, it's either forming poorly, or there's some defect with it, and, but even with the, you know, the, the information that we provide, and this is same for all you monitoring solutions, you know, the still, sometimes people find it difficult to actually, you know, understand what's going on and pinpoint a problem and where we're going. And in order to be able to do this, we have to, you know, we have to offer the claim is to offer more collaboration, more analysis, so, analytics of the data, so that we can essentially analyze a for you and say, Okay, here's the problem,
in order to do that, you need data to do that. So imagine, you know, if we're able to, you know, because we're capturing, now, we're capturing all this data, and it literally is, we're already into billions of transactions per month, we're a country.
So having that data available, and being able to analyze it, you know, really opens up the door surveillance to say, Okay, well, you know, we've seen an issue here, you imagine if, you know,
imagine if Adobe maker release a new software, Lisa, some issue and that issue we pick up and we pick it up very, very quickly, and we'd see that issue occurring across multiple customers, you know, as people deployed version of cold fusion, and we can just capture that, and instantly one people, so, you know,
this version has been released, and there's some problem in it, because we've seen that problem occurring, get, you know, with other customers, so, we could potentially, you know, present things. And, you know, really, it's, it's a lot of it, it's, and you said this before, it's sort of it is AI,
and what we want to try and do is, you know, improve the lives of the customers, that's what we're all about, you know, meet me here, a lives easier, make your lives better, and through using fusion reactor, you know, essentially
get you to the roots of your problems, your performance issues as quickly as possible, that's what we're all about.
So if I'm using fusion reactor cloud, and all my data is going to your cloud server, is there a security issue here that my data gets, you know, is mixed up with our customers data, or Well, not mixed up with all the customers
David Tattersal 13:57
and all the data, so the data is held securely, it's transferred securely, and you can also obfuscate all of your data. So let's say, you know, you've
let's say, You're, you're
David Tattersal 14:15
storing some customer recalled data, our customer credit card or something like that, then what you can do is you can configure fusion reactor to obfuscate your data, so that when that data gets pushed up to the cloud, you don't see any credit card information, it's all basically just see question marks were the transactional fields are, and we can even say that further, because you might say, Oh, well, I've got some data. And that data, I would like to see, because it's not sensitive, but this in this field, you know, the credit card field, or the, I don't know, the date of birth field, that's going to be confiscated. So we can actually, you know, lock it down to specific
variables, which, you know, which, which gets obfuscated,
okay? So that the, any of the variables in your code, the values of those variables get stored, so you can help debug what's going
on believe that this, this case would be like in a, in a SQL call. So, you know, you know, select star from table where, I don't know, customer name equals Fred, then you cannot obfuscate the you know, customer name equals Fred, I mean, again, with, you know, we've, we've come across, or if you think about this, obviously, there are, you know, a monitor is capturing a lot of information, and it's a lot of in depth information, you've got to, you know, make the call
David Tattersal 16:01
for yourself, or for your company, about whether that information is important enough to, you know, to store so that you can basically utilize that information to, you know, find, find errors, find performance issues, or, you know, find problem cases, if you turn Rangers and organizations, okay, well, all our information, it's too sensitive, you know, we're, we're not going to push it, or we're not going to
store that information outside of the company, and then maybe clothes not for you. So you've got to make that call, right? I mean, every company's got to look at that. And we've, you know, we've talked to customers, and some of our customers, you know, categorically said, you know, it, the cloud looks amazing, but we can't use it. So, you know, we're, you know, we're not able to, to move to the cloud. And what we've been been doing for many of those customers is they've chosen to use fusion analytics. So fusion analytics also gives very, very in depth analysis. And all of the data which is stored on fusion analytics would be stored locally. So, you know, you'd, you'd have a separate server for that and push data
directly to that server, we build a REST interface between fusion reactor and fusion analytics, and you can set that up, it uses Microsoft sequel server for its database, and you know, then everything is kept in certainly so Mito you, you know, if you have issues with pushing informations of cloud data as an alternative, you could take fusion analytics Hmm. So,
if you're okay, with the cloud, does this basically replace fusion analytics, or,
David Tattersal 18:03
um, I'd say it depends where you're looking for fusion analytics, there's really a lot of, there's a lot of different reports as you've got essentially unlimited data storage, because the only restriction that you've got is, is your own disk space. So if you've got a big enough database, and, and, you know, a ton of disk space, then you're not limited to 90 days. And we've got customers who are running cafe and you know, that they've got months and months and months or years worth of data, just because they can do you know, they can, they can capture it and leave it and using analytics or let you drill into that data and, you know, analyze it across time. Mm hmm. There are, you know, they're there are some,
there's definitely some overlap in the feature set that we've got to infusion analytics and fusion reactor cloud. But I'd say the future is, is certainly in fusion reactor cloud and our ability, you know, our ability to, to modify it. And so deploy it is really, you know, a big advantage over a product that we're just, you know, we're sort of releasing, you asked earlier about, you know, when will play out to commands that there won't be a cloud. So it's basically, it's cloud and it's just evolving all the time. You know, it's, we're literally releasing it every single day. So with fusion reactor on premise, I mean, there we making, you know, we've got the, the major releases, and we've got the point releases, and that that's going to continue. But with the cloud, it's, I mean, we've not cold it cloud one dot, oh, it's just and Microsoft, it's really evolving all the time.
So maybe now be the time to, to do a demo of some of the cool stuff in fusion reactor. I'd love to. Yeah, and I will talk people through who are listening to this and audio as to what you're doing. Okay, well, I can share a screen, right. So I will share the screen for the people watching in video, which you can find on YouTube, our YouTube channel, and
you see no, I see the same says Welcome back, David. And that's gone with lots of data on how many servers you have, and alerts and applications, notifications. And
the Can I can I switch my video off here, because I'm going to because it's getting really dark
yourself so small in the video, I wouldn't worry about it. So really, because I was going to say, okay, so
yeah, turn the light on.
David Tattersal 21:04
OK, so the lights on. Okay, yeah. So let's, let's take a look at what we're seeing here. so here we can see an overview of all the servers which are currently got active. And we can see things like whether there's been any alerts. So I can say a bit, a couple of mornings of a mouse over that, I can see which particular warnings came up, I can see whether there are any errors. And I can see what my slowest request was here. So I've had some requests that run for 75.958
seconds. So obviously, I need to take a look at now, I can also see from an agent perspective,
how many outdated servers I've got. So by outdated servers, these are servers which I'm monitoring, which don't have the latest version of fusion reactor installed on them. So I can see I got some running 666, and I got some machines running seven dot one, I can also see down at the bottom, there's three, three cubes down at the bottom, these are actually quick link. So if I've got, let's say, I've got I don't have 50 servers, but three of them are particularly troublesome, then I could just add direct links to those servers, all direct links to specific applications on those servers. And so that I can jump straight from here into into one of those applications. So for example, if I click on the spring app here, then that essentially takes me directly into a spring test application.
It's almost like you're the teacher at the front of the class. And you you've told the naughty people, they have to sit in the desks the front, so you can keep an eye on them.
David Tattersal 23:06
Exactly. Yes, that's exactly it. So if I go, I'm just going to go back up to the
overview here. And I'll just drilling I'll just click on my online service. And if I click on my online servers,
I can see here, all these servers are currently online. If I click on a specific group,
then I see I've just got one server, which is currently online, this is my cold fusion server here. And if I take that off, I should see all five servers and this cold fusion server, it's not actually doing that much at the moment.
But I'll fire it up in a second. And then then we're seeing graphs of how much CPU usage memory, and I cried, read that read how many requests are going through?
David Tattersal 24:06
Yeah, so the idea here is that you can, this is sort of like the, the dashboard in
in fusion reactor. So sort of an overview on the dashboard of what's going on. And if I drill into one of these servers, this is a jetty server. So I've got some,
I think it's, it's for four servers here. And if I click on one of these, then basically, it gives me all the details, I can see I've just had another server, just come online. My demo instance, I'll actually I'll take that one, just to show you that. And if I click on the so yeah, what you're seeing here is an overview of which version of the agent I've got was operating system I'm running. And then I can see all the Java details. So which version of Java what my Java is on if I click into graph.
So here, you can see this is sort of similar to the web metrics view in fusion reactor. But what I can do here, so I'm looking at a profile, this profiles, my web server, and I can create custom profiles. So I might have a number of metrics that I'm particularly interested in. So I could create a custom
a custom profile for that. And what I can also do here is I can extend these. So let's say, you know, I'd like to see
some information about the garbage collector, then I can just add that information directly. So these graphs, and as I go through the difference, you know,
David Tattersal 26:05
as I click on the other servers, which are available here, and it's going to show me exactly, you know, the same graphs, which I've selected. So that's good. That's quite useful. What we can also do if I go back up to the top, so you can see right at the top, it says last 30 minutes, if I go into here, we've got a time picker. So I can say, okay, I'd like to see, for example, show me the last hour,
or what we can also do is we've got a natural language interface and different to fusion reactor, if I hit the keyboard interface. So I click I just clicked on, see the time here, I can say, Show me today around let's say, 4pm. And if I do that, so this is basically this is going back to round about 4pm today. And, and you can see that from the from the time here. So it's no longer showing the last 30 minutes, which it was before.
So that's good. That's quite an interesting feature. And what we can also do here is on these views, we can also sync points. So with a sink points, if I take specific points in time. And through sinking, I can get that. So let's say we've got some spike, or, you know, we got some specific some long running request or something, then you could just pick up points on one of the graphs and it will synchronize that point across each graph that you're looking at.
So also quite a useful feature. So that way, you can see when that spike happened, when CPU, for example, that you can see what exactly what the memory was. Exactly. Questions.
David Tattersal 28:21
Yeah, exactly. Yeah. So if I go transactions here, let me
find a difference.
David Tattersal 28:35
So if I go back into online,
see my got something in this jetty server.
David Tattersal 28:48
OK, so here, I've got a number of transactions. So when you click on the transactions, and this is going to show me all the transactions, which is which have currently been run. And as you can see here, these ones actually have been obfuscated. So when you look at insert question mark into basket, so the question might come a question mark, that you can see their infusion sharp, and the details up have been obfuscated. So we can't see you know, which exactly which products was selected here.
And if I click on if I click on More details, so if I click on the eye over at the right, then I can also see transaction details in just the same way that we would do in fusion reactor. So all the same information here.
So we can see for that transaction, exactly what memory was there, and how long it took to arrive. Toronto simple queries were exactly yeah,
David Tattersal 29:59
everything that you can see in in fusion reactor. And you can also I can just focus in on transactions, which included a sequel request, and if I go down to one of those, then
I see the the actual sequel appear at the top.
David Tattersal 30:25
So I'm not seeing the other details. Actually, I just wonder why the GDP sees grayed out. But I think that's because the data has been confiscated.
That was the reason for that
David Tattersal 30:38
we can also see if any profiles were run. So profiles are available in fusion reactor ultimate. And I'm not sure whether there are any, okay, so in this particular case, there are no profiles and you can you search transactions, like could I say, I want to see all the transactions that ran slower, two seconds. So yes, you could, you could do that. But you do that in if I go back to the overview.
David Tattersal 31:14
Simon said, saying come work here,
David Tattersal 31:27
Okay, if I go into writing demo instance. And then I go into applications
and these are the applications which are currently running. And then I drill into one of those. So he or you can basically using see all the different transactions which have run and this is not this is not available yet. But you will be able to search for example, here, you can,
these are ordered based on on time. So these are showing all the all the all the requests ordered by time. And for example, if I go into here and take a different metric side, I can also say, for example, just show me the slowest ones, and then it will just focus in and show me all the all the slowest transactions, and that's
David Tattersal 32:35
if I go, and I'm just going to say last 30 minutes here.
And if I take one of these transactions and drill into it,
so in this case, this is a slow transaction, and this one does have some JD big scene. So again, you can see more information in this particular request, got some header information, you can see the JV be seen. So this would be just the exactly the same as you'd see it in fusion reactor. And this information all the we're not obfuscating the data. So that's why it's available here. And in this case, there's been an error. And this is also quite interesting. So here you can see the errors. This is the stack trace, which is being shown. And if I just scroll down,
what you may not have seen before is the fact that we can actually do compile information. Or we can D compile classes and methods on the fly. So if I take
David Tattersal 33:51
if I take this get hibernate cycle, and D compile laughs and I took the class, the service is going to take a while. But it's well, it was it still it was fairly quick. But you can see us through the cloud interface, we're able to essentially take a class or method and instantly D compile lap. And what you may also notice is we've got this theme switcher up here. And the things which are is so that I can take the code and if I'm used to using a specific theme, or a specific tool,
like Eclipse, for example, which is what I've turned it to now. Or if I wanted a solar eyes dark thing, then I can just click that, and it would instantly change. So that's also quite, it's quite a nice feature to be able to do that. Yeah, so
that's, that's changing the colors highlighting of the code. So you to whatever way you used to reading code. Exactly. Yeah,
that's exactly it. But most importantly, you can easily find the transactions that were really slow, so you can do something about them. Exactly. Yeah,
yeah, that's exactly right. And here, you can see we've got
David Tattersal 35:16
different metrics available. So we've got time, which is how much time these requests run, what the average time was, what the slowest walls through poets, or how many times this was cold. And this particular example, here is a spring application, so spring as a framework. And but this will work just really just the same
with a cold fusion framework,
David Tattersal 35:47
like cold box or framework one, for example. And you'd see in that particular case, you'd see the transactions or commands which make up that particular
particular framework. So I'm not sure if people are aware of that with fusion reactor, but will actually will automatically detect the framework that you're using, or if you've written your own framework, which is sometimes the case in cold fusion, then you can actually configure fusion reactor to
you can define the syntax that you've got of that particular framework so that we can basically through that syntax definition we can pick up the transaction names.
Yeah, this one's also Presley in here, you can see
the the average, and you can see that updating
their on the graph, we've got a line indicates the average time taken. But then it also shows this particular requests compared to that. Exactly, yeah.
So you can see what what you're looking for here is not too many big Delta's. So you can see that there was a bit of a spike here. And I think, actually,
let me see if we do soaring. And I think I've got an example of this. So yesterday,
around 3pm, that's
kind of cool. That it It knows what you're talking about. There actually prompted you Yeah,
yeah, it's waiting.
David Tattersal 37:37
Yeah, that's the, that's the, let's say, the AI, the start of the AI that we can do things like that. And as well, with the, with the keyboard shortcuts. And that's also pretty cool. So here, I knew I was testing something yesterday. So this particular case, and you can see that this request was having some issues, it was up and down. But then around, you know, 1524 yesterday things, average doubt, and things returned back to normal. So, you know, if you know that, okay, you know, we had a problem, you know, when was it was it yesterday, I think it was in the afternoon, you know, maybe around three,
you can just type that in and will instantly find that point in time for you and show you that data. So,
yeah, that's it. Does
it have I mean, if you don't know exactly when the problem was, can you find, you know, we, you can always say, you know, if you go back across time and say, okay, and I want to look over the last three days,
David Tattersal 38:48
then, you know, for the last three days, I want to see, and you see, I've got sort of, I've not got this, this, I'm running a VM here. So I, I've not got continuous data all the time.
But I can go and say, okay, just, you know, pinpoint me the areas
that have occurred, you know, across the last last three days. And so we can see the arrows came in various spikes. Probably someone release some code.
Yeah, actually, I've got I've got a little example here.
I've got Now you mentioned VM there. Will this work with if cold fusion is running under darker or? Yes.
David Tattersal 39:35
Oh, yeah, of course. Yeah. So what I didn't really talk about that. Yeah, the, the licensing. And so one of the, I'd say it's not a limitation because you can use fusion reactor and we don't have a lot of customers who are using fusion reactor with Docker containers.
fact, just wallow run the video, I should say, Brad Ward did a really amazing video on how to use fusion reactor with Docker swarm, I'm using command box. And it was literally it was bringing servers up and down and then pushing the data from those servers directly into fusion reactor cloud. So that was a really great video that he did. And but one of the things one of the, let's say, challenges is if you've got, let's say, you've gone container honest with your application, and you're just bringing servers up sort of on demand. So you might have, you know, in a cluster, you might have, like, three machine than that cluster. But, you know, if you've got a peak activity period, then those three clusters might all those three servers might go up to six servers. And for that case, with the licensing, we offer two types of licensing. So we can basically do reservations, just like you know, think AWS,
so you can reserve servers, just like you do today, with fusion reactor on premise, you say, you know, I've built three machines that I'd like to license. But with a cloud, you can also do on demand. So if you ramp up a server
and using fusion rate to cloud, then that server will automatically start monitoring. And it may only be up for a few minutes, and during those few minutes, we would monitor it. And then we'd only charge you for the few minutes that that that server was actually up and it was monitoring, so you don't have to pay for a whole month? No, you don't have to pay for a whole month. So if you've got servers that are active and switched on for the whole month. And obviously, it's better to do the reservations and sort of say, Okay, well, you know, I've got, these are my main servers, these are all the time. But if you've got a dynamic environments, then you could also say, Okay, well, you know, I'm so many use fusion reactor, I want it on the cloud. And I'll just let those ones build dynamically, ethically do that.
So when I was just going to show you, I've got an error here, this is a little test application that I've got. And if I go back,
should be able to see
here that I've got a
demo instance. Okay, just let me
go back into applications. And I'm going to take my SAS application here, just to show you some of the, the capability of what we can do. And I've got
for this, see this Kofi is on this call fusion app. So I've got I've got a divide by zero era here. And now these different time taken, things are color coded by which so you can see the transactions here. So if I suck, if I just selected divide by zero, then basically that the color coding is if you've got multiple
David Tattersal 43:37
elements of multiple transactions, but now I've said I'm only interested in this divide by zero. Alright, so it looks like this, this guy come up number of times during the day. So let's, let's investigate it. So I'm going to go in here, I'm going to click on the details. And I can see that this was this was run locally, it's divide by zero dot c FM, it returned to 500 status code, and I'm
sorry, my money. So it was just going to switch itself off, then for some reason,
I can also see header information. And I can also see the errors. So it tells me that I've got a divide by zero error. And again, I can see the the complete stack trace here. And
David Tattersal 44:36
what I can also do, which I showed you before, is I can also D compile that. So if I click on the wrong page here, this is going to be compile
and you can see the the name of the Word says the class at the top. This is actually
David Tattersal 44:55
where it says CFD by two d by two D zero
to eat CFS. This is actually this is the name of the CF file. And it's I know it looks a bit weird. But that's the that's the actual name of the CF file. And again, here so that's
been D compile. Because
the. So you've got Jami so I so,
so that's cool. So, always code has been
generated by fusion reactor.
David Tattersal 45:34
So you've got the decal Yeah, you can see and again, we can do the thing with the switch the to take a look at the code, but let's just say we've got a we've got a psych
and can we bump the font size up on all this stuff a bit. Um, we you can
just thinking of people trying to see this on YouTube later and teeny tiny that I don't I think YouTube has
a limit on Yeah, um,
you probably have one of those mega already robust tools. Is that, does that
look a lot bigger? No, no. Okay. But we'll get there.
Okay. I'm john. I'm assuming Yes, that's much better.
David Tattersal 46:34
Okay. Okay, so I just wanted to take a look. So we've got this. So what we've seen before. So we've, we've had some arrows, some divide by zero. So just let's take a look at that. And see if we can figure out what that problem is, I mean, divide by zero, it's pretty probably pretty obvious. But let's take a look in the code. So we just D compiled the code, and this is this is cold fusion, the CC FM file and we got the Java. So if we go into fusion reacts, and they will. And so okay, I'd like to look at my era history, I can see these were the divide by zero errors that I've got. And if I click here on era,
and again, cold fusion reactor tells us this was a divide by zero error. And again, it shows me the strength trace. But what I'm going to do now is I'm going to set the breakpoints, and if I just click
on the source code file, fusion reactor, all automatically set a breakpoint on that at that point in the code. So it knows where the code broke, it knows that this at lying three, and I'm going to say it's fire cancel, the fire came is this is telling fusion reactor, how often do you want this break points of fire. So in this case, I'm only going to fire it one time, I'm going to pause the thread. And I'm going to pause it for 60 seconds. So I'm going to give myself 60 seconds in order to intercept this thread
if this breakpoint fires. And then I click Confirm.
And you can see now I've got a break points here, this is it says fire one time and find zero times if I know
do that divide by zero. Again, watch what happens. So let's say we've got some era and that era was was causing divide by zero. You can see the browser spinning here and even going to fusion reactor and click on the book,
then that shows me this exact threat. So fusion reactors now intercepted that thread. And you can see it's, I've got this timeout, 30 to 30, walnuts, counting down. So I've given myself 60 seconds to intercept there. So if I click on the debug button,
then fusion reactor has taken me inside the debugger inside fusion reactor inside your production environments. And it's now actually showing the CF code. So you can tell the debugger, where is your source code. And if you've got access to that fusion reactor will go get your source code, it will map back to where this particular error occurred. And it's actually highlighting the line in the code word, this divide by zero took place. And this is all happening through your browser, you all know like, so nothing else, I didn't have to install Eclipse or anything else to get this to work. It's all done through the browser. I mean, this is the amazing thing with this, you know, you don't actually don't need anything else, all you need is fusion reactor, and it will do everything for you. So that's what I'm saying right at the start with these low level tools, like the debugger, the profiler, the heat analyzer, these are all available directly through fusion reactor. And you can even, you know, we can, we can see all the variables here. So all the all the scope variables that are available, we can see them all. So if I open up variables, I can see I've got a variable here called why science that y is equal to zero. So my set y equal to two.
And then I resume here, and I can resume up at the top of own hit the green Resume button, then that should run through to completion. And if I go back up here, I can see now this this guy works. So x is equal to one divided by two. So x is equal to 0.5.
So all right, all the while you were in that debugger, the actual page itself wasn't fully returned to the browser rail. So in that case, or that one individual user, everyone
else who was hitting the page, they're not halted as well. Absolutely, yep, that's exactly correct. So for the other people, I mean, it could be that, you know, everybody else who hit that page also go a defined by zero. And if we run that, again, what will happen, we'd expect it to break because we only told fusion reactor to hold one time.
David Tattersal 51:46
So that's really and that's that capability, we've actually applied for a patent for that capability, because that enables us to control of the in in a production environment. So there's a couple of issues just sort of, on a side note, why would you not use a production a debugger in production, there's two main reasons. The first reason is performance. So a debugger would put the JVM into debug mode. And there's also sort of a debug transport protocol that set up between the machine that you're debugging from, and the target machine, we don't have any of that we're inside the JVM. And we've coded directly at the debugger through something called JVM, ci through the tools interface. And we don't put the engine into debug mode at all. So when the debugger is not running, the overhead is zero.
And the overhead when the debugger is roaming is from really planning is so blessed, less than 1% performance hits. So use this
site. Cool. This could be a, you could have this across the whole cluster of servers, or
David Tattersal 53:07
Yeah, you couldn't if fusion reactors installed, then that capability would be available on every single server.
So yeah, it's really, really very, very cool. And if we go back in, just to show you that, you know, it's not all fake. You can see now,
this breakpoint fired, we told it to fire one time, it's fine at one time, if I go and edit this.
And if I set that to three now, and then do a confirm, then it goes back fire three times five, zero. And again, if I remember, that's, then you can see the, the browser spinning. And again, we've got the bug. If I click on the bug, then that's myself thread. And again, I can go in and debugging. And if I let this one can see if I don't change the variable. We're just like this resume, then we'll get the error.
Alright, cool. So great. Yeah, great for figuring out stuff that's going on in your production app, right? Absolutely. Yeah.
David Tattersal 54:29
okay. And we can see here in the alert. So I'm actually I've got this divide by zero era. So the cloud also detected that I've got this particular OSI setup and alerts for this. And as that alert or as that error occurred, the alerting engine basically fired off. And that, you know,
alerted me through the, through the user interface. And, of course, you can also get
an alert like I mentioned right at the start, we go into the alerting section.
And these are all the different alerts which are coming up. And then if I click on the checks, these are the checks, which I've got. And this one here, the first one is, this is the, the check that I put in. So if you can read that, and also teeny, tiny corner also TVs, let, let me see if I can, if I can just increase the size of that. That's much better. Yeah. Okay. So this is for I was checking for status 500. And
this was my check. So I was checking
for application application, hurricanes, it should be
David Tattersal 56:07
application request status 500. And I've got a warning threshold of 115 hundred era and
a or a threshold of three. So if I get three of these errors within a time period of 15 minutes, then it's going to fire an error words. And you can also see we've got the time period which this
David Tattersal 56:39
this alert should run in. And we've also got a cool down period. So very often, what you're trying to do with an alerting system is not get overwhelmed with alerts. And because that's also you know, that then you just get sort of false positives. So we built a cool down mechanism,
what, what does that mean? It feels like it's called
mechanism is it what that will do is, if you've got an alert for something, and then you set a cool down mechanism, that alert will not fire for that cool down period. So, okay, so I'm fine. If if you get that alert, you wouldn't get another one for five minutes. In this case, actually, or whatever number you put it in there, or however long exactly i level one, right, you say. And we can see here the the subscriptions, this looks a little large numbers
have increased the size of it. And but you can see the subscriptions are basically the bills are telling fusion reactor cloud how we wanted alerted. So you can see these are the integrations that we've got here. So email, HipChat,
David Tattersal 57:55
a web hook, Ops, Genie pager duty and slack Victor Ops, and in this particular case, I set up an alert to alert the CEO via my hip chat channel. And if I go into hip chats, just a sec,
just bring that up for you. So
yeah, this was the alerts on got this
or is it now? I am this was the one does another one come in as well, this is the divide by zero error, it's
not showing your HipChat screen. always done.
Okay. Sorry. Just let me see if I can.
Well, that's cool. That you see now I can see it. Yeah. Okay.
David Tattersal 59:01
That's my, that's my hip chats. And you can see this was the alert that came in 522. And so I'd see this directly. So as soon as that alert fired, you know, you don't need to watch the application all the time, it will just integrate into whichever tools you're you're using. Hmm,
that also gives you an external record of what alerts have occurred.
David Tattersal 59:36
Yes. So he can see all the alerts. And like I said, before, you know, he, you've got a detailed breakdown, these are all the errors, or I can show any alert, which has come up or I can show just warnings, for example. And if I go back to the overview screen, then I can also see instantly whether I've got errors or warnings.
That's all shown here.
Gary, it's great dashboard, they're showing you what's going on with your cold fusion service. Right. Yeah, and
gets back to
David Tattersal 1:00:23
back to the the graph. So that's, that's pretty much fusion reactor cloud. I think that's shown that the main capabilities were probably run out of time name. I don't work with board everybody to death. But we've been going for longer than an hour.
Yes. No, I haven't been bored to death. So I don't think any listener bored to death? I hope not. If you're concerned about your service crashing or being slow. And it's actually pretty fascinating to be able to see all this
detail, you can get control.
Yeah, it is really
David Tattersal 1:01:05
pretty amazing. Actually, what we can do name and like I said before, you know, we were just building more and more capability into into well into fusion reactor and into the cloud. So stay tuned. So for the future, there's going to be more collaboration, more artificial intelligence coming into the products and a bunch more features as well. So we've got a ton of stuff planned for fusion reactor and fusion reactor. It's a climate. That's great.
So let's just stop screen sharing. Come back.
Go. And let's just talk about what
fusion reactor so that's, that's very, very dark. Yes.
Well, it's dark in Germany right now, this dies because it's like 30 at night. They don't go on. So what exactly did he you know, what exactly does it cost to use fusion reactor cloud? Okay, so it starts at $99
for enterprise. And it's $149
David Tattersal 1:02:20
a month for fusion reactor ultimate. But don't forget, that includes fusion reactor on premise. So everything you've got with fr on premise, you'll get with the fusion rate, it's a closed license, so you don't need to buy, you know, usually don't need to buy two products that you get cloud and you get everything which is on premise also.
Okay, so that's $99 a month per server that you're you're monitoring, or you have have that metered version if you're using a Docker cluster, where you need to pop servers in and out, right. And in those cases, if you so let's say you've got,
David Tattersal 1:03:03
you've got a Docker instance, or a number of Docker instances, then, like I said before, as those come on line, we would basically bill on demand, and we're billing based on minutes. So minutes is the lowest denominator, so you don't pay for each minute that you'd actually use fusion reactor for if you're doing the on demand billing, and and roughly what point does it make sense to switch from on demand to reservation, and well, we don't charge that much extra for on demand. So it's, it's 10% more, I think, I'll, I'll take you Yeah, but if you've got, you know, if you know, that you've got a server, and the thing is certainly a lot of the cold fusion community, you know, they've got a server that servers on all the time. And for those customers, it's, you know, basically, it's better just to do a reservation. And then if they do, you know, if they did bring him on the server. So, for example, they might bring, I don't know, they might bring a staging server up just, well, their applications point where they want to test on then, and that's maybe only up for a couple of days, then in that case, you know, they could just put it on on demand, they don't need to pay for the full month, and they just pay for the couple of days that we were using the staging, so
and D. So anyone can do that. If you have an account with
David Tattersal 1:04:41
yourself a if you've got a cloud accounts right now, if you go into the websites, there's a page just for fusion, or it's a cloud,
you'd need to contact sales. So if you'd like to try let's just get in touch with the sales team through sales at fusion dash reactor dot com, and we'll create you a trial accounts. And then Off you go, and you've got two weeks, just like you do with fusion reactor, you get two weeks of ultimate and
then afterwards, you can decide whether you want to continue if your credit card into the application into fusion reactor cloud, then they'll just start start billing. And that's it. And then you get every month it says how many minutes you Yes, exactly. If you've used if you've done on demand it live to tell you
what your reservations were. So you might have two or three servers on reservation which are reserved and then it will tell you plus you've got so many minutes of on demand usage. That's great.
Right. So let's just switch gears for a moment. How did CF
camp Cove integral I think Charlie was there for ya. Ali was there Yeah, it was really good. It was great. We love going to see if camp
David Tattersal 1:06:17
it was it was really good. You know, we have a lot of customer interaction. It's always great to meet meet customers. And generally there's, you know, we don't get it so often that there's people coming you've not heard of fusion reactor. So, you know,
it's we're not necessarily going and talking to new customers all that we do sometimes, but it's really nice to, you know, to see customers meet them here. They're using fusion reactor and have the benefiting from it. That's always very rewarding for us. And what do you know what the next conference you guys are going to so next conference that we're going to that I'm going to his death Nexus in Atlanta, so definitely vs. Java conference. And I think that's on the 23rd of fab 23rd to the 25th, I think I'll 24th and that's in that Lancer, the Congress Center in Atlanta, and it's actually it's the second largest Java conference in the States.
So we sponsored it last year. And it was really great. You know,
David Tattersal 1:07:41
third, we, you know, we didn't really know anybody were sort of a newbie in the, the global Java monitoring space. Everybody had a noses in the CF world, but in the Java world, where some of the new kids on the block, but what was really refreshing for us, and really interesting was the feedback we got for the for the low level capability, you know, for the debugger and the profiler. It was the feedback was amazing. So made a lot of contacts there. And yeah, we're looking forward to that next.
Great. Well, you know, I'm glad you support
so many conferences around the world, both the cold fusion and Java. So, you know,
I know sometimes people think cold fusions, you know, not not the world's healthiest language, you know, maybe it's dying or something. It's not
true. Not true. Yeah, I know, it's alive and kicking.
Yes. So what would it take for it to be even more alive in the coming year? Um,
David Tattersal 1:08:51
yeah, that's good question. I think, you know, we've sort of talked about this in the past as well. I think it's all you know, a lot of it's down to, to what Adobe does and how Adobe promotes the language. And essentially, it's quite interesting. They also I don't know if they're going this coming year, but they also sponsored def Nexus next year. So they were there on a stand and talking to, you know, Java developers about the capabilities that you've got with cold fusion and why it's still, you know, a great language, so, files into Java, so, you know, yeah, right. Exactly. And if you want to call pieces of Java from it, it's very easy to do so. Absolutely. Yeah. So, you know, Adobe, they're talking about all their their planning for the next major release of CF, which is ether, cF 2018. So assuming that's going to come out next year, and some interesting features and
I I'd hope cF 2018 comes out in 2018. I mean,
that would be a little strange if it didn't, right, exactly. Yeah.
Great. Well, thanks so much for being on the podcast, David. And if people want to find you online, what's the best way for them to do that?
David Tattersal 1:10:23
The best way to do man is generally well we've got if they go onto the website fusion reactor dot com.
From there, they can basically contact us either by telephone or contact us by email.
They can also interact through the we've got Google Groups, we've got Twitter, we've got Facebook accounts, everything's basic links from the from fusion reactors homepage. So yep, please feel free. If you've got any questions, one, learn more about the cloud. I want to try it out.
Please feel free to to get in touch and everything's accessible through our website fusion reactor dot com.
Fabulous. Well, thanks for being on the show.
Thanks for having me as ever, so it's been great and look forward to talking to you again.