Troubleshooting HTTP 502 Bad Gateway in AWS EBS
The application that we are going to discuss in this post was running on Elastic Beanstalk (EBS) service in Amazon Web Services (AWS). Intermittently, this application was throwing an HTTP 502 Bad Gateway error. In this post, let’s discuss how we troubleshot and resolved this HTTP 502 bad gateway error in Elastic Beanstalk service
Not only java.lang.Math: what about Apache.commons.Math?
Novice programmers are sometimes too hesitant to explore unfamiliar tools. Especially if there are generally accepted solutions to its problems. However, you may find that some lesser-known tools are better suited for your tasks. There can be many reasons, the simplest one being that these tools may simply have a better implementation and be faster. In this article, we will look at some parts of the Apache Commons Math library that will be useful for mathematical calculations.
Kotlin – the better Java?
The Kotlin programming language saw the light of day in February 2016 with version 1.0. In 2019, Google declared Kotlin the "first-class citizen" of Android development, helping it achieve a breakthrough. But what makes Kotlin special? Why is it worth taking a look at even for Java veterans who have nothing to do with Android? This article will cover this and other questions.
What I learned about Java from Clojure
It's 2012: Curiosity lands on Mars, Windows 8 is released, the first part of "The Hobbit" hits theaters, the Beastie Boys break up, and Germany once again fails to win the European Championship. Excluding the Mars landing, this is (subjectively) a year full of disappointments. Apparently…
Zero Trust with Microservices – it’s easier than you think!
If you think these security problems with microservices through to their logical conclusion, you will see that only a zero trust approach can provide sufficient security protection. Zero trust means that basically no (micro) service can be trusted, not even if it is located in a trusted zone.
(R)Evolution Java 8 to 16
Many companies are still using Java 8, although various exciting innovations have been added in versions 9 to the current 16. Why is that? And what could you be missing out on?
I/O Stream Memory Overhead
Each PrintStream uses about 25kb of memory. This might seem reasonable if we only have System.out and System.err. But what happens if we try create millions? And why do they use so much memory?
Choreography vs Orchestration in serverless microservices
Should there be a central orchestrator controlling all interactions between services or should each service work independently and interact through events? This is the central question in the choreography vs orchestration debate. In orchestration, a central service defines and controls the flow of traffic between services. With centralization, it becomes easier to change and monitor the flow and apply consistent policies.
Spring Boot Auto Configuration
Spring Boot has always fascinated me. No more fiddling around with different versions of application servers and different environments between local development, testing and production. If you deal with Spring Boot, you quickly come across the term Auto Configuration - a term that most people interpret as "Spring Boot does it right somehow". But what exactly is right?
Keeping Your Java Applications Secure
Java security is an important topic for all businesses that use Java applications. Java Champion Simon Ritter takes a deep dive into the JDK and the potential shortcomings of not keeping your applications up to date, as well as why it's essential to know the difference between critical patch updates (CPUs) and patch set updates (PSUs).