In this episode of The Connext Podcast, we talk to Antonio about the challenges of integrating and scaling complex systems and applications. It just so happens that Antonio worked on the development of Routing Service and Cloud Discovery Service, both of which can be used to help with these tasks!
In Episode 14 of The Connext Podcast:
- [1:20] What are Infrastructure Services? How do they help our users?
- [1:50] The 411 on Routing Service
- [2:50] Using Routing Service to scale your systems
- [3:10] How do I get up and running with Routing Service?
- [4:30] Cloud Discovery Service - it's new and experimental!
- [5:27] An introduction to Discovery and DDS
- [6:20] Why would someone want to use Cloud Discovery Service? Why are customers connecting their systems to the cloud (or fog)?
- [8:50] What is DDS?
Related Content:
- [RTI Labs Project] Want to try something new? Feeling adventurous? Try Cloud Discovery Service, today!
- [Product] Routing Service
Podcast Transcription:
Lacey Trebaol: Hi, welcome to episode 14 of the Connext Podcast. I'm Lacey Trebaol, and today I'm here with my cohost, Niheer Patel.
Today we are speaking with Antonio Sanchez, a senior software engineer at RTI. Antonio is a telecommunications engineer, who's graduated from the University of Granada in Spain, and he joined RTI in 2011, as an intern and has been with the company ever since, collaborating in the development of RTI Connext. So, hi Antonio.
Antonio Sanchez: Hello Lacey.
Lacey Trebaol: Welcome to the podcast.
Antonio Sanchez: Thank you.
Lacey Trebaol: Thanks for being here today. So we're going to talk today about Connext and some of the offerings with it, specifically about routing service and Cloud discovery service. So what these two things are and who would benefit from using them and where people can go to learn more.
So do you want to tell us first a little more about yourself and specifically what you're doing right now at RTI and what you're working on developing?
Antonio Sanchez: Sure. So, as you said, I'm senior software engineer. I'm member of the core team so I'm just working on development of new features and, of course, maintenance of the Connext DDS, the core product, as well as some of the infrastructure services. So I participate in the development process from end to end.
Niheer Patel: When you refer to infrastructure services, what does that mean?
[1:20] What are Infrastructure Services? How do they help our users?
Antonio Sanchez: Right, so infrastructure services is one of the addition that RTI offers besides DDS, the standard. It includes routing service, keying service, persistence service. They are services that they offer great value because they solve interesting use cases that otherwise customers would need to implement by themselves.
Niheer Patel: They really, really help customers take advantage of DDS for their systems.
Antonio Sanchez: Exactly.
Niheer Patel: You said you work on routing services. So let's dig into that. What is routing service? What do I use it for?
[1:50] The 411 on Routing Service
Antonio Sanchez: So routing service, I mean, the name suggests pretty well, what it does, although it does much more. The routing service is a tool by excellence to provide DDS routing, but not only DDS also between data domains. So it's like, they integrate our tools. For instance, if you have a DDS domain, but you have any other domain like JMS or maybe you have raw sockets ...
Lacey Trebaol: So like a legacy system? That you're trying to integrate with a system that is using DDS ...
Antonio Sanchez: It could be legacy or it could be new, any other technology and you want to integrate them both that's the tool that would get you.
Niheer Patel: So you might have two separate networks that you want communicating?
Antonio Sanchez: Yes.
Niheer Patel: So you might have a WAN in a local area network?
Antonio Sanchez: Right...
Lacey Trebaol: Right...
Antonio Sanchez: That's another use case.
[2:50] Using Routing Service to scale your systems
The other one that's very interesting is the scalability aspect. You can use routing service to scale your system. Like the same way you would a scale a one network, right? By putting routers. That's the same concept.
Niheer Patel: Okay, and expand your network.
Antonio Sanchez: Right.
Niheer Patel: Okay.
Lacey Trebaol: So routing service is sort of a multi tool.
Antonio Sanchez: Yeah. It's pretty powerful. You can extend it because it has adapter API so you can hook up any technology you want.
Lacey Trebaol: So if I was a developer and I was already using Connext DDS Pro, and I'm hearing what you're saying right now and I’m thinking, routing service might solve one of my problems. What do I need to know to get up and running with routing service? What would need to be done?
[3:10] How do I get up and running with Routing Service?
Antonio Sanchez: Well, the first thing you need to do is probably go and read the user's manual, at least follow the examples, see what it's about. We have excessive implementation in the user's manual and also, you can find that in the community portal.
Lacey Trebaol: community.rti.com
Antonio Sanchez: Community.rti.com. Then you can just read the documentations, see the examples. We ship different examples of how to develop your own adapter. We also have 10 examples, different use cases, like DCP, routing to DDP, remote administration. We have tons of examples, so I think that's a lot of the documentation that you can...
Lacey Trebaol: and these are just free examples that you can get on Community.
Antonio Sanchez: They are. Yes, you can get them on Community, and you can get them with Pro.
Niheer Patel: And just to note, right, the adapter tool kit is called...that routing service adapter...
Antonio Sanchez: It's called development kit.
Niheer Patel: Development kit. You may also hear it referred to as the Gateway Tool Kit.
Antonio Sanchez: Yes.
Niheer Patel: That's something you might just for our audience to know they may hear it two different ways but it's the same thing and it allows you to really extend off the routing service capabilities.
Lacey Trebaol: So from there, we're talking today a little more about Cloud Discovery Service, which is actually an experimental product coming out.
[4:30] Cloud Discovery Service - it's new and experimental!
Antonio Sanchez: Yes, so it's an experimental product. We are working on it right now, and it's a new service, a new infrastructure service. And the idea is that this service is going to solve the discovery in environments where multi-cast is typically not available. It fits well, the Cloud, right? The Cloud is one of those environment where you don't have that capability, and then discovery becomes very challenging process because you don't know who's there, but you need some mechanics to actually discover everyone. So Cloud discovery service is going to be that service. It's going to be running the Cloud. It's going to allow you to discover everyone without having to know who is out there.
Lacey Trebaol: So for people who don't know, can you talk a little bit about discovery and DDS?
[5:27] An introduction to Discovery and DDS
Antonio Sanchez: Yes. DDS standard, that is a simple discovery protocol, and the idea is that, well, I mean, one of the main advantage of the DDS is that you can just study obligation on discover every other application automatically. But in order to get that, you need multicast otherwise you need specify manually who is out there. But if you have multicast, every application will send announcement automatically so that everyone can know about each other, and that's how you either need to know about anyone and everything's dynamic automatic is one of the magics of DDS.
But when you run in an environment that is not available, then you need to do the job manually. It becomes painful, so that's why cloud discovery service to the rescue, so that you don't have to go through that pain.
Lacey Trebaol: That's awesome.
Niheer Patel: Why is it that they want to connect their system up to the Cloud? What is it that they're trying to achieve?
[6:20] Why would someone want to use Cloud Discovery Service? Why are customers connecting their systems to the cloud (or fog)?
Antonio Sanchez: I haven't really got that much information, but what a couple of customers that I've read their questions, they say that they don't have multi-cast. It doesn't have to be the Cloud necessarily. It could be the fog as one of the areas where this is also targeting, but the main frustration is that they don't have multicast and then they cannot manage keeping the database of who is out there.
Niheer Patel: I think that's a good distinction, right? I mean, there's a lot of hype and talk about Cloud versus fog, and computing this and computing there. It sounds like this service is agnostic to whatever server you want to run or where ever your server is going to reside. It's really about just getting that maybe IT server side connected to your device, your embedded system.
Antonio Sanchez: Yes, one of the things as well of Cloud discovery service, like our customer wrote saying maybe that RTI should be looking at, maybe, they are like discovery services, however, those discovery service are typically genetic or based on HTTP. The Cloud discovery service is then integrates with the DDS because system, right? So the nicest part of this is that you running, and you're not going to notice any difference. We don't need to do any different on any other services. This all like consistent, and you feel like this just another service that runs there, and doesn’t starve anything in your system, right? So I think that's the one of the boundaries if abusing Cloud discovery services was supposed to look for a...
Niheer Patel: Would it be a stretch to say that Cloud discovery service would effectively make your Cloud server, fog server, a member of your DDS system? And not just another DDS participant?
Antonio Sanchez: It's not going to be another DDS participant. It's not going to be discoverable, which is an advantage, of course because it raises traffic, it makes everything smoother, but the way you think about the service, everything it works with DDS concepts. So that's what makes it easier to use and to employ into your system. And it's as simple as just thinking about a service that you are running a port, like, a web server, you say, "I want to run my web server on port 80." It's going to be, "I want to run my Cloud discovery service in port 7,400," and just make your applications to talk to that port, discovery will happen.
Niheer Patel: Thanks.
Lacey Trebaol: So we're asking everyone that we're interviewing from RTI some specific questions, and the first one is what is DDS?
[8:50] What is DDS?
Antonio Sanchez: That's probably the hardest question that I could be asked today.
The way I like to say it is that the way I explained to the people that they not technical people, like my family or some friends. The way I describe is just as simple as a sole word for communication that is high performance that allows us to connect every single computer in the network in a very efficient and reliable way. I don't even know if this is technical definition but I think most of the people, they understand this here, okay? It's a software, you connect everything, and...
Niheer Patel: I'd say most people understand the concept of software and computers, and it's a good...
Antonio Sanchez: Yeah.
Niheer Patel: Good.
Antonio Sanchez: That's my definition.
Niheer Patel: And short and sweet too. I think it resonates with a lot of people that they don't have to sit and listen and then digest, right? I think it's really short and sweet. I like it.
Lacey Trebaol: You like that one? Cool. The last question we're asking everyone is now. Can you explain to me what DDS is like I'm a 5-year-old?
Antonio Sanchez: If you were a 5-year-old, I would say same thing as before I can say the same definition for a 5-year-old, I think.
Lacey Trebaol: Yeah, it's a real smart 5-year-old.
Antonio Sanchez: If I say, like, high performance reliable..
Niheer Patel: ...won't break.
Lacey Trebaol: Alright, well, that is all we have for today, so thank you so much for coming and talking to us, Antonio.
Antonio Sanchez: Thank you for having me.
Lacey Trebaol: Thanks for listening to this episode of the Connext Podcast. We hope you enjoyed it. If you have any questions or suggestion for future interviews, please be sure to hit us up over on social media, and you can also reach out to us at podcast@rti.com. Thanks and have a great day.