Hip Hip Hooray, 10 years of blogging

This month it has been 10 years ago that I published my first blog post. The post was about Oracle BPEL which was quite hot back then. Of course lots has changed in IT since then but not my eagerness to learn new things and writing about them.
Last week I received a mail that my blog was selected as one of the top 40 Java blogs on the web (not sure if that is good as I was in the top 5 in 2015 :-/). But nevertheless I guess this is one of the reasons I am writing these posts: to help out others as other blogs are often helping me.
Another important reason is getting new assignments by showing others what I am working on. Besides starting to blog ten years ago I also started working as a IT freelancer. This blog brought me several freelance assignments of which the nicest one was a three week job in Mauritius during the Dutch winter season 😎
So I intend to keep on posting for at least the next ten years. There is still enough to learn as I notice every day and who knows what it might bring.

Posted in General | Tagged | Comments Off on Hip Hip Hooray, 10 years of blogging

Making Spring Boot application run serverless with AWS

searchIn several previous posts I described how to setup your Spring Boot application and run it on AWS Elastic Beanstalk. Although this is a great step to go from a physical server to one in the cloud there is an even better step possible! Going serverless. That means no costs for any server and no maintenance or configuring of servers! That sounds good, right? AWS has made it quite easy to go serverless with the combination of AWS Lambda and AWS API Gateway. In this post I will describe what it took for my Spring Boot application that runs on Elastic BeanStalk to run the same functionality serverless. Continue reading

Posted in AWS, cloud | Tagged , , | 3 Comments

Configure AWS Elastic Beanstalk application to use SSL

beanstalkIn this post I show you how to set up HTTPS for an application (REST API) running on AWS Elastic Beanstalk. This post is the last in a serie of three. As described in my previous two post I have performed the first two steps to obtain a SSL certificate for my subdomain and I am ready to use it now in the third and last step:

  • Assign a (sub)domain to your application
  • Obtain a certificate from the AWS Certificate Manager
  • Configure AWS Beanstalk application to use SSL

Continue reading

Posted in AWS, Security | Tagged , , | Comments Off on Configure AWS Elastic Beanstalk application to use SSL

Get a Certificate from AWS Certificate Manager

aws_certificate_managerRecently AWS made the ‘Certificate Manager‘ service available in the Europe region. With this service you will be able to use SSL certificate (for free) with your applications hosted on AWS. The big advantage compared to the solution I described here is that this way I don’t have to put the certificate in my source code or have to copy it to my application. As I described in my previous post I want my Elastic Beanstalk application only to be available via HTTPS. To get this in place I need to take the following steps:

  • Assign a (sub)domain to your application
  • Obtain a certificate from the AWS Certificate Manager
  • Configure AWS Beanstalk application to use SSL

Continue reading

Posted in AWS, Security | Tagged , , | 1 Comment

Assigning a subdomain to a Beanstalk application with AWS Route 53

AWS_Simple_Icons_Networking_AmazonRoute53.svg
In a previous post I wrote about how to run a Spring Boot application on AWS by using Elastic Beanstalk. I also described earlier how to make your Spring Boot application making use of HTTPS instead of HTTP in combination with BoxFuse. I ended up in that solution to include the necessary SSL certificate in my application sources. Another way to accomplish the SSL connection would be to have the Elastic Load Balancer (ELB) in the Beanstalk Application terminate the SSL for us and let the Spring Boot application just communicate over HTTP with the ELB. This set up might be a very handy (perhaps minimal but sufficient) way to add security to the communication level of the API/web application.
To accomplish this set up I need to take several steps of which I will describe the first one in this post. The steps to perform are:

  • Assign a (sub)domain to a Beanstalk application
  • Obtain a certificate for the subdomain from the AWS Certificate Manager
  • Configure AWS Beanstalk application to use SSL

As said before in this post I will only show how to assign a subdomain to the Beanstalk instance. In my situation the parent domain is registered elsewhere (a provider other than AWS). The parent domain that I have registered is ‘palmapps.nl’. The sub-domain I want to register is ‘test.palmapps.nl’.
Continue reading

Posted in AWS, Security | Tagged , , | 4 Comments

Configuring the Elastic Load Balancer of your Elastic Beanstalk application

elb-iconIn my previous post I showed how to run a Spring Boot application on AWS using AWS Elastic Beanstalk. In that post I mention that it is possible to bypass the default Nginx instance on the EC2 instance and have the Elastic Load Balancer communicating with a custom port on your EC2 instance(s) directly. In this post I show how to achieve that. Continue reading

Posted in AWS, Spring Framework | Tagged , , | Comments Off on Configuring the Elastic Load Balancer of your Elastic Beanstalk application

Run your Spring Boot application on AWS using Elastic Beanstalk

beanstalkAlthough I previously wrote how easy it is to get your Spring Boot application up and running on AWS by using Boxfuse I think it is good idea to have notion of some alternative ways to achieve the same. One of these alternatives is by using AWS Elastic Beanstalk. In this post I will describe the basic configuration to get your Spring Boot application running in the cloud on AWS. After the Elastic Beanstalk is created you will have at least one EC2 instance running on AWS with an Elastic Load Balancer in front of it. Also an Auto Scaling Group is provided and of course some Security Groups. When put in a diagram it looks like this (by the way, the database part will not be used in the example of this post):
aeb-architecture2
I assume you already have an account for AWS. If not, go get your free subscription for the first year (mind the conditions to make sure it stays free). Continue reading

Posted in AWS, Spring Framework | Tagged , , | 3 Comments

Validating JWT with Spring Boot and Spring Security

spring-securityFor my current project I will have a REST API set up with Spring Boot (most likely running with BoxFuse). To be able to use the API endpoint the application will check that the incoming request has a valid JWT token provided earlier (by an API service that I trust).
To implement this functionality I want to make use of Spring Security as it fits nicely with Spring Boot. When googling for information about this combination I ran into this site that describes the background information quite nicely but didn’t give me all the necessary sources to get it running. So after some more investigating and trial & error I finally came to a working solution. Note that in my situation I only needed to validate an incoming token, I don’t need to create or supply new tokens. Continue reading

Posted in Security, Spring Framework | Tagged , , , , | Comments Off on Validating JWT with Spring Boot and Spring Security

Setting up https for your REST API with Boxfuse

boxfuse-logoIn my last post I showed how easy it was to get your REST API based on Spring Boot framework up and running on AWS with the help of Boxfuse. The next step is making use of SSL for the communication with the API. By using SSL we make sure our data is save during the transport between our REST API server and the API client. To setup SSL for the Spring Boot application you have to perform the following two steps:

  • Create a keystore
  • Configure the Spring Boot application

Continue reading

Posted in AWS, Spring Framework | Tagged , , | Comments Off on Setting up https for your REST API with Boxfuse

Make running your Spring Boot application in the cloud super easy with Boxfuse

boxfuse-logoA few days ago I started building an iOS app that would be using a REST API to retrieve and store data. This REST API would be a server application that I also have to build. Since I am familiair with Java and Spring I decided to use Spring Boot as framework. To be able to use it with my iPhone it would be nice if I could run it on a server instead of my own development PC, so for this I choose AWS since I know how to use that. The only thing I hadn’t figured out yet was what would be the easiest way to get my Spring Boot application running on an AWS EC2 instance… Continue reading

Posted in AWS, Spring Framework | Tagged , , , , | 3 Comments