Panel: Nomad Demystified
Aug 07, 2020
Hear HashiCorp Nomad Ecosystem Engineer James Rasell answer questions about Nomad.
- Nick EthierSoftware engineer, Nomad, HashiCorp
- James RasellNomad Engineer, HashiCorp
Rob Barnes: Okay, so shifting gears a little bit, we're going to move to a live Q and A discussion panel. This is a Nomad discussion panel. So I would like to welcome two engineers from our Nomad team. We have Nick Ethier, and we have James Rasell joining us. Thank you very, very much for joining us. I just want to just, again, reiterate, if you have any questions, please do get involved in a conversation. You can ask the questions below me. And with that said, I'm going to pass it over to Domi, and let's just have a great discussion. Over to you, Domi.
Dominique Top: Thank you. Thank you for joining us. I would like to start us off with the following question. One thing that we get from the community a lot is, why would you use Nomad when there is Kubernetes? James, you can go first.
James Rasell: For me, I've always preferred to use Nomad, just because of its simplicity, the way it's presented to the operator. It's, for me, it's easier to start it. The operational overhead's a lot lower, and with some of the more recent releases, it's providing as much bang for the buck as Kubernetes in most areas, so that's from my point of view, why.
Dominique Top: Fair enough. What about you, Nick?
Nick Ethier: Thanks. Yeah, I think we get this question all the time, especially at the booth at HashiConf. What I always go back to is, thinking about what value do you want out of your infrastructure? You have a small group who are needing to deploy a orchestrator, manage architecture, I don't know. Nomad covers that use case very well. It's very simple to operate. Something that grows with your infrastructure and you can scale to many hundreds or thousands.
Dominique Top: Sure. Nick, I'm really sorry. Your audio is a bit garbled, so while we look at that on the backend, we're going to go ahead to James to ask the next question. I'm really sorry about this. Could you tell me a bit more about what you think Nomad's key strengths are?
James Rasell: Yeah, so a single binary, firstly. Right? So you don't have a huge plethora of components to learn straight away. And also it's Federation, so it's data sensor, it's region-aware and with what was announced in Zero 12, some cool Federation feature like multi-region deploy. So you can have Nomad, you can have your applications running across the globe, and an operator that can trigger these jobs, or you can have your CI system trigger the job, and it can deploy it to the whole Federator across there. And for me, that's its real strength. I've used Nomad on cloud providers. I've used Nomad on bare metal co-located, and it works the same. And for me, that's really nice, just having that flow everywhere.
Dominique Top: Yeah. Sounds good. Just checking with my little elves in my ear. Is our other panelist back yet? Okay, so I'm going to see if Rob has some questions to ask James.
Rob Barnes: Yes. Thank you very much, Domi. There are a few questions here, so we'll start off with, this one is quite specific. So it says, how to troubleshoot or trace service router problems and behaviors in Nomad's sidecar?
James Rasell: that is hugely specific, and something I wish Nick was here to help explain. We can try and get back on that one, either tweeting or posting somewhere. I, off the top of my head, that's an area that I haven't been looking into. I've been here four months so far, and that's pretty newly introduced, and I never actually ran any of that kind of system in production before. So, my advice might be a bit wasted on that, I'm afraid. That's probably not the answer they're looking for.
Rob Barnes: Amazing. And just to latch onto that, this is also a great question for something that, discussed on hashicorp.com.
Rob Barnes: So if it's not going to be one of my colleagues that will respond to that, it will definitely be a member of the community, and I'm sure that we'll be able to find some solutions to whatever the issues are that you're trying to resolve. So, yeah. Thank you very much for that question.
So I have another one, from Tom Weavers, which is why should I use Nomad, over something like ECS or EKS? Which, I think we touched on it before, but just if you can, elaborate on your thoughts on that a bit more, James.
James Rasell: Sure. So, I guess the obvious one there is, I'm sticking with ECS EKS, you're going to be tied into it. It's Amazon specific, right? So ECS and EKS, I've tried them both. They do some slight magic under the hood, right? That's how they try and present it, simply. It's great if you are just going to be using Amazon, but it can be inflexible, when you want a bit more flexibility. And as I alluded to, you can run Nomad wherever you want. So, whether that's in the cloud, whether that's in colo, you have that flexibility that you can future-proof, in a way, so in a year, if you have to go multi-cloud, you can. Whereas with EKS and ECS, it might be a bit harder with that.
Rob Barnes: Amazing. Thank you very much.
So we have another one here, which is, how does Nomad Autoscaler work with Terraform State and configuration drift? That's a really good question.
James Rasell: Yeah, great question. So, in particular, with the AWS AHD, autoscaler, all it does is tweak the desired count. So I believe in Terraform, you can omit that when you were doing your Terraform run, your Terraform plans, and your applies. So if you're using Scutter to scale your client, no doubt, you'll want to omit the desired count, and then just have the autoscaler handle that. So you won't have any configuration drift.
Rob Barnes: Brilliant response. Thank you very much. I'll probably ask one last question before I throw it back. We have tons of questions, by the way, but just to give Dom a chance to ask a few more. Are you planning to support HCL in the rest of the API? Or at least an endpoint to translate an HCL file to JSON format?
James Rasell: I believe so. I believe so. It's something that we discussed internally, a fair amount. And so once 0.12 is out of the way, we'll start to be doing the next plans for the big releases. So it's something that's discussed. It's, again, I'm in ecosystem, so a bit out of my area of real knowledge, but it's something that we talk about.
Rob Barnes: Amazing. Thank you. I'm going to throw it to Dom, for any questions that she may have.
Dominique Top: No worries. Thank you. Yeah, it's not looking like Nick's coming back anytime soon, so you start with us, James. So could you tell me about what is your favorite preconceived notion about Nomad, that you like to educate people on?
James Rasell: My favorite preconceived notion? Whoa, that's a real tough one. I don't know. I don't know what people preconceive about Nomad, to be honest. What do you preconceive, Domi, about it? Is there anything that you have in mind?
Dominique Top: Well, personally-
Rob Barnes: I might actually answer this one.
Dominique Top: Sure.
Rob Barnes: Appreciate it. I always thought Nomad was just for containers. Right? Until I started looking at it in more detail, and realized you can schedule binary's, you can schedule all different types of workloads, which was mind-blowing to me, when I first realized. I can remember, in fact, that's how I met you on Twitter is when I discovered this. I started tweeting about it, and someone introduced me to you on Twitter, James. So yeah, that's probably my favorite preconceived notion there. I'll throw it back to Domi, just in case she has any other thoughts on that, but yeah, it's pretty cool.
James Rasell: Yeah-
Dominique Top: Yeah, no I-
James Rasell: Sorry, go on.
Dominique Top: No, that's all right. I a hundred percent agree. I think it's one of the most-heard things that I've heard in the community is like, "Ah, it's the same as Kubernetes, and Kubernetes does a better job," but there are so many more things that allow for them to live in the same ecosystem, and that's pretty cool. So do you have anything to add on that?
James Rasell: Yeah. The driver aspect is one of my favorite features of Nomad. We have some official, a few drivers, Docker, Exec, Qemu, but there's also some really great community drivers that might not be as well-known, so Pod Man, that recently came onto the HashiCorp repo. RoadBlocks recently open sourced a Windows IS driver, and so yeah, I'd never really liked the preconceived notion, which makes sense, from a Kubernetes stance. But my favorite feature is always the drivers. The flexibility they can provide. No matter what your internal team structure is like, if you have QA running Ruby, data science maybe running Python, some Java, some containers, there's always a solution in Nomad itself. You don't have to make teams change their practices, per se. And that's what I really like.
Dominique Top: Thank you. Thank you so much. I'm going to do a quick selfie again, because we don't have much time. Smile! Ah! So sorry that it's only, yeah, you have to do it by yourself, but thank you so much for joining us today.