Lightbend's AMA Podcast Ep.07 feat. Microservices and Lagom with Markus Eisele
I interviewed our newest Lightbender and my good friend, Markus Eisele, while sitting in the LAX Hilton. He tells me why he made a big move, and the future of microservices in the enterprise Java world.
Tonya Rae Moore: Hey gang, welcome to the brand new Lightbend podcast! My name is Tonya Rae Moore, and I am the Community and Field Programs Manager for Lightbend. In general, what I try and do is get you enough information about all the options out there to make the best decision for you, and we'll just leave it at that. This is going to be our number one Lightbend podcast, formerly Typesafe podcast, AMA with our experts. We're still going to be talking to our experts, but now we're going to be talking to our Lightbenders. Today, I have the extreme pleasure to talk to our newest Lightbender. As a matter of fact, I believe today is his A1 day. He's also one of my very good friends and one of my favorite people in the Java ecosystem, and I'm so pleased to not only have him onboard with our company but also to get to talk to him during this podcast today. So, I would like to say hi to Markus Eisele.
Markus Eisele: Good morning, Tonya. How are you doing?
Tonya Rae Moore: Uh, I just woke up, dude. I just got back from vacation. I was in Hawaii, and now I'm in L.A., and it's-it's terrible. I got to admit, everything is terrible today. How are you? [Laughs]
Markus Eisele: Not much better. It's wet. It's almost bedtime here. So, yeah. I love it, actually. So.
Tonya Rae Moore: Is it your first day of work today?
Markus Eisele: Officially yes. So, this is just the perfect day to start a recording.
Tonya Rae Moore: Love it. Well, I am going to ask you the first question I always ask, which is, what is your background, and what brought you to Lightbend?
Markus Eisele: That's a question that has been asked for a couple of times over the last couple of days, actually. I think the news are out since February 24th. I blogged about it a little bit. Red Hat is a cool company, so don't get me wrong. The reasons I decided to join Lightbend have been very personal, very technically at the end of the day. You know that I've been part of the Java EE community since, I don't know, millions of years -- at least it felt like that. I have even been part of the Java EE 7 expert group, and I had the real pleasure to work with that technology for a very, very long time. But requirements change, enterprises change. Software gets developed in various different ways today. We have total different requirements when it comes to building applications. And, I've been talking about how Java EE fits into everything that we talk about in terms of buzzwords at conferences today, since a couple of month already. And, I have to admit, Java EE is something that can work, but it's definitely not what I think will be the future in terms of application development.
So, Lightbend has an insanely interesting technology portfolio, starting with Akka, going all the way over Play, and just the recently announced Lagom framework, right? So, there's so many technical challenges that I really want to take on and talk about and learn about, that I just was so happy to have that opportunity to join Lightbend finally.
Tonya Rae Moore: Well, I know that we are thrilled to have you. I think that there was a small ripple that went through the Java community to see that you were making a move to a "Scala" company. Is there anything that you wanted to touch on about that, to your 8,000 Twitter followers?
Markus Eisele: I have never seen Typesafe as a Scala company. Maybe I knew too much already.
Tonya Rae Moore: Oh, Lightbend.
Markus Eisele: Uh, yeah. I know. I mean, it started back in the day, so people still assign Typesafe with Scala, and now they try to interpret something into the name-switch and if it means going away from Scala: which is obviously not what we're trying to do. I think it's always been a significant amount of Java, even under Scala; like the JVM is what we all have in common. So having both APIs, Scala and Java, being able to address a broad range of developers in general is something that I think is just perfect. And, even if Lagom will have the a different approach, by offering Java API first, and Scala API second, there will be both worlds that developers can actually use. And this is just perfect, so I'm not opinionated on that end.
Tonya Rae Moore: [Laughs] Hashtag, same team. I remember -- I think it was a year or two ago, I interviewed you for Voxxed about microservices at that time. And I didn't even know what I was talking about when I asked you questions then. So, let's revisit that conversation. Microservices are becoming a thing, especially for enterprises. So, can you talk about that? This is your field, right?
Markus Eisele: Absolutely. I've always been trying to navigate in between buzzwords and latest hypes and the real needs of big corporations, also known as enterprises. So whenever technologies really start to hit the ground and have a broad adoption in the largest enterprises around, something really significantly changed from just being a buzzword at conferences to having the toolset at hand, to actually be rolled out into those enterprises. And I think what we've seen over the last couple of years is that the term "microservices" and all the definitions underneath actually followed exactly the same path. So, from being talked about at the very first conferences, the first experiences that companies like Netflix and Amazon made with them, all the way down to actually the headlines of the computer newspapers and magazines, which tend to lay on the tables of CIOs and CTOs somewhere; so, we start to see something that is being adopted, actually.
So, leaving the hype cycle a little bit and, finding the first applications in industries all around us. So, even if people tend to say that "microservices" is just another way of architecting your applications, maybe even another name for something that we had a couple of years ago like, SOA, service-oriented architecture, I think it's not true. Microservices follow a more practical pattern, a more organizational approach. Jonas Bonér just did a great interview about that. So, I think microservices actually follow the organizational structure in a more natural way and allow us to architecture applications that do follow the way we do business in all industries and enterprises. And, having seen that move, it's just amazing to finally have the technologies to build those architectures, and not even like on bleeding-edge teams like Netflix, 20 people who just know everything. But having a framework that makes building those microservice architectures easier, reliable, enterprise-ready, scalable, this is perfect.
Tonya Rae Moore: So, you've obviously been in the community for a long time. You're a Java champion, and I think you used to be an ACEdirector before Oracle got mad at you. Am I correct on that?
Markus Eisele: Yeah, correct.
Tonya Rae Moore: [Laughs] So, how long have you been in the community now? What is it, like 15 years or something?
Markus Eisele: I think so. It all started out as a teensy little blog, because I wanted to share something that I learned, just in my -- sitting in my little basement at a random customer, maybe even in Munich or Stuttgart. And I wanted to share something of all the knowledge that we invest day-to-day in our projects. So, this is where the fun started. It was maybe one blog post. So yeah. And, from there on, I started to be engaged and invest more and more time into what we call the Java community, which is basically an insanely large group of highly motivated people who really love the language, all the platform technologies on top, and want to work with it or have to work with it, and want to share their solutions to problems, right?
Tonya Rae Moore: Right. So, to reference what you said earlier during the intro, is Java EE dead and microservices replacing it, or what do you see as this evolution?
Markus Eisele: Good question. I don't want to call Java EE dead for obvious reasons. It's an industry standard. So, a very mature platform used by many, many, many if not all enterprises in the world, for good reasons. It has its advantages. We know how to build applications for Java EE as a platform. We know how to operate them. We know how to troubleshoot them. You could comparably easily source everything around Java EE that you need. You name it. Even people from the street, like literally everybody today speaks Java to some extent. But it's just not the perfect fit, maybe even -- maybe not even the second best of the best fit for microservice architectures. It was built with technologies, with strategies, with architectures in mind that just don't align with microservices anymore. You might have heard the term "monolithic applications"?
Tonya Rae Moore: Sure.
Markus Eisele: This is something that Java EE is standing for in the mind of many, many people. And it's not necessarily a bad thing, because we always want to have monolithic applications.
Tonya Rae Moore: Why?
Markus Eisele: Because we have the knowledge at hand, like the project teams -- they have been there for ages.
Tonya Rae Moore: We just don't want to erase everything that came before us, basically?
Markus Eisele: Absolutely. But there will be very challenging applications with extremely high demands in terms of resiliency, failure proof, reliability, availability at the end. So, I have a great talk title upcoming. I think it was actually Viktor's idea, but, "Nine Neins - Where Java EE Will Never Take You." And the "nine neins" actually refer to the availability that we usually, talk about in percentage numbers, right?
So, and that Java EE just has limitations. And, microservice architectures don't, right? Don't have those limitations at all. So, I'm not going to call it dead finally, but it's just not the perfect fit. And, on the other hand, what also -- uh, at least my personal opinion here -- what also stops Java EE from being successful over the next couple of years is the very slow standardization process. Oracle has been a comparable good steward of Java and the platforms over the last couple of years, surprisingly good. So we all expected them to screw that up much earlier. And they didn't. So congratulations.
Tonya Rae Moore: [Laughs] That's the nicest thing I've heard anyone say to Oracle in a long time.
Markus Eisele: [Laughs] Yeah. I'm trying hard. Java EE has to undergo the JCP process, like the standardization process, like every other platform, that is based on Java, at a point. And, we haven't seen a lot of changes lately. So, EE 7 and EE 6 were good steps forward, progress in terms of developer experience, usability. EE 8 is Sleeping Beauty at the very moment. We haven't seen a lot of development. A couple of people in the community tried to push Oracle to do something. Having known Oracle for a while, I highly doubt that this effort will lead anywhere. So, standardization, at the end of the day, is probably never a good innovator. It's always kind of looking back and trying to capture best practices. And, we're not there yet in terms of Java EE and microservice, because it's just not a good fit, right?
If you want to build a monolithic application, go crazy. Use Java EE. You will be safe for another millions of years, like using Cobol is still possible today. And we have a lot of old mainframes running in various basements, so it's not going to die and not going to go anywhere soon-ish. But if you are really interested in modern architectures, in microservices, and highly performant, scalable, reliable applications, then you definitely should look somewhere else.
Tonya Rae Moore: So do you think all these new applications are going to be microservices-based from now on, or they should be anyway?
Markus Eisele: Um, good question. I have an opinion on that. I'm a big fan of the 80/20 principle, and I do believe that we still will see a lot of monolithic applications out there, like the day-to-day stuff that is just departmental. IT will be there for a lot longer, and until it is easier for people to build modern architectures with microservices than it is to just grab a random intern from the street and have them build a Java EE application with a bunch of wizards -- we will see the top 20 percent of all mission-critical things built on microservice architectures. But, my basic assumption is that this is going to change very quickly and might end up just being 20 percent for Java EE at the end of the day.
Tonya Rae Moore: So if you're a new Java developer, or even not a new Java developer, you can really pick a path you think at this point?
Markus Eisele: Yeah, it's going to be hard. Java in general, all the platforms, they don't know the term "microservices." They know about concurrency. They know about parallelism. They know -- they basically give you a very, very low-level toolset to build applications that could be good microservice-based architectures. But, it requires a hell of a lot of knowledge. So, Java EE is a lot easier because you have all the defined technical artifacts, let's say servlets and JSP pages, stuff like that. So, the variety to choose from in terms of frameworks is very, very limited at the very moment. So, what we need to learn as Java developers, first of all, is to embrace everything that Java as a language brings us, that brings us closer to microservice-based architectures.
Let's talk about Java, Java Streams for example. This is something that we barely have seen so far; functional programming as a rough idea, as a skill set that hasn't been needed so far, because all the APIs and all the approaches in Java EE are basically blocking I/O call -- blocking calls, not only I/O, but down to I/O, which it's always blocking. So, we need to change our thinking in terms of architecting applications. And, there isn't a lot of material on that out there in the web because it's just not mainstream yet. If you're a new developer, if you really want to look into that kind of things, go crazy. Make yourself familiar with the latest developments in Java 8, and everything that has to do with non-blocking program.
Tonya Rae Moore: Well, I guess that kind of leads us into Lagom. When Typesafe turned into Lightbend magically last week, we also announced that we are starting our own platform named Lagom. Have you got up to speed on it? Can you talk about it for a minute?
Markus Eisele: A little bit. I mean, what it is going to look like, probably not so much. But, at least we only have like, what, roughly a week to wait until we hear some more news about it and some more technical details.
Lagom is actually going to be a microservices framework. So, we have one thing in mind. It is highly opinionated, and we really wanted to be good at one thing. So, it should kind of deliver application developers more than just a set of low-level technologies that they can use, but more like a corset, something that they can walk into and be familiar with very quickly, to build those very complex microservices-based architectures in a very easy way. So, this is what Lagom basically will help you with. And I'm hesitating to compare it to something like Java EE, but in -- at least in my mind, it is something like that. So, a set of interfaces, a set of APIs that are very strict, that can do one thing, and this one thing perfectly fine. And you don't have to come up with all the problem solutions that you would usually need to find if you're just basing your applications on the JVM itself. And, it's not so low-level like Akka. You can do a lot of great architectures with Akka, for example, already. And Akka also has the microservice approach behind it, but you need to know a lot more. So, Lagom will be highly opinionated in that point, and it is designed to actually break down monolithic applications. So, if you already have a monolithic application on Java EE, which followed design principles that are suitable to be translated into microservices architectures, speaking of domain-driven design, then you will be very quickly up to speed with Lagom, and you are able to migrate those applications onto the new stack. And Lagom will give you everything that you need, including a full-blown development environment.
Let's step back a bit. Like Java EE was one server, right? So, developers had their IDE. They deployed something in the server, started up the application, everything was fine. Microservices tend to run individually. So, speaking of an application that has 10 services, you basically would have to start up 10 different application servers if you want to do that in Java EE. Even if you have 10 individual services with Lagom totally takes over control, helps you with everything that makes your development lifecycle easier, and gives you a complete set of tools that allows you to have a very smooth development process, and also stage that into production with all our tooling behind. So it's going to be a very straightforward approach to building microservice-based applications.
Tonya Rae Moore: It sounds really exciting. I have to admit, even not as a developer I'm really excited to see what the sandbox looks like.
Markus Eisele: There's going to be a hell of a lot more. We're not only talking about the different APIs and interfaces; we're also giving you a good way to store data differently. So, instead of just using JDBC for traditional, relational databases, we will also help you adopting new persistence concepts that actually are needed in microservice-based architectures, and Java and Java EE developers just aren't familiar with right now. So, we're trying to make everything a hell of a lot simpler and easier to implement.
Tonya Rae Moore: I've been saying --
Markus Eisele: And yes, it's freaking exciting.
Tonya Rae Moore: [Laughs] I've been saying for a long time that the entire point of our company is to find pain points and try and solve them. So it sounds like we're on schedule for doing that yet again.
Markus Eisele: I can't wait to share the first information about it. I've seen a couple of screen casts already out of engineering, and obviously have the source code, and am playing around myself. The demo applications will be very, very interesting and easy, and I'm definitely going to blog about it. And my main focus will be to exactly help the Java developer, like the typical guy out there to have a good head start with Lagom, and understand what you can do with it.
Tonya Rae Moore: So I guess we'll continue to see you around in the conference world, making the tours and talking about what's new and what's fresh, right?
Markus Eisele: Absolutely. And I will focus on microservices, on rollout, bigger architectures, everything that could be interesting for the enterprise developer. And I will definitely help them to grow a bit and make this experience just smooth and easy.
Tonya Rae Moore: I'm really excited to have you onboard, Markus. You have been one of my mentors, and I know you've been a mentor to many a baby Java dev out there in the world. So, I really think that you are key in helping us get some of our message out there to the Java community. I'm really glad you joined. I'm happy to see you.
Markus Eisele: [Laughs] I'm blushing.Thank God this is only a podcast. I'm so excited, I can't wait. I mean, yeah. It's a great chance for me as a person to learn a lot more new technologies. You know that I'm restless like hell.
Tonya Rae Moore: Yeah.
Markus Eisele: So, having stuck for what, 14 years on the same technology, it was about time. And, on the other hand, it's such a great team in Lightbend, I don't know what to say else.
Tonya Rae Moore: [Laughs] Now I'm bushing. So what are the next couple of things that we'll see you -- just so we know, out and about in the community, at conferences -- what are the next couple of things we're going to see you at?
Markus Eisele: JavaLand.eu. But I won't give a session there because it's just my own conference.
Tonya Rae Moore: Right.
Markus Eisele: Going to be fun. We have a couple of Lightbend sessions. I think it's one or two at least. So if you're really, really interested, you might be able to see something about Lagom very early. Beside that, I'm going to be in Oslo on an Oracle user group tour, talking a little bit about Akka technologies. I will be in April in New York for the O'Reilly Software Architecture Conference giving a workshop with Josh Long, which is going to be awesome.
Tonya Rae Moore: YAY, Josh Long. I didn't know that. That's great.
Markus Eisele: And Scala Days is upcoming in May, again in New York. So, I think I need to start to accept that city.
Tonya Rae Moore: [Laughs] Markus, are you going to learn Scala?
Markus Eisele: Not yet.
Tonya Rae Moore: Okay.
Markus Eisele: Just because I don't want to spend my cycles on it. I am a Java developer, and I will stay a Java developer, and I think Scala is a great language from all I know. It's just not something I'm interested in right now, right here. And, I will have to play that for a little longer, until somebody forces me to really learn it.
Tonya Rae Moore: Well, you know, I got to admit, I think we've got enough great Scala guys under our Lightbend belt. It's nice to have some more great Java guys. So, like I said, I know that the entire engineering team is just thrilled to have you, as am I.
Markus Eisele: And, again, Scala is also running on the JVM, so at the end of the day we're all a big family, and I'm really proud to be part of that.
Tonya Rae Moore: Again, hashtag, same team. Thank you, Markus, for taking a couple of minutes to talk to me, especially as I'm sitting here in the LAX Hilton trying to get back home. Thanks to everyone who listened. Check out lightbend.com for more information about the upcoming Lagom framework and reactive platform. We've got all kinds of good stuff for you guys. You can always Tweet to Markus. He loves Twitter. He's @myfear. You can always Tweet at me @tonyaraemoore, or @lightbend for Lightbend. I also always check the Typesafe podcast hashtag (ed. note: now #lightbendpodcast) for feedback and suggestions on improvements. This is always a work in progress. We are an evolving community, you guys. Thanks, Markus.
Markus Eisele: My pleasure. Just one short teensy little thing to add.
Tonya Rae Moore: Of course.
Markus Eisele: Lagom actually has a Twitter handle too, because I love Twitter. So it's @Lagom.
Tonya Rae Moore: And that's -- apparently you're taking over that handle.
Markus Eisele: Done.
Tonya Rae Moore: Okay. [Laughs] So you can also tweet @Lagom. Thanks to everyone who listened, and thanks to my very special guest, Markus Eisele. See you later, guys.
Markus Eisele: Bye-bye.