Posts by Thomas de Groot

Practical intro to Java LTS upgrade (11 to 17)

Posted on by  
Thomas de Groot

As of the release of Java 17 a new LTS has been available, but what is in it for me exactly and which features can I use during projects?
Most of the blogs I read only describe 1 version upgrade and also discuss a lot of features that are/were still in preview.
I decided to summarize which features are released from java 11 to 17 (one LTS to another) and in specific only those that I thought could be interesting during my everyday work as a Java developer.
So in this blog I wont be talking about the features that are in Preview or tools that came with the new JDK’s.

Helpful NullpointerExceptions

You love to hate them, NullpointerExceptions…​ But they got a little better because from now on the exception will tell which variable is the culprit. And I know, the best NullpointerException is no NullpointerException at all, but still once they occur they better tell what’s wrong.

This feature has been released since Java 14, in Java 15 they made the extra information about which file/line had caused the error as default.

Continue reading →

Running AWS locally with LocalStack

Posted on by  
Thomas de Groot

More and more companies are switching over to cloud native environments. As a developer this gives me a lot of services to create awesome applications. The challenge that occurred to me right away was how to use all those new components during development, since some companies do not have a testing/development environment in their cloud provider to play with. LocalStack piqued my interest to simulate an AWS environment locally on my laptop, or when running the CI/CD pipeline.

This blog will give a brief introduction in what LocalStack can do and how you can use it for your own projects.

Continue reading →

Using AWS API Gateway as an proxy

Posted on by  
Thomas de Groot

During my last year at JCore I was given the opportunity to do deep-dive in a self-chosen topic in the form of a 'Specialisation'. For this 1-year project I chose to dive deep into AWS how it works and how I, as a developer, make use of it. Some of the topics I covered during this were: DevOps, CI/CD and Security. As a demo and as use case I created a simple pubquiz application in which you can register and have a custom form for your answers. During the development of this application I faced different challenges that I had to overcome. This blog is about how I created a simple API that is exposed to the internet and how I tried to tackle the challenges of security, scalability and adaptability.

The application I created consisted of a container image which hosts a simple API that is made with Java, Spring and AWS SDK. So for this backend application I created a Virtual Private Cloud(VPC) with a Fargate task in a private subnet so the application itself is not exposed to the internet. The goal was to make an API with the API Gateway that defines the API that redirects the correct call to my Fargate instance that is in a private subnet.

Here’s an overview of the infrastructure of my backend application:

Figure 1. My application infrastructure

Continue reading →

shadow-left