 Welcome to SuperUserTV. Thank you so much for joining us. Why don't you introduce yourselves and tell us a little bit about what you do? David Flanders, OpenStack Foundation Community Wrangler, but specifically for application developers and also this up-and-coming research community though we're obviously talking about aptitude. I'm looking forward to hearing about that. Yeah, we should have a talk on that. Yeah, so I'm Craig Peters. I'm a product manager at Morantis and I worry about the application developer experience also. Quincy, it's a good thing we're both here. How did that happen? So, tell me something. What applications do you think benefit most from OpenStack? Yeah, go for it. Okay, so the natural answer is web-native apps, right? I mean essentially when you design an application that's built from the ground up to take advantage of the flexibility you get out of the infrastructure but also not assume availability of virtual machines or even network, then you're going to get the most bang for your buck. But that being said, you know, one major area of effort right now in OpenStack is to make sure that you can bridge to more legacy-style applications and enable connectivity to existing infrastructure but also onboard some of those services into OpenStack as well. Yeah, totally. It's kind of that extreme. On web-scale I'm really interested in. One of the clients provides customer service on Twitter, right? So every time a customer asks a question on Twitter and says, at whatever, they scrape that. So then being able to do that globally and build their own service for that is a really great example of that kind of web-scale application. But you're tying in the sort of older style of getting the data and bringing it into the new world. Yep, there you go. Other types of apps besides web apps that can benefit from this kind of architecture? Oh, God, we really could go on and on. So obviously Internet of Things, we're seeing a lot of that happen. So applications which actually bridge across having a mobile app, having a device out there, a sensor of some kind, Internet of Things, and that all being fed back through the cloud. So I saw a really cool example the other day. This is a bit scary as well. The U.S. military are funding drones to be flown by OpenStack. And the reason is, is because if you get drones to fly into the E-formation, you only need one pilot for the front one and then they can draft off of each other. So it's just really scary. And then if the lead one goes down, then one of the second ones can take over? Well, they're even getting tanks to then follow, robot tanks to follow the flying drone. I don't want to take this. This is the beginning of the end, really, is what I'm here to tell you. OpenSource brings about the end, you know, it's Terminator music. Skynet. So let's bring it back into the Enterprise a little bit. Yeah, thank you. I'm the future guy here. Because one of the things that we're seeing a lot of is enterprises that are building their cloud applications really need to take advantage of existing transactional systems. So what they're doing is they're using an old style of application design, using things like message queues and message buses and using those as bridges between the old and the new. And so one of the things that OpenStack is a lot of OpenStack projects have enabled is exposing those services in a natural way through APIs to the new kind of applications, right? So you see these Enterprise service buses, it could be Tipco, MQ series, whatever the legacy thing is, exposed as a service with an OpenStack. And look, Morantis would know you guys are starting bringing those clients. I must admit it's been impressive to see the Enterprise take off in that space. So you guys are doing great on that. Oh, thank you. Yeah. So are there different ways to build those kinds of apps? Oh, God. Well, no. Bright, we agreed that there's only one way to do it. Yeah, just PHP and CSP. We're done. I want repo. I don't know of any other way to do it. Yeah, that's very simple. Yeah. I mean, of course there are a billion ways, right? So there's everything from microservices that are orchestrated with containers with layer three overlay networks that are flexible across very distributed infrastructures down to more traditional tools. You can use Python to do this. You can use C++. It really depends on what we see. It's very important to provide our customers with a journey, right? That journey has to start with where they are today, right? And so figuring out how to bring their existing user base into that, oftentimes that's really about forming a Tiger team that is willing to work in a different way, shows evidence of how they can gain benefit from the cloud. And then that becomes like the good kind of cultural virus, right? Yeah. Where people see what goodness is going on over there, how can I get some of that? And so those kind of small teams working on something new and innovative are the place to get started, but how do you affect the organization? Oh, and that's essential. I love what you've said there, and it's about the people in processes and having the right group, because the community's having this really big debate right now about, okay, service development kits. If we really want to build something on top, do we want a really tightly constrained, feature-rich service development kit that works with OpenStack Clouds, or do we want to provide these generic SDKs like LibCloud or JCloud that will work across all clouds? Yeah, it doesn't become about the technology at that stage. It's really about actually having a conversation with customers. Let's be clear that technology is easy. I mean, those problems are solved. It's really about how they adopt it, how those teams communicate it within their own organizations. And surprisingly, the thing that's... Anyway, it shouldn't be surprising, because through my whole life I've seen this over and over again, it's about internal market, right? It's about how do the teams that are doing this successfully communicate out and communicate it up about what they're doing well and what's not going well and what they need additional resources and support for. Bravo. All aptep. Listen to this. Yeah. So what do you see in the convergence of cloud and containers? Oh, wow. I'll let you go first. Thank you. Thanks, I appreciate it. None again whatsoever. Clouds and containers will probably never... We'll never see them. Look, see the keynote this morning. I think I really love what Mark is saying about the new lamp stack in the cloud and all the rest of it, that we need to see OpenStack reach out and be working with these other container communities. It was fantastic to see CoreOS here and Kubernetes, that to me. And, well, you could speak a lot more to this, because Mirantis is doing... I keep coming to your developers and being like, hey, what's going on? Tell me the secrets. So, yeah, Craig, you go and do it. Well, it's really interesting to look at what's happening. So if you think about the stack, right? You have physical separations of abstraction. We've created these logical separations of abstraction in order to really deal with it organizationally. So if you think about IAAS, that's really about who cares about what services it has, who cares about what services. From a technological point of view, those are artificial abstractions, right? They make no sense from the application's perspective whatsoever, and they can become additional layers. So if you think about what's happening with containers and you look at the container relation of the OpenStack infrastructure, you can start looking at the OpenStack infrastructure as a set of services that are just supporting applications. And so where things, where we see things heading is that you end up containerizing it all. You have those levels of abstraction that are not fixed. They're represented in a model. You put that model through your CICD infrastructure, test it, deploy it, and that gives you both flexibility in how you design your application, but also flexibility in how you deploy, manage, and operate. And so if you do those things together, then you get the best of the container world, and you can support legacy applications and VMs and KVMs and essentially any hypervisor you want. This is such good news for the enterprise, because it is giving that value add. I hate to use these words, but it's actually bringing that value back into having a private cloud or a hybrid cloud and all the rest of it. Right, and the cool thing for me is it's not like, you keep giving variance with lots of credit. It's a whole community that's doing this, right? I mean CoreOS is participating, Google is participating. You've got a whole variety of, you know, Intel is contributing a ton. You've got a lot of rack spaces are part of this. It's like everybody's coming together to make sure that we're solving the problem in a way that will provide the most flexibility. And really it's about high velocity, delivering capability to our customers. Playing upstream, play upstream. That is the game in all the communities. Completely agree. Awesome. So how important is an app catalog and why or why not? Cool. You want me to take that? Yeah, go for it. Go for it. So maybe I can say something we can disagree on. Yeah, let's disagree. Cut. So the catalog is really about how do people collaborate, right? Across organizational boundaries, even across expertise within an organization. And so a catalog is just a way to surface some reusable component of code. So there are lots of different kinds of catalogs. A catalog of virtualized network functions, like how do I set up a firewall? Or a catalog of building blocks, how do I connect to a NoSQL database or MySQL? Or there's a catalog of higher level services that aggregate those things. And so catalogs are really important because they are that advertiser. And when I say catalog, I mean in the most general sense. I mean an API, a CLI, a UI, you really have to come to the user however they want to consume this catalog. And so I think that in order to get the velocity out of Enterprise Development Shop, you really need to have a catalog that allows people to search and categorize things. So they can find the thing at the right layer of abstraction that they want from the applications. And I guess, so I'm not going to disagree here. Unfortunately, because I think the catalog for me, it's not as rich as it needs to be yet. But the reason why the catalog is really worth watching is because it's starting to show the patterns on how applications are being built. And it's kind of like application developers, they're upstream. Just put up your stuff up in the app catalog because it allows us to then say, oh, we need training around this. This is starting to form as a pattern. Let's get the community together. Let's actually start to. Because if this community doesn't talk more to application developers and we don't cross this boundary between DevOps, app developers, sysadmin, the API is not enough. We've actually got to agree and have human conversations if we're going to see the way that we want application, new applications, the modern application that we need to develop. I think you said something really important there. It's about patterns. One of the things that OpenStack is all about is the APIs and everything. It's all about a pattern of interaction between systems. And if you think about the catalog, that's about patterns of interaction between people and systems. So if you put together, not just building blocks, most of what's in the app catalog today is a set of building blocks. But all of those technologies are able to compose additional things. So the more people contribute patterns and loop prints, the other people can reuse, modify, and improve. We're all going to move faster. I'm sorry, we're agreeing. We can try it harder. All right, let's try this one then. Disagreeing on this one. Sure of it. What app would you like to see on OpenStack? So it's funny, I've been, I don't know, I really would like a, I've been looking at things like Rocket Chat and Mattermost. So things that are open source versions lack. And one of the reasons I like this is because of the people problem. I keep talking about how do we bridge more people into a conversation and I want an interface for IRC and mobile and all the rest of it. That's what cloud is really powerful at. It allows you to have all those interfaces so people can collaborate. So I really love apps that are feature rich in that. It's also a reason why I like IoT. This is a bit future spelling, but I love it when you see the mobile part of it, the sensor part of it, the cloud part of it, the integrated development part of it and all of those interfaces coming together. And why? Because it brings people together and that's what's really cool about applications is they're exciting. Well that's where our value comes from, right? I mean, none of this is any valuable unless any people benefit from it, right? So I think all of that's cool and it's actually better than my answer because your answer talks about the people. The thing for me, the app I want to see is essentially Lambda in OpenStack. I'd like to see serverless compute. So as a developer, I want to package up my dependencies and my logic in a simple little Docker container and then be able to say, go do that work. Love it, yeah. And that way I don't have to care about a virtual network, I don't have to care about a virtual machine, I don't care where my storage is besides a pointer to an S3 and I'm done. That's coming. Oh, this is so cool. Elbas inside of it, actually making web scale, putting SQL in, my SQL in containers and being able to scale it, that would be having those components which will build to greater things. I think that will completely revamp what we think is a 12 factor out. Yes, let's talk about 12 factor. Really? Again? Go for it. No, totally. There's plenty of material in there. Yeah, yeah, yeah. So what is the most surprising use of OpenStack that you've seen or the most surprising app that you've seen on OpenStack? You see a lot more than I do, so I don't know. Most surprising? I've given my cool, exciting examples. I think what, to be honest, okay, so let's go a little bit serious. Enterprise applications really matter. I know that everybody hates us to talk about that because we're such a cool developer community and all the rest of it, but the things that need to go on there and the reason why we're good at this is being able to have applications which work for banking firms, which work for people who really, really care about their data and it's got to be secure and there's security people in that company and they want to make sure it works and it's not going where, and that it's also web scale and all the rest of it. We're putting them in VMs and stuff like that and it's because, guess what, security still matters and let's not get too far ahead of ourselves. I love the geeky stuff, I love the future stuff, but let's also be serious about some of the security issues that we have. VMs have a very long history behind them that make them secure. There are workloads that will be in VMs for as long as they'll probably be alive. I'm not pretending the future here. So as far as surprising goes, I've seen people do things that some enterprise companies would not like in the cloud. I won't name any names, but violating all kinds of license agreements and things like that, they basically will forklift their entire legacy infrastructure into KVM and that's the most surprising thing I've seen and I bring that up kind of as a cautionary tale and what ends up happening is you do that thinking that you're saving and what happens there is that because of the different kinds of issues you face in this environment, you have to completely revamp your processes, your operational processes to get the same SLA for your users and that just doesn't work. You really have to think about the application architecture. On the other side of that the most exciting kind of things I've seen are really kind of things because why do you say it's future looking? The future is here, it's just not evenly distributed, right? There are some people that I think we'll be able to talk about in the next six months or so who are doing some IoT applications on OpenStack in a very distributed way and it's going to change the world. Yeah, give me my self-driving car already, that's what I say. I'm so tired of driving. You need 5G first We're getting there, we're getting there. NFV, 5G, containers, yeah, edge networks, close. Better be in my lifetime. I think it will be. Promise. Hold me to it. It's all me. You're managing the BW account, right? Personally. Alright, what techniques should application developers learn? What are they doing wrong? So, I think that in general application developers don't the biggest mistake is the not invented here syndrome. Everybody wants to build everything themselves and so we don't do enough reuse and this kind of ties back to the notion of catalog. I mean, the Internet has changed things amazingly. The fact that I can go to Google and search for a pattern or an application style or tool allows me to find a bunch of tools and open source has taken that to the next level where I can actually use that code without violating licenses or patents or anything like that in my product or in my service and deliver it has changed things tremendously. But we still make this mistake as human beings that we want to be the inventor of something without even having tested the other person's attempt at that solution, right? And there's so many of those things where we would all just save if we just contributed to their solution and reused it. I just want to see more of that. Yeah, so again it's the people processes thing. I see this real division in the community it's already happened in OpenStack where we have operators versus the contributors, the developers. And now I've said we have a third community here AppDev and we all know that if you're really going to build an application you need all these people's skills. If you're going to build a web-scale cloud applications you need a lot of people working with one another and sometimes I feel like we're doing this splitting thing where we put people on opposite ends of the spectrum and we don't do anything. So you're saying we're making the same mistake that our users are making? So if I look at the most successful web-scale operators, ones using OpenStack or using other technologies the common thing for all of them is that the developer supports in-production their own code. I write a service. My team is on the hook to support that. And if we're separating these teams out and we're saying there's artificial boundaries, one of the first principles of software development is that your software architecture reflects your organization. And if we're organizing this way then we're forcing OpenStack to fall on that and that's probably a mistake which we think about. Yeah absolutely. Bring community together. I was hoping you'd disagree. Well look wait it was your point. I could give you something to argue about which is I hate metaphors are a dangerous thing so here's the disclaimer right now but what I do find interesting is if you look at infrastructure and we go back in history and we look at electricity and stuff like that the cloud does feel like a power plant at some times and what's interesting is as infrastructure matures you end up getting additional roles so we are starting to get additional roles you know the architect, there's the brick layer or the engineer or the architect and so forth and so on and it feels like we're maturing in those layers it's just that we haven't been locked down yet so it's just really interesting to see as we have these new roles you know usability experts now need to be brought into it and all these other roles that come into it and that to me is really interesting to watch from people. I agree but I think that's more about domains of expertise and experience than about like role of development because like when you talk about software defined infrastructure at some level everyone has a development capability it's about whether it's their domain of expertise using those sorts of tools. So on the subject of general versus specific talk to me about OpenStack specific SDKs versus perhaps general cloud SDKs I think that we're going to see a massive debate about that I don't want to drop people like my real advice is get involved in the discussion around this right there's plenty of lists serves there's plenty of IRC channels there's plenty of Slack channels especially from the app literally Kubernetes has a Slack channel, Mesos has a Slack channel we've got an IRC channel going out we've got a lists serve. The debate in the discussion literally there was a hundred people in the containers room the other day when we were talking about this so I'm not going to persist that the debate I'm going to say go join the debate is what I would argue for. My point of view it ends up being about the use case right so what do you need to accomplish for your application back to my earlier point about it's not layers of the stack that we create artificially they're tools that deliver applications and OpenStack is one of those tools right and so what tools do you need when you're you're talking about layers of abstraction that essentially focus on portability of application logic across different infrastructures right and so do you need general functions that are going to be in Google Cloud and OpenStack and VMware then LibCloud is a great way to go if you need capabilities that are specialized in some way then that's not going to be the tool for you there are other alternatives and you know this comes back to application architecture you have to figure out in your application where do you describe the layer of abstraction so that you separate the part that needs that special stuff from the part that doesn't so that you can change that later on and that's just basic architecture. Horses for nice yep so old adage so what should CIOs be thinking about when it comes to cloud app development for me if you don't mind the CIO should be focusing not on saving work right I mean we've had too many years of people think of OpenStack as free VMware right I mean that's just that model is not the path to success yeah so what I think the CIO needs to be focusing on is two things one is how fast can they get new functionality new applications to their users so new focus on revenue streams and the other is if I'm caring about OpenStack at all it's because I have some sort of core expertise in software development that I need to retain and I need to build on and that's about giving the best possible tools to my developer because that's what retains engineering talent giving them things that excite them that allow them to do new things and be innovative and so I think the CIO should be worried about how do I balance those two things and OpenStack is a venue for enabling. Yep yeah totally agree it's about building up your team making sure you have all those different roles that we've been talking about this is at the heart of this is if you really want an advantage over your competitor have better people who can actually build the things that you want right okay so that's it that's it for me so I want to thank both of you for taking your time today and I hope that you have a great rest of the summit cool we didn't say Java or PHP in this whole discussion well we just we've managed oh I got them in a little bit thank you thank you cheers Craig thank you