Coming up on the show
we take a look at the new service map capability
that provides dependency discovery and mapping across Windows and Linux
in the cloud, On-prem or hybrid environments.
We'll show you how it helps you to automatically discover app and consistent dependencies
to accelerate troubleshooting and root cause analysis,
and expedite your app and work load migrations
when you're migrating to the cloud or other destinations.
Microsoft Mechanics
I'm joined by Nick Burling who leads the team-building Service Map, welcome.
Hey Matt, great to be here.
So with the complexity and dynamic nature of today's applications,
Everyone's always looking to improve their troubleshooting, right?
Exactly and really that's what we're trying to help here with Service Map.
One of the biggest problems we see with our customer IT pros
is just understanding the interdependencies across all of the different VMs
and systems that make up their applications.
Usually our customers have a variety of manual tools and processes that they're trying to cobble together.
And we're really trying to eliminate that error-prone manual work
by providing automated discovery of application and system dependencies.
So, you're not looking at dependencies like versions of the DotNet framework or Java?
Great question.
No so really we're looking at this from the perspective of network dependencies
but at the OS at the process level.
So if you think about this by being able to
automatically discover all the different processes.
Another way of thinking about it is, if it talks TCP we can discover and see it.
So what you can think of is
what if I have all my VMs that are part of an app?
And what if I can discover all of my Windows and Linux systems?
If I can discover the components running on my front-end web tier.
But then, be able to see all of the different connections
from that front end web tier, through my app tier, and back through my database.
Then when you start to overlay that with
performance data with change detection.
All the things that we have within the log analytics analytics platform.
Now you can start to really start to narrow down
quickly isolate bottlenecks and pinpoint where the problem is.
So what types of processes might you detect?
So you mentioned Java and DotNet before.
Certainly Java applications and DotNet.
Really the key thing like I said if talks TCP, we can discover it and see it.
So that can be packaged applications.
That can be homegrown applications.
Literally anything that's firing up and making connections in the OS,
we're going to be able to discover and see those dependencies.
So can we see it in action?
Absolutely yeah.
So, let's take a scenario.
Let's say I'm the web admin within my ACME web application environment.
Let's say I just got an alert that said,
this morning around 4:00am people started complaining that the app was having issues.
We're seeing exceptions and people complaining about slowness.
So how would I normally tackle that?
Well, I might be able to pull up any of the free web availability monitoring tools.
As we can see here my ACME web app
is green across all of the different geos that were deployed.
So what do I do next?
Well I'm the web admin.
So I may want to come in and start to look at performance for my web server.
So I've got a simple little search that I saved here.
We're using the log analytic solution right here.
And what we've done is just do a simple search to be able to show me
and graph out CPU performance for that web server.
This thing is not even batting an eyelid.
It's less than ten percent CPU utilization
So now what do I do?
So typically we would see customers get on the bridge call.
Everyone's got their own tools saying it's not their problem.
Well, what I've been able to do
is actually go sign up for the insight and analytic solution,
which is part of the operations management suite.
And that's how you actually get access to service map.
So here what I'm looking at is my OMS dashboard.
You can see an overview of all the different solutions that I've got.
Here we can see service map.
Now before I actually jump in and start showing this.
I want to show you how easy it is to get started using service map.
So notice right here we've got 18 different systems connecting in?
All I need to do to get started is come to the configuration page.
Download the Windows or Linux agent,
and get it installed on my systems and we're up and running.
Now in the interest of time
I've gone ahead and downloaded
the Windows agent here and our dependency agent onto a VM.
This happens to be one of my front end web servers.
All I have to do is double click that
and it's going to walk me through a simple wizard to install it.
Now i'm using an interactive installer.
Obviously, you can install this using silent installation.
You could use config manager, you can use Chef Puppet.
Really any of your your software distribution tools.
You can fully automated that process?
You got it, exactly.
So now if I refresh my screen,
we should see that number go up to 19
showing that agent is automatically connected up into the server and we're actually starting to monitor it.
So there we go, we can see the 19.
So now let's drill in.
Right now I've got my front-end web servers here.
You can see on the left a list of all the different systems that are connected into service map.
A mixture of Windows and a mixture of Linux.
and here's our front-end web server.
Now as I zoom in a little bit, what we're seeing is all the TCP connected processes
running in that particular OS.
And the key thing, there are other processes running in the background, right?
But, really what we're interested in
one of those things that are firing up and making connections that are
interrelated that might have something to do with this issue we're trying to troubleshoot.
So I can see my ACME customer portal application.
And right off the bat, you're going to see a whole bunch of back-end systems here.
So let's say I go expand one of these.
Where you're just seeing the IP address here in a port.
What that's showing you is a system where we don't have an agent installed,
it's a remote system.
But at least I can still show you that there is a dependency there.
Right off the bat your eyes are going to get drawn right here, right?
And as I expand this out,
this is actually our application server.
We can see the Tomcat process.
And we are actually showing that there's an alert on that particular system.
So as I load this up, what we're doing here
is were actually integrating it with log analytics.
So on the back-end were able to pull things like alerts and we'll talk about other different types of data.
In this case we can see as I expand
this particular machine, my app server
is showing that it had high CPU and it cracked across a threshold of ninety percent.
So clearly something I may want to drill in.
So as a reminder, I'm the web admin.
I don't own that machine, but I've been able to very quickly
start to drill in and isolate an issue here before ever having to go get people on a bridge call.
Yeah and it's across Windows and Linux as you said.
Exactly right.
Now that we see there's an issue there,
let's actually shift our focus to that particular application server.
Now what I've done is load up a map.
And we can actually start to see our three tier application right here, right?
I've got my front-end web servers,
Tomcat and I've got a back-end database.
But we're seeing another couple interesting things.
So actually there's this backup process right here.
It's actually trying to make make a connection somewhere.
Where you see that dotted red line, that's actually showing you failed connections.
And as I start to think about that, okay a little strange.
There's this backup.PL (Perl).
In fact, I don't know about you but I don't know many processes that are Perl that are back up products.
And we can see right around the same time there's the CPU Issues.
But, there's another really important thing.
When I come back to our summary here,
we're actually able to go in and look at other kinds of things.
Now remember, I told you that people start to complain about that app at around four in the morning.
So let's go back in time here.
So I'm going to go and set this up for 4:00 am.
I'm going to make it a 20-minute window.
We were looking at a 10-minute window there so we can just see what's going on.
So now it's going to load up a view of that exact same machine.
There we can see my backup process and those sales connections during this time ranges well.
We're seeing more of those alerts.
But, you'll see something else here.
We can actually detect that there was a change, a software change
made to the system right around the time the people started to complain about these issues.
In fact, it's actually that backup process.
So again, kind of a weird backup process
right around the same time we're seeing these issues
It's trying to make connections out to remote systems but that's failing.
It's starting to look a little bit strange here.
So now let me go in and drill into log analytics
so we can start to see if that thing actually seem to be associated with the performance
problems that we're seeing for that one machine.
So what I've done is I've clicked into log analytics.
Here we can see that one particular change event.
But, I want to actually look at performance.
So to keep things fast here I've gone ahead and saved off a simple search.
It's just going to show me CPU performance for that particular VM.
We can see some nasty spikes right there.
I'm actually going to change this, let's go look for a bit of a broader time range over the last six hours.
It's continuing to hammer the CPU.
Let's go to the last mile here and look at
what are the top five processes on that system that are chewing up the CPU.
As I highlight the backup.pl process it's looking pretty guilty.
So your root cause analysis you have identified this the exact problem?
Exactly right, exactly right.
So, we can automate a fix for this?
Great question.
So as we start to think about all the alerting and the capabilities
that are part of OMS as a whole.
As I click into the alerts view, here's our high CPU alert.
I'm going to into the Edit view.
And one of the things we'll see over here to the right
is there is a set of actions you can take off of any of these alerts.
So you're requisite go send an email.
Other things like web hooks.
Right, so I can start to integrate into 3rd party systems.
But, if you look right here, Runbooks right?
So I could come in.
Let's say for example, I see that process and it's looking conspicuous like it might even be malware, right?
It's getting installed and it's just hammering the CPU and trying to connect out.
Well I could actually execute a quarantine VM Runbook from right here, right?
I can just automate that and pull it off the network.
Particularly if you're in dynamics scaling environments.
You don't worry about the app going down when you're taking an instance out.
So absolutely you can tie in automation.
You can Isolate that one and replace it with another.
Exactly right.
So this troubleshooting an issue with a production application as an example.
But, this could be very useful in dev and test environments as well.
Absolutely absolutely.
So a lot of our customers will start to look at leveraging service maps and it's capabilities
earlier in the dev cycle as well.
Think about as I'm starting to stand up my apps in a pre prod environment
I'm doing testing and I wan to verify that all my network connectivity is looking right.
And I want to identify issues before I ever roll them out to production.
So we see a lot of customers using it really across all the different phases of the app life cycle.
So this capability as well as level of visibility
would be very useful in scenarios where you need to be
aware of their system dependencies for migrations, for instance?
Right, absolutely.
Particularly now with cloud migration being such a a hot area.
And that's exactly right.
So if you look at the map and this visibility that we're giving,
One of the things that we see with a lot of customers is
challenges around migration where they're not aware of these cohort systems.
They really need to move together.
Whether that's I'm moving in AD form or i'm moving out my databases.
What apps depend on those databases?
What are back-end and front of dependencies that I may not be aware of.
Before I actually start to move that workload, I want to make sure I'm not going to break anything.
So, if you look at this view all of the API's that sit behind this
are available as external rest API's to customers, partners, etc.
And here's a little example of a dashboard we've put together.
It's basically a migration report and it's leveraging that API right in Power BI.
And we can start to have some really nice capabilities where we can
get a list of all the different servers that we need to migrate.
I can click here and start to filter.
This happens to be all the systems that are running Windows.
I'm not just seeing a list of the servers, I also see all the different dependencies.
I really can start to share that off across my other tools and processes within the org
as we're going through that migration process.
And migrate the whole app and all of its dependencies so you don't miss anything?
Exactly right.
The number one thing that we see with customers is where they miss those unknown dependencies.
And that can break services now, but then also when they go to stand it up in the new environment
things aren't configured correctly.
And this will really help you create a very detailed inventory of all the VMs you want to migrate
for that particular app.
That's exactly it.
So when we think about the next steps, where we going?
Great question.
So, as I've shown you here some integration with alerts and change.
We're really just going to continue down that path.
We've got some really exciting new services that are part of OMS.
Both in the insight analytics capabilities and automation control, like updates.
What if I could show you if any of these systems were missing critical security updates?
What if I can now start to be dependency aware when I'm scheduling my updates?
I want to build my maintenance Windows around all the systems that need to be updated together.
Other services like backup, right.
I want to be able to do dependency and application aware back-up,
and site recovery.
Migration in this case is another great one, right?
Where you can actually use Site Recovery to fill your apps over to the cloud.
We're gonna be looking at tying these things together to be able to automate a lot of that.
Fill them all over and ensure that the relevant VMs start in a certain order.
Exactly right, as you're building a recovery plan you want to make sure that sequence is corrent.
We can automate a lot of that manual process.
Awesome, so how do people get started today?
It's easy, you can come to microsoft.com/oms
and there's a URL right below that you can go to, a friendly one.
There's really a couple easy ways to get started.
One, it's free to go create a subscription.
Connect some VM's and you're off and running.
You can even come in and just get access to a demo
where you can really come in and play with one of our environment even before you start to deploy it in yours.
Great stuff, well think Nick for the overview.
And of course, keep watching Microsoft Mechanics for the latest in tech updates.
Thanks for watching and goodbye for now.
Microsoft Mechanics
www.microsoft.com/mechanics