Libraries

Episode 102. Oh my… Spring Boot 3 is out! An interview with Dan Vega from the Pivotal Team!

Ok, so it’s an incredible time to be in the Java Ecosystem, and one of the biggest frameworks out there just dropped their three-point-oh version! That’s right! So Spring Boot is not officially 3.0, and it has as a Baseline Java 17! (oohh!!). So we brought in the big guns to talk about what does it mean to Upgrade to Spring Boot 3, and what are the new cool toys we can expect from that upgrade!

In all, an amazing interview full of great things that are available NOW (so whatcha waiting for! Upgrade!)


http://www.javapubhouse.com/datadog
We thank DataDogHQ for sponsoring this podcast episode

Don’t forget to SUBSCRIBE to our cool NewsCast OffHeap!
https://www.javaoffheap.com/

Do you like the episodes? Want more? Help us out! Buy us a beer!
https://www.javapubhouse.com/beer

And Follow us!
https://www.twitter.com/javapubhouse

Episode 99. SHHH! It’s a secret! (Storing API Keys / Passwords / tokens!)

Ok, so is time to talk about something secretive! Like API Passwords, Auth tokens, or keys… these are things that we want to have as a Secret within our microservice. And yeah, adding them into your source code is a big no-no

Here we cover the dos (and dont’s) of secret management, what are the benefits and drawbacks of the different solutions and we explore some of our favorite open source (and Cloud tools) for keeping secrets. We answer some important questions on how to effectively store and manage these secrets (the short answer is don’t try to do it yourself!), and end up with the list of best practices for it.

If you are building a non-trivial (or interesting) web service, this is a must-listen episode!

http://www.javapubhouse.com/datadog
We thank DataDogHQ for sponsoring this podcast episode

Don’t forget to SUBSCRIBE to our cool NewsCast OffHeap!
http://www.javaoffheap.com/

Language Features

Using AWS Secrets Manager to manage secrets in Spring Boot
https://raymondhlee.wordpress.com/2019/10/11/using-aws-secrets-manager-to-manage-secrets-in-spring-boot-applications/

AWS Secrets Manager
https://aws.amazon.com/secrets-manager/

Spring Cloud AWS
https://cloud.spring.io/spring-cloud-aws/reference/html/

Hashicorp Vault
https://www.vaultproject.io/

Do you like the episodes? Want more? Help us out! Buy us a beer!
https://www.javapubhouse.com/beer

And Follow us!
https://www.twitter.com/javapubhouse

Episode 96. Watching Metrics w/Micrometer and Statsd

You’ll run it everywhere there’s a production system. Some kind of Metrics collector like Statsd or InfluxDB. They work like magic, reporting on the health of your application. but how does it really happen?

We dive in on how these Application Performance Management tools work and how do they really “see into” your application. We demistify all this magic, and actually describe how to add “new” metrics and how to publish it!

If you ever worked in a production application, and were wondering how do these metrics get graphed and collected, well, wonder-no-more! We go deep into Micrometer (the SLF4J of Metrics) and how it all works!

http://www.javaoffheap.com/datadog
We thank DataDogHQ for sponsoring this podcast episode

http://www.javaoffheap.com/datadog
We thank DataDogHQ for sponsoring this podcast episode

Don’t forget to SUBSCRIBE to our cool NewsCast OffHeap!
http://www.javaoffheap.com/

Micrometer
https://micrometer.io/

Creating Meters
https://micrometer.io/docs/concepts#_meters

Spring Boot and Micrometer
https://spring.io/blog/2018/03/16/micrometer-spring-boot-2-s-new-application-metrics-collector

Statsd
https://github.com/statsd/statsd

Do you like the episodes? Want more? Help us out! Buy us a beer!
https://www.javapubhouse.com/beer

And Follow us!
https://www.twitter.com/javapubhouse

Episode 95. Ludicruos speed! Practical GraalVM

So we had a previous episode where we show a party trick with GraalVM, where we saw how to create a Native Image. It was really the “hello world” of Native image creation, so Bob decided that’s not good enough!

In this epidose we dive a little deeper on how to actually run your Restful Web service (or other app) natively, going through the exercise of debugging GraalVM builds including adding Maven plugins, finding out how to quelch the different reflection errors and how to deal with resources (and those pesky JNI / so libs).

In all, this is more of actually a practical use of GraalVM, not just a “it can do it”, but more, how is it done. So want ludicruos startup speed and performance? then press play and listen!

http://www.javaoffheap.com/datadog
We thank DataDogHQ for sponsoring this podcast episode

GraalVM Native Image Options
https://www.graalvm.org/reference-manual/native-image/Options/

Maven GraalVM Native Image Plugin
https://www.graalvm.org/reference-manual/native-image/NativeImageMavenPlugin/

Apache HttpComponents
http://hc.apache.org/

https://www.graalvm.org/docs/getting-started/linux/

GraalVM Resources
https://www.graalvm.org/reference-manual/native-image/Resources/

Build Configuration
https://www.graalvm.org/reference-manual/native-image/BuildConfiguration/

GraalVM Example Code
https://github.com/bobpaulin/javapubhouse-graal-episode/
https://github.com/bobpaulin/opencv-1/tree/feature/add-native-image

GraalVM Native Image InvalidAlgorithmParameterException
https://github.com/oracle/graal/issues/768

Don’t forget to SUBSCRIBE to our cool NewsCast OffHeap!
http://www.javaoffheap.com/

Do you like the episodes? Want more? Help us out! Buy us a beer!
https://www.javapubhouse.com/beer

And Follow us!
https://www.twitter.com/javapubhouse

Episode 93. Not your Grandpa’s Serialization Part DEUX!

We’re back! and now we move to the new-fangled serialization and deserialization frameworks, starting with Protobufs! Google’s contribution to the serialization space, Protobuf V3 makes it easy to create a very efficient on-the-wire serialized representation of objects, and then some. With the ability to have both backwards and forward compatible changes, protobufs is a great choice for transmitting information across services.

But not to be outdone, @BobPaulin goes in and covers Thrift, which goes a step beyond than just serializing messages, but also takes care of the “Transport layer”, adding the ability of doing Remote-procedure-calls! Imagine if instead of saying “I need to send a message to that service, and then the service can process it and send info back”, you just said. “I want to call a method on that service with this parameters and get the results”. Thrift exposes that functionality by letting you have an interface that you can just call in your client service, and it “magically” coordinates all the gnarly stuff to encode, transmit, execute, decode, and present your call. You don’t even have to think (too deeply) about how it all happens. As long as you define your thrift objects, thrift methods, and Thrift transport, the framework will let you just think of methods to call! that’s it!

So in all, a very fun episode where we discover what the new types of serialization frameworks are up to. If you ever had to create a message, or ever had to annotate an object as Serializable, then do take a listen to this episode!

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!


We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 92. Not your Grandpa’s Serialization!

Ah, Serialization… the bane of every Java Developer! If you are still using ObjectOutputStream, and Serializable, then you do want to listen to this episode! We move past the objectoutputstreams to what most people are running into these days! (Starting with 2001 and JaxB… and then moving forward from there to Json, and in Part 2…protobuf and thrift!).

But oh, no all serialization is equal, and there are tradeoffs are we go through the different serialization / deserialization libraries (Convenience, Speed, Rigor? all these are things that one need to take into account when choosing a serialization strategy). So take a listen (and watch the video if you want to follow along) as we explore the interesting and great world of Java serialization frameworks!

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!


We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 88. Logging! (An Interview w/Renaud from DataDog)

One of the first things that you learn to appreciate when you transition programming from hobby to a way of life is to find a good way to troubleshoot problems. Most of the time this means logging and monitoring, so for this episode we decided to interview Renaud Boutet who is DataDog’s VP of Product Manager, and don’t worry, he’s really a developer that went to the “Management” (i.e. dark) side, so he knows what he’s talking about!

Diving into topics from Logging Frameworks, to MDC, to a discussion of the three pillars of observability (Metrics, Traces, and Logs), this episode have good advice for everyone. From your first System.out.println (“I’m here”) to your slf4j with MDC setup, you’ll sure learn new tips and tricks!

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!



We thank DataDogHQ for sponsoring this podcast episode and providing our Guest Speaker!

DataDog Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 87. Ok, it’s time to get Reactive!

It’s that Streaming-new-deal that has been taken over the web world, Reactive! You’ve heard about it, and maybe even tried to learn it a couple of times but find it confusing? Well, be confused no more since on this episode Bob and I explore the basic foundations of Reactive (and explain what is that makes is so confusing to begin with)

But that’s not all. We also dive on why is such a “hot” technology and why is the recommended approach on new microservices, even so, we also explore its drawbacks and why we shouldn’t rip everything apart to make “reactive” things.

Lastly we start exploring one of the “reactive” frameworks with Spring WebFlux, and explore how to “think” about Reactive (and came with the marble track analogy). In all, this episode will shed light on a topic that has been hard to understand, but on which, if done correctly can bring a very large performance gain!

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!



We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 84. Let’s get down and dirty w/Netty!

So you get that project that needs to connect to a server that doesn’t talk rest, or http(s), but has its own protocol (or maybe it DOES talk https but you are looking for incredible performance!). Well, look no further than Netty! Sure, sure, you could really spend time working with NIO.2 and creating your own sockets and all that jazz, but why? The Netty.io folks already did it, and by golly they created a library that’s “blazingly fast”.

So take a dive into this episode where we talk about the main netty concepts (like pipelines and handlers), and give you a tip or two as you embark down into protocol performance bliss. Netty has seen it all, and has been battle tested for a while now (Have you heard of Jetty? well, that has Netty under the hood), and best of all, we go over how to be “lazy” about it! Netty really implemented a lot of protocols, events, and stuff already (for example LengthFieldBasedFrameDecoder, ProtobufVarInt32FrameDecoder, SslHandler, WebSocket00FrameDecoder and much more!), so you don’t have to be the wiser and implement things from scratch… chances are… Netty already has them (or at least will have the right tools to create your own thing).

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!



We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo

We also thank OverOps for sponsoring this podcast episode

OverOps Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 82. Uh-oh Spring… you got some serious competition from Micronaut!

So the internet is all raging about this (not so little) framework that is doing it all. Created with a “cloud-first” mentality, @Micronautfw is aiming to be your next Spring Boot! And, oh gosh, how easy they are making it.

We dive into what makes Micronaut such a darling of the internet right now (not using reflection, GraalVM ready, better memory consumption) and see how much “stuff” is in there (the TLDR; A Lot). We go from creating a microservice, to looking at the different already-implemented features like circuit breakers, properties/profiles, beans, support for lambdas, micrometer, reactive programming, and all. While it might not have “everything” that Spring does, the reality is that it’s pretty solid.

Would you consider Micronaut for your next project? The answer is maybe (and for some cases, maybe Yes). So come, and take a listen to the underdog framework (Micronaut) that’s stepping up to definitively take the reigning Champ (Spring)

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!



We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo

We also thank OverOps for sponsoring this podcast episode

OverOps Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap



Do you like the episodes? Want more? Help us out! Buy us a beer!


And Follow us! @javapubhouse and @fguime and @bobpaulin