Misclicked and stumbled on this blog?
I can relate, every time using the UI of a cloud provider I’m always nervous I make errors in configuring my resources.
In answer to this DevOps is embracing GitOps, DevOps taking development best practices and applying them to infrastructure automation.
Continue reading →
Today is the 4th of October which is World Animal Welfare Day.
As a tribute, I would like to dedicate this blog to the man’s developer’s best friend: K9S.
All jokes aside, I would like to address the struggle I see with DevOps teams.
It is expected of every team member to possess the skills to manage your code but also the operations side like the CI/CD pipeline, and infrastructure like Kubernetes and Cloud providers.
Reality has learned that not every developer has extended knowledge of all those things like for example Kubernetes.
In this blog, I want to advocate for awareness of the difference in expertise and how I think you could help your team to learn and improve.
For example, the CLI and Kubernetes aren’t everyone’s besties, but with the CLI UI tool K9S, you can make Kubernetes a little more accessible for everyone.
Continue reading →
Java 21 the new Java LTS (Long Term Support) is out and as a tribute to it I wanted to write a blog about it on the 21th day of Blogtober.
What is new and which features are in it for me as a developer?
I’ve taken a look at the release note from java release 18, 19, 20 and 21 and here is small summary of some new features.
In this blog I only cover final released features and will exclude the features that are in preview or incubator.
Continue reading →
Recently I stumbled upon an example of why managing your dependencies in a maintainable way is important.
The issue I had was in a multi-module project where individual Maven dependencies were overridden everywhere,
the result was that a lot of dependencies were in conflict and upgrading these dependencies became quite troublesome.
One of the countermeasures for me was the use of certain Maven Bill of Material (BOM).
With using a BOM I only had to set version of dependencies once
and did not have to duplicate the dependency in the parent because the bom implicitly has it already.
Continue reading →
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 →
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 →
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 →
In my previous blog about Running AWS locally with LocalStack
I’ve shown you how to use Localstack, a tool to mock your AWS environment on your local machine.
When working with Localstack, I always had to prepare the environment for my application to run.
Most of the time this could be done automatically via scripts, but some preparations, for instance editing some data in a S3 bucket, could become a little tricky.
Continue reading →