PurePerformance - 073 Understanding Azure Service Fabric with Sravan Rengarajan

Episode Date: October 22, 2018

Did you know that Azure Service Fabric is used by most of Microsoft’s global high scale services such as Bing, Dynamics or Xbox)? It’s a battle tested distributed systems platform that enables dev...elopers to deploy, manage and scale their microservices. In this session we have Sravan Rengarajan, Program Manager at Microsoft Azure, giving us an overview of the key use cases, how Service Fabric started and in which direction it is heading. We also learn how you get your own free local version of Service Fabric and why Service Fabric gets us towards real Serverless computing. Additional information can be found on the Service Fabric GitHub codebase – yeah – its all out there on GitHub!https://www.linkedin.com/in/sravan-rengarajan/ - Sravan on Linkedinhttp://aka.ms/servicefabricdocs - learn more about Service Fabrichttp://aka.ms/servicefabricmesh - learn more about Meshhttp://aka.ms/tryservicefabric - free clusters to party on!https://github.com/microsoft/service-fabric - GitHub codebase

Transcript
Discussion (0)
Starting point is 00:00:00 It's time for Pure Performance! Get your stopwatches ready, it another episode of Pure Performance. My name is Brian Wilson and with me as always is my trusty sidekick and overlord Andy Grabner. Hello Andy, how are you today? Oh overlord, what's that all about? I always refer to the Austrians as the Austrian overlords because you guys Because you guys are just so much smarter, it seems, than at least us SEs over here. But, yeah. Nah.
Starting point is 00:00:50 Well, at least I think we must do something right over here on this side of the pond. Because as we all just discussed, it's really quiet these days here in the summer months in Europe. Yeah. And it still seems we get stuff done somehow. You have all those days off, all that beer, and you still get work done somehow but uh you have so many you have all those days off all that beer and you still get work done and we don't it's amazing yeah i'm a little under the weather today so i'll be probably a little bit more of a calm person but since uh as the airing of this will be right around the corner from halloween i'll say happy halloween
Starting point is 00:01:19 to you because you know that's such i have heard that's a huge huge holiday in austria probably bigger than like i don't know i think it's the biggest holiday in Austria, isn't it? Of course. Well, at least in the stores it looks like it. No, seriously. Oh, really? Yeah, we do some Halloween. Everything that is commercial and that sells makes it to everywhere in the world.
Starting point is 00:01:40 So we have it too. So I want to introduce, and hopefully I pronounced your name correctly, and you can kick me later if I got it too. So I want to introduce and hopefully I pronounce your name correctly. And, you know, you can kick me later if I got it wrong. But Shravan, if you are on the line, you know, hopefully you are there. Are you there with us? How are you? Yeah, I'm here. Hey, thanks for having me, guys. And you pronounce my name perfectly fine.
Starting point is 00:01:57 Don't worry. Perfect. I didn't try the last name, to be honest, even though I could try. That's quite all right. Shravan, can you introduce yourself, who you are? We know, well, this is based on if people read the description of the podcast, we know you're a program manager at Microsoft, but what exactly are you a program manager for? And give us a little background. Yeah, yeah, absolutely.
Starting point is 00:02:21 So I'm Shravan. I am a program manager in Microsoft Azure in in the Azure compute group. And I work on a product called Azure diagnostics. So that's how customers who use the ServiceFiber platform to get the data in their applications, in events from the platform itself, and then also performance counters from the infrastructure, which their code runs on, getting all of that data into a tool like Dynatrace or Azure Log Analytics so that they can visualize it, create alerts, monitoring, et cetera. Cool. Hey, and I know you're obviously from Microsoft, but we always try to draw some parallels
Starting point is 00:03:14 so people understand the terminology. So that means you are working in the compute part of Azure, and that means Service Fabric is one of the compute offerings. Is there an equivalent to Service Fabric in some of your competitors' cloud offerings? Yeah, I wouldn't. I would say there isn't quite a direct equivalent,
Starting point is 00:03:42 but I would consider Service Fabric as a layer in between IaaS and PaaS, which are typically the compute products that all the cloud providers offer. I would say we are pretty similar to something like GKE, Google Kubernetes Engine, or ECS, which is Elastic Container Service. They also have a Kubernetes offering called EKS. So that's with Amazon Web Services. And similarly, Azure also has a Kubernetes offering called Azure Kubernetes Service. But each of these things are what we call container orchestrators. So if you guys are familiar with containers, this is kind of what tells you which nodes or which machines your
Starting point is 00:04:25 container should go on and schedules the deployments and manages those resources for you. So Service Fabric does all of that as well. But before containerization took off, it was actually just primarily used for microservices in the form of processes, or you can even just take an executable with all of its dependencies and then deploy that to our platform and then the platform is smart enough to know like we should put these microservices on these machines to have the best uh you know failover resiliency etc cool so as a developer then if i if i'm using service fabric and obviously you moved now to containers, what's the typical way of me as a developer writing a microservice? That means I upload my container or my Docker file or how does this work?
Starting point is 00:05:17 So containers are a way to – I guess it's an application of the microservices paradigm. So with traditional development, you usually have a lot of apps have these like three tier architecture, right? You have some sort of maybe like web or front end UI. And then you have a middle layer, which has a lot of business logic and then more processing. And then finally, the third, the deepest layer is some sort of database or data store. And typically when customers or when anyone does an upgrade to their application, all these components, each or each of the three components are extremely tightly coupled. So you have to upgrade the entire thing, even if you're just making like one line, a one line change or so. And then additionally, the upgrade usually just involve copying that into another virtual machine entirely. This can be very like error prone, very expensive, very time consuming. So with microservices, the idea is we compartmentalize
Starting point is 00:06:17 functionality in your application so that you have individual running components that somebody and basically these processes run on their own. They can be upgraded on their own. They can be scaled on their own. So I'll give you an example. Like let's say you're running an e-commerce site and you can have a microservices or a microservice for your payments part. You have microservices for your shopping cart, microservices for your product catalog.
Starting point is 00:06:43 And if you want to make just a change to the shopping cart part, you can just make that change and Service Fabric will only update the bits for that microservice running in your deployment and everything else will be untouched. And that gets independently versioned. So you can roll back just that part if you want. Let's say you're experiencing a lot of traffic on just the payment side and you need to scale up so you can easily just scale that up without having to copy over the entire application if that makes sense yeah that makes a lot of sense cool and and uh from and service fabric if i am developing a microservice coming back to your examples they just brought from let's say the shopping cart do I as a developer need to define the dependencies that I have
Starting point is 00:07:27 so that Service Fabric actually knows who am I depending on or is this something that I have to kind of not declare? This is something that through our SDK, you can easily have an inter-service-to-service communication or if one of your services has dependency on another, that's totally fine. One of the things I also wanted to talk about was the thing with data. So the bottom tier of the monolithic application, the database, right, that usually requires a whole network call to some other store like SQL Database
Starting point is 00:08:04 or like MongoDB or something. And then that call has to go fetch the data and then come all the way back to your application. But with Service Fabric and then I think a lot of other orchestrators are providing similar capabilities, we have something what's called stateful services. So now you don't need to take a dependency on an external data store. You can have your microservice itself hold all of your data in memory, which takes no dependency on network, reduces latency, and is a lot more reliable. You can work with your data just as you would with any sort of collection in.NET. You can literally just type in the data structure, iReliableDictionary or iReliableQueue, and all of your data will just live in memory that way.
Starting point is 00:08:50 So we see a lot of customers who require this increased throughput and low latency, such as for gaming or for high-frequency trading, using this paradigm. For that data, is that read out from a database? Is it written as a file and deployed along with it? Is it either or? Like, what's that situation? I'm glad you asked that question.
Starting point is 00:09:15 So the main pro for this method is the data is co-located on the node itself. So the data, I believe the actual implementation of it is it is in a file like on the nodes. And service fabric is obviously like if that node goes down, like you are at risk of maybe losing that data. So service fabric is smart enough to make sure that your stateful service is replicated across multiple nodes. Usually we recommend at least three replicas.
Starting point is 00:09:43 OK. And that's what we call call one partition of your data. Okay, so then obviously when you're doing upgrades, you're gonna do rolling upgrades, so this way, you never look at. Yep, and that's another thing with service fabric, compared to Kubernetes or other orchestrators. So a lot of these problems like naming and service discovery,
Starting point is 00:10:07 routing, rolling upgrades, we have that built into our platform with ways that we think would be beneficial to users. For someone using something like Kubernetes, you might have to integrate with other open source technologies to build that in. You might have to do more like plug and play. It does give you more freedom in that sense. But with service fabric, you have rolling upgrades, for example, built into the platform. I think one of the cool things that you talk about there is you're building upon the long history of experience of Microsoft in how to deploy these things that sounds like you're saying which is actually I think a real good benefit because anyone else doing different kind of deployments of different technologies they're going to be figuring out what they think is best practice or looking at what they might be able to do whereas you know
Starting point is 00:10:55 you're offering what you have years and years and years of experience doing so that's pretty cool yeah and then more to that so this was was actually started many years ago, like when Azure first came to be. And we were working on bringing SQL Server into the cloud. So I'm not sure if you guys know, but actually many, many internal services such as Azure SQL DB, Cosmos DB, and not just Azure services, but like Dynamics and Bing, they all use service fabric to power their compute. Well, that's cool and impressive and also obviously gives your customers the, I would say, the good feeling that they are not just using a new technology
Starting point is 00:11:41 because you came up with a service to just fill a gap with your competition. You actually use or expose a service now to the public that you have battle tested and used over the years. And you know it works. So that's pretty sweet. Have you seen a change? Because you mentioned, and correct me if I'm wrong, but you mentioned earlier Service Fabric has been around for a while. It used to be as a developer, you defined your processes and your applications and then Service Fabric took them and scaled them up and down and now it's moving more towards containers.
Starting point is 00:12:17 Is that shift complete? Meaning, do we see 100% of new development that happens on service fabric being container-based, or do you still see kind of somewhat of legacy approaches? Yeah, I would say it's a mixed bag. There are still folks who don't want to fully move to containers, and they prefer just developing.NET processes. So we have our own programming models as well. For stateful, stateless services,
Starting point is 00:12:48 we also have an actor programming model. And a lot of customers use that. But to your point, we do recognize and we see a huge trend in containerization and folks just wanting to package. We see containers as like a packaging technology. So folks packaging all their dependencies into one container and then using service fabric
Starting point is 00:13:08 to orchestrate all of their containers. We have customers like Alaska Airlines, for example, is a huge proponent of that methodology. And then to continue on that, though, one of Microsoft or I would say Azure's plays is the lift and shift, which is basically if you run a lot of you already have your own data center, you run on prem and you're thinking about moving to the cloud. But you don't want to really like rearchitecture everything and you're worried about security security or network issues or whatever. So basically, lift and shift promises that you'll be able to lift all of your current workloads and bring that to the cloud with ease. So with Service Fabric and microservices development,
Starting point is 00:13:54 there's a lot of apprehension that, oh, microservices seem cool, but I have to dismantle everything and maybe put it all back together. And I'm not sure if it's going to work the way I want it to. But with service fabric, like I like to think of it as the customer journey as a spectrum. So you can first bring your workloads, lift and shift them to service fabric just by taking the executables and their dependencies. So we call that running guest executables and their dependencies. So we call that running guest executables. Or you can package your workloads into containers. Or if you already have it running in containers, that's perfect. You can bring that into service fabric,
Starting point is 00:14:32 and then we'll work with you over time to compartmentalize certain parts of your application into different microservices. So it's not like you're going from zero to 100 overnight. It's a journey, and we realize that as well. Yeah. It's actually fascinating because we have been – some of our colleagues have been writing blogs about the approach of lift and shift but then breaking the monolith. So with our product, with Dynatrace, we can obviously live on the, let's say, more the classical application architectures like a monolithic app. We can tell you what type of code gets executed when certain endpoints are hit and what are the dependencies to enter the backend database. And with this information, you can actually make smarter decisions on what pieces of the monolith you want to break out or which pieces
Starting point is 00:15:25 of the monolith you want to rebuild and then latch on top as a service. And it seems like you're seeing the complete same trend here. And the first piece is lifting and shifting into the new, into the cloud world and then breaking it apart. You said compartmentalizing um so i think that's that's actually great to see that this also happens obviously uh in in in the azure world um is there now one thing you mentioned earlier and i know it just came with one of the words you said you mentioned gaming um and and it's interesting that you mentioned gaming because we had a previous recording. We recorded it yesterday, but it probably aired like two weeks ago. And we talked about Minecraft and monitoring Minecraft with Dynatrace with our colleague Mike Villager.
Starting point is 00:16:25 So is gaming really – did it just mention it just by – was it a random thought or is this really something that gamers use as well oh yeah absolutely it's i would say it's not just a random thought uh we have a new customer actually um called next games and they have a augmented reality mobile game called the walking dead i believe it is so you can use this app and you can walk around like your office building and then you'll be able to see these zombies and then you can like buy guns so that entire wrong there yeah exactly so that requires like thousands of connections connecting to thousands of devices um they use stateful services as well as well as stateless services, which is obviously the opposite of that. But yeah, gaming is one of, I would say, one of our big focus verticals. A lot of game development, not just with service fabric, but with something like Xbox as well
Starting point is 00:17:19 and Xbox Live, which powers millions of consoles connected to one another. So only a few services can really handle that scale. box live which powers like millions of consoles connected to one another um so only like you know a few services can really handle handle that scale and just just to bring it all together then um is do you happen to know offhand if the sign-in for it's a centralized sign-in for minecraft is that part living in the service fabric um I don't know. Okay. Mike was just mentioning I put that pit yesterday and I was curious.
Starting point is 00:17:49 Yeah, because it was really fun because he had this as a side project monitoring Minecraft to learn more about internal architecture and then figuring out how his modded version, where it spends too much time and which dependencies it has
Starting point is 00:18:04 to other services. And then he came up with, well, there's always, when you sign on, there's like a call to an external service. And sometimes that call, you know, took a little too long. And so he was wondering where the call actually ends up. Yeah, I'm not sure if that's, if Minecraft specifically uses service fabric. But I know like other services in Xbox do. Yeah. Now I got another question. So service fabric. So gaming is interesting. Any any other particular areas where service fabric is, let's say, more used than others?
Starting point is 00:18:38 Do you see any trends or is it just across the board? Yeah, it's it's really across the board. A lot of customers, going back to the lift and shift story, so like a retail provider, like an insurance company, they have a bunch of internal software that they use, and they want to just move to the cloud in general. We saw with the trend many years ago that IaaS was the big thing. That's what AWS did really well, basically just copying over your virtual machines. But now people want more layers of abstraction and more convenience, right? Because you don't want to be paying to
Starting point is 00:19:18 manage a bunch of VMs or you're only paying someone to do that. You'd rather just focus on the actual development of your application. So a lot of these folks, and then another thing is Azure has a service called Cloud Services, which was our, we like to call it PaaS V1. And that's what people are using first if they didn't want to use virtual machines. But now people are migrating from that to service fabric. They're doing what we call app modernization, which is, you know, breaking out their monoliths into microservices, adopting containers. So any anyone really who wants to use containers wants to use wants to orchestrate them on Windows or Linux. So that's another thing. Service fabric is available for Windows Server, but also for Linux as well.
Starting point is 00:20:07 It did start out as a Windows only thing initially, but just as Azure used to be called, Windows Azure, like we're more than Windows now. We wanna embrace open source and everyone. We're actually seeing a lot of customers don't wanna pay license fees for Windows so they prefer Linux and we service harbor came out with a Linux offering it went GA I believe last year Linux containers are miles ahead of Windows containers as
Starting point is 00:20:36 well so we have to be able to support these and deliver a great experience to stay stay ahead of the game right I believe if you run a.NET Core service in Linux, there's no license for that, correct? Yeah. You're paying for that. Yeah, I just think that's really awesome. Azure's really come a long, long way. One thing you mentioned in here,
Starting point is 00:20:56 and I think we have a very common connection here, right? We're very much into servicing the multi-hybrid cloud and all this right whether or not you're running in your own data center back and forth in the cloud other clouds um you put a note here that uh service fabric can run in your own system yeah between can you go into that a little bit because we see that as a really big trend on like once people are becoming really mature in what we call the enterprise cloud, that there's this crossover. I'm glad you mentioned that. Hybrid, the hybrid strategy for Azure is extremely important.
Starting point is 00:21:32 Like we realize that customers, obviously, like many people want to adopt the cloud, but maybe due to compliance reasons or for whatever decisions, they want to also have some workloads on premise as well. And that doesn't mean that they should miss out on everything that the cloud has to offer. So we do have Service Fabric, I'll say, has three products. So we have the offering on Azure itself, where you can orchestrate your containers and your microservices, all the infrastructures hosted on Azure.
Starting point is 00:22:03 You can also get what is called service fabric standalone. So the entire platform downloaded in binaries and you can orchestrate that in your own hardware. So we have, and that's also available completely for free. So basically the technology that powers like millions of cores in Microsoft, that platform we're giving away to you to use in your own data centers and orchestrate your own containers and microservices and get all the benefits that you would normally get on Azure. And then the third, so I would say that's like the lowest level one where you own the hardware, you're in charge of the platform, microservices and everything.
Starting point is 00:22:46 If you're using service fabric on Azure, then you technically still own the hardware, but we're hosting it for you in our data centers. We actually have the physical servers, and you're just like paying for them. But then the third layer of abstraction is you don't even want to deal with hardware at all. You're primarily just focused on your application container. I have this code and I want it to just run somewhere. I really don't care about what kind of server it runs on. Making sure that it's
Starting point is 00:23:19 replicated across X number of servers, I want you guys to handle that for me. So that's like truly PaaS. And I'll use the buzzword, quote unquote, serverless. And that new product is called Service Fabric Mesh, where if you have a container or a number of containers, you can orchestrate that on Service Fabric without having to worry anything about managing infrastructure and nodes and whatnot. And one more question on this one. I know, Andy, I know you're itching to get into, but just because I know we have a lot, we know a lot of people who like to tinker, including ourselves. So if you were going to, if somebody wanted to play with a service
Starting point is 00:23:55 fabric on their own and download that piece, right, what would you say like the minimum requirements would be to run that, right? Because some things you can, some things people can take and tinker with and explore and learn other things like you know if you're going to try to play around with cloud foundry right you need like a whole mess of servers right so what is that footprint for just tinkering with maybe service fabric on-prem or even if you were spinning up your own in azure just to play with i'm glad you asked that. So our getting started kit, actually, you can download the Service Fabric runtime and SDK for, let's say, like.NET, for example. And what it does, it actually will create a local cluster on just like your laptop. So you'll see if you open up what we call the Service Fabric Explorer, which is our, it's kind of just like a management UI to see what's going on in all your nodes and your cluster. By the way, a cluster is just a fancy way of saying
Starting point is 00:24:49 a group of nodes. So through that, you'll like, you can just download that kit and only have your laptop and do deployments on your local Visual Studio, deploy them to your local cluster, and you can see each of your microservices landing on different nodes from within the cluster that's on your laptop. So the binaries that actually power that is a simplified version of Service Fabric standalone. Okay, cool. Yeah, go ahead, sorry. No, I wanted to go into it and finish your thought,
Starting point is 00:25:26 and then I have a thought and a follow-up question. I was going to say, all you really need to tinker and play around is just a laptop or some sort of computing device, and then be able to download the Service Fabric SDK in the runtime. Excuse me, I have a few more questions if you don't mind. Pretty cool. Hey, so I want to go into serverless in a second, but before we go into serverless,
Starting point is 00:25:51 because you mentioned that term, how do you normally license then? So if I am running on Service Fabric on Azure, what's the licensing model then? Because that's interesting to know, even though a lot of the stuff is is for free what's the licensing model yeah that's a good question as well um the only thing that you pay for with service fabric is the actual infrastructure itself so when you create a
Starting point is 00:26:16 cluster on azure um you get to choose what type of vm skew so how many how much cpu and how much memory you want your nodes to have. And each of those, like if you want a beefier VM, that's going to be more expensive, obviously. So that's the only thing that you're really paying for. You're just paying for the VMs themselves, the actual platform itself. And that experience is completely free. Cool. And is Service Fabric able, I mean, obviously, the Service Fabric take care of scaling my containers. If I run out of capacity, is there some automation where I can then just add additional hardware? Like, obviously, it's Azure hardware.
Starting point is 00:26:55 Is there an automation mechanism to scale it up? Yeah. The hardware that, or I would say like the IS service that Service service hyper groans on is called virtual machine scale sets and they're designed for this very purpose where you have many different virtual machines and you want them kind of all to be similar size and shape right and you might not know how many you want today or i mean maybe a week from now but you want to start out with a certain amount and if i get more, and more traffic into one, then I can definitely scale up. Um, usually we actually see customers scaling out, which is, which means creating more replicas of their microservices on the existing number of machines
Starting point is 00:27:37 that they have. But obviously, you know, that, that, um, isn't fully sustainable. You might get a lot of replicas running on a machine and your CPU is really running hot, then you actually have to either beef up that VM or maybe even get more VMs themselves. And before you move on, Andy, I wanted to ask on that one, with just like bare bones Kubernetes, you would say, I want to have five of these running, right?
Starting point is 00:28:03 And it's going to keep five running, but you can't without using additional plugins, right? And it's going to keep five running. But you can't without using additional plugins, at least as it's been explained to me. You can't say if my CPU gets over 80%, spin up another node. Is that kind of functionality, is the logic functionality built into service fabric so you can say if certain conditions are met,
Starting point is 00:28:20 scale up or scale vertically or whatever, horizontally? Yeah, the scaling out part is completely service fabric scale up or scale scale vertically or whatever horizontally yeah yeah the scaling out part is completely service fabric with the new increasing the number of replicas and then obviously the the VMSS technology is what we use to increase the number of VMs or increase the size of each VMD you have cool so now the the next you know I think interesting thing that he mentioned is serverless. So the way I understand it, the way you, I think, started explaining it is if I have a container, then I just give it to serverless i don't care about how on how many machines it's running you take care of that it is running and that it is accessible yeah yeah and that's exactly it um the word like serverless i believe was kind of first uh popularized with aws lambda functions
Starting point is 00:29:22 which are just very like smallets of code, very event driven. I believe that's actually what powers Alexa skills. And then Azure, we released something called Azure Functions, which is functions as a service as well. But if you really want to dig deep into the semantics, serverless just means you don't have any exposure to the actual services or servers themselves. So we actually saw Google, they announced a serverless Kubernetes like two weeks after Service Fabric Mesh was announced in public preview. And I think serverless, the word is being redefined into just no infrastructure, none of that management at all. But obviously, you can still code full, you know, large scale applications and host them in the cloud, but just not have anything to do with virtual machines. And that's again, to continue
Starting point is 00:30:16 on what you were saying, like that's that's exactly what service fabric mesh offers is as long as you can package your workload into containers, you can even describe how you want the containers to relate to one another. Like you want X number of containers for this application and this many as part of this microservice within the application. These ports open, these ones talking to one another. That's all available with Service Fabric Mesh.
Starting point is 00:30:45 And then what do I pay for? Do I pay for how long Service Fabric keeps these individual containers alive? Or do I pay per request that are handling and the time they take to execute? That's a great question. So I'll back up a bit and say, when we were just talking about Service Fabric on Azure, you're paying for the full VM itself.
Starting point is 00:31:08 So if you request a VM that has like five cores, let's say your workload is only using maybe one of those cores, then you're still going to end up paying for the entire VM itself. But with Service Fabric Mesh, you're actually only paying for what you use so when you deploy your application your containers you get to pre-define that i want my container to only use uh two cores and like half a gig of ram or something and that's all that you'll be billed for while your container is alive so in theory that container could be running on any size vm much larger beyond that but you're just saying this is this this is the requirements of it so that's what you pay for yeah absolutely we behind the scenes run really large clusters with tons of nodes lots of cores and it's a fully like multi tenant
Starting point is 00:31:59 environment so your stuff is right there Brian stuff is running right next to Andy stuff running right next to my stuff. And each of us might be on the same VM, but we're only paying for a fraction of that total VM cores, whatever our container is using. And then are you, Eastern Service Mesh, also taking care of shutting down containers completely? Let's say, you know, know in case there's really no load or do you always keep at least one instance of a container up and running yeah that so the the pattern that we've seen uh with customers so far is there's always going to be like maybe one instance of the container running like let's say you're running back to that e-commerce site example
Starting point is 00:32:42 during let's say your market is in the u.s so during like nighttime hours here uh not many people are probably going on your website so you might just only have one container up and running um or maybe a few but then during daytime or like during the weekend or something like more people are going on your site and that's when you um you'll scale out and you'll have more containers. You'll obviously be paying more because you'll be using more. But you can easily scale in and scale out just with simple CLI commands. And I always say the smaller you architect or the smaller you make your individual containers that host your different features, the better it is. Because that means the less resources it needs.
Starting point is 00:33:24 And then you can potentially at a very low traffic time, everything just scales down to a single instance of every single service. And then it's much more efficient than having a huge monolith lingering around and consuming megabytes of RAM. I will say that with service fabric mesh, we support only containers, but we do see that as a good lift and shift opportunity. So any customer that wants to embrace going to the cloud, let's say you want to go to the cloud because you're tired of hosting your own data center and dealing with servers and infrastructure and stuff. Then Service Fabric Mesh could actually be a great fit for you. As long as you can package your workloads into containers, you can give it to us and then we'll do everything under the hood to make sure it's running and that all the lights are on and et
Starting point is 00:34:13 cetera. Absolutely. Yeah, that's pretty cool. Um, now one, one topic that I want to touch base, you know, is open source. We know that, uh, open source is obviously a big topic in our industry today we know that you are microsoft is contributing a lot to open source how does this look like in the service fabric world is there i mean you know you give away a lot for free but is there any open source initiatives any partnerships that you guys have what's what's happening? That's a great question. So with Service Fabric for Azure, we open sourced the runtime code, I believe on, it was Pi Day earlier, so March 14th earlier this year for Linux.
Starting point is 00:34:57 And there's also like, there's a difference between open source and open development. So we were still doing work on our side for getting like the CICD pipeline and build system fully open source for Windows. But Service Fabric on Linux is open source. I heard a fun stat that it's the largest code base to be open source by Microsoft. Like the code base is even larger than.NET, which is pretty crazy. And in addition to us ourselves going open source, we were embracing partnerships with other open source companies and whatnot. And now one partnership we have in the mesh space is with
Starting point is 00:35:40 Envoy, which is a container, like, trafficking routing technology developed by Lyft, the ride sharing app. So that's the technology we'll be using under the hood to make sure that your containers and mesh are able to talk to one another. Yeah, Envoy just made it into Istio, right? It's part of Istio, too? I'm not sure.
Starting point is 00:36:03 Yeah, I believe so, yeah. so isn't that uh so i mean that makes a lot of sense but is this a little overlapping with some of the features that you guys already have uh uh is this then going to be complementary is it going to be replacing some of your core functionality so so we have a lot, obviously like a lot of built-in functionality, like I was saying. We, you know, there are a lot of things that to have a full production workload, you need to take care of CICD,
Starting point is 00:36:34 you need to take care of monitoring, security, et cetera. And we offer other Azure services and integrations with that. But not all customers, you know, might prefer to use Log analytics or visual studio team services, for example. So we don't want to discriminate or, you know, not, or lose customers just because of those things.
Starting point is 00:36:55 So we want to integrate with as many partners as we can. That's why we offer service fabric, like on-prem and Azure. Theoretically you can take the on-prem binaries and even host your host service fabric in AWS if you want on EC2 instances. Anything else? Did we miss to cover any aspects of service fabric? I think we have a good understanding
Starting point is 00:37:20 on obviously what service fabric is and how it came from, but anything we missed? No, I think we pretty much covered everything. It is, like, just, I want to reiterate, like, it's a platform that we want to make it available for anyone to use, like, regardless if you are more comfortable on-prem or hybrid or in Azure and other clouds. We obviously have integrations with Azure services,
Starting point is 00:37:46 but we're embracing partnerships with Envoy, even with Dynatrace for monitoring. Basically all these partnerships helps us increase our customer base as well. And that's really what we're going for. Maybe to round it up in the end, because you talked about our partnership and we always try to keep our podcasts product neutral from a Dynatrace perspective but it's still interesting to know what you do from a monitoring perspective.
Starting point is 00:38:15 So you mentioned in the beginning you are also responsible for the monitoring integrations and the partnerships that you have here. Is there, what's the value add that you see that vendors like Dynatrace bring to the table? What additional features and values do we provide on top of what you guys already provide? I would say that the, so the monitoring side of things in Azure is still a very like Windows, focusing Windows bias. So as we released Service Fabric Linux a year ago, by just doing that, we want to increase our presence in the open source and Linux world. And partnering with other companies like Dynaracer, making sure an Elk deployment, an El elk cluster works with service fabric um that really helps you know our other side is the linux side of story because we don't want to be just branded as uh windows only i would say like even azure is does not want to um have that image as well we
Starting point is 00:39:17 are it's microsoft azure now formerly known as windows azure um just like it's service fabric formerly known as windows fabric oh that's cool service fabric, formerly known as Windows Fabric. That's cool. Yeah, I mean, obviously, I think our big benefit that we always see with our customers is that we are multi-tech stack, multi-cloud, hybrid cloud, whatever you want to call it.
Starting point is 00:39:39 I think we see a lot of joint customers that leverage the fact that we provide insight into the current infrastructure, also then into the new infrastructure when they move over to Azure and then comparing it. And then still in times where they will end up with both, like a combination of still some on-premise, some in the cloud, having a single monitoring tool that gives them the full visibility across Windows, Linux, on-premise, off-premise, .NET or Node.js, whatever it is,
Starting point is 00:40:12 containers or not containers. So that's cool. And thanks for the partnership. I mean, it's really great that you help, you and your team now, obviously, with this podcast. But I also want to give a quick shout out to somebody else within Microsoft that we've been working closely with in the last couple of weeks. It is Donovan Brown's group, the DevOps guru and his colleague or his team. His league of the DevOps Superheroes.
Starting point is 00:40:46 And he and his team member, Abel Wang, they actually started implementing and have implemented what we call the unbreakable pipeline for VSTS. So the integration between VSTS and Dynatrace and then with this providing fully automated monitoring of everything you deploy with VSTS into Azure and automatically leveraging the data, monitoring data for quality gates, doing things like automatic rollbacks, scaling up, scaling down. So there's some cool things that we've been doing with Microsoft over the last couple of months and years. And to your point, again, Microsoft has been long seen as the windows company and uh but obviously you've you've definitely changed your public perception and you have uh you've shown this you know with us but also with everything you do out there in the community so that's that's really great to see yeah andy i was going to bring up donovan brown myself because the whole time uh we were having this discussion i kept on
Starting point is 00:41:45 thinking exactly what donovan said that this is not your parents microsoft right you know every time we talk to to microsoft i'm always so impressed with where the companies come but again for people who are just getting into the tech world they they don't know that history so much but for us all for us older timers it's's a fantastic transformation. Thank you, guys. That really means a lot. Cool. All right, Brian. Shall we summon the Summaryator?
Starting point is 00:42:11 Do it now. So what I found fascinating, and I didn't know this about Service Fabric, is that it's a service that came out of Microsoft that was actually used and is still used by large services within Microsoft has been battle tested. So it's not just a service that Microsoft sells to their customers just to fill a gap that they see with other cloud vendors. It seems, you know, obviously a great dedication towards containers, which is obviously where the world is moving towards. I also think it's great that you guys are providing
Starting point is 00:42:48 both in the cloud and on-premise offerings. Did you even provide the on-premise cluster software for free? So we would encourage and we'll provide the links on the podcast description to where people can find more information about Service Fabric, where they can download it. It's great as developers, if you want to play around with it, install it locally,
Starting point is 00:43:09 and then deploy into your local Service Fabric cluster. And where the world is heading towards, or where your world heads towards, it seems where everybody's heading towards serverless, where serverless is no longer the, the serverless was initially coined maybe by AWS Lambda, but it's really about, let's focus on writing services
Starting point is 00:43:29 and let's not worry about the servers anymore because this is a problem that has been solved and we should focus on building new services that are automatically scaled for us and we only pay as we go. And yeah, that's it from my side well thank you andy um the only thing i can say is uh uh i want to give a big thanks to sravan for coming on because i finally can wrap my head around service fabric now um i'm not going to say i could explain it
Starting point is 00:44:03 perfectly to anybody but i I have a much, much greater understanding of it. And it's all starting to come together. So really, really appreciate you coming on. I'm hoping our listeners really got a good understanding of it as well. So thank you very much. Any final thoughts that you have? No, I don't think so. I guess i'll say that yeah service fabric um you know we even though it is like a in between i as and paz product um we're primarily like application focused application development is um what our go-to is and we want our developers to make service fabric applications host their their applications, define them,
Starting point is 00:44:45 you know, with containers and use the microservices paradigm. And additionally, like we really believe that in maybe like two plus years time, like even though service fabric is an orchestrator and I've been preaching all about it during this episode in two plus years time, we really don't think people are going to care about or want to use orchestrators. That's why we're really betting big on serverless and service fabric mesh. We see that as the next step in cloud computing technologies,
Starting point is 00:45:16 more layers of abstraction. Right. And you know, Andy, I did have one last thought on this. If we go back two performs ago, when we were talking with Josh McKenty, right, there was the idea of we asked him, oh, what's internet 3.0? I think we asked, right? And he was like, I want to talk about internet 4.0, where I don't have to care or think about any of this stuff anymore. Right. I just going to deploy something and everything is done. Right. And we're seeing more and more and more and more. That's really the trend that we're seeing coming up, whether it's whether it's service fabric, whether it's, you know, a cloud foundry kind of thing. Or there's all these newer technologies are coming out so that people creating the applications or the services don't have to think about the underlying infrastructure anymore. It goes back to kind of a thought that I had with, you know, if we think about, well, yeah, I kind of put it in context of monitoring, right? Especially in terms of Dynatrace where when you used to go online, right, you'd have to make sure nobody was on the phone, make sure nobody, you know, your call waiting was disabled, open up your dial-up software,
Starting point is 00:46:23 get a connection and hope it didn't disconnect in the middle of you trying, you know, waiting a minute for that Monty Python script to download or whatever you'd be doing in the early days, right? Nowadays, we don't even think about connecting, right? That part is done automatically for us. And that's, I think, the trend that we're seeing in technology now is a lot of that stuff that we had to do in the past that we had to think about in the past is being done for us and now we just use the pieces that are important for what what our our real goal is uh and that's where i kind of see something like service fabric fitting into that whole um trend that we're seeing now yeah all right yeah that's that's technology yeah completely
Starting point is 00:47:04 all right well um anybody has any comments or questions you could tweet us at pure underscore dt um or you can send an email to pureperformance.dynatrace.com as always thank you andy for being here and being the voice of intelligence as to my counterpoint uh thank you very much for Ravan, for being on. We really appreciate you taking the time today. Of course. Thank you, Brian. Thank you, Andy, for having me.
Starting point is 00:47:30 This was awesome. Thank you. Bye-bye. Bye-bye.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.