Image for post
Image for post

For an onPremise-to-cloud project, i was asked to port a java application to AWS. Before the migration the application talked to a ClamAV daemon on the same server so we needed a quick alternative to be hosted on AWS.

The application already sits inside a private subnet on a ECS cluster powered by an EC2 instance, so i thought that putting another another cluster, this time with Fargate might be a good choice. …


Image for post
Image for post

The AWS Client VPN Endpoint is more on the expensive side and since there is no easy way to activate or deactivate it, i will show you how to automate creation and destruction of this service without even the need to change the VPN Client config.

The problem

The Client VPN Endpoint is a service which comes in handy when you have databases or other services in your private AWS VPC subnets which you need to administrate from time to time. The monetary issue is, that even if you dont need this VPN that often, you are paying 24/7 for it. When clients connect to the VPN, there is of course a surcharge for the minutes being connected. So its a two layered pricing: service availability on the one, client connection time on the other hand. And unlike EC2, where you can just “stop” a server without losing the configuration of the server, the VPN can only be deleted in wich case its gone forever including all those configs like certs. …


Image for post
Image for post
Photo by KS KYUNG on Unsplash

Creating a VPN in AWS is quite a common task if you hide some of your services in private Subnets and need admin access to it. Unfortunately there is no full featured Conctruct for that in CDK yet. But there are the Cfn* lower Level Resources to achieve what we want.

I wont get into detail how to install or setup CDK. I’ve done some of that in one of my previous articles which you can see or just use the official AWS getting started documentation.

The example VpnStack

I will post the whole Stack called VpnStack below and then will explain the details. …


Image for post
Image for post

In a perfect world we have a good git flow matching the companies’ needs, which is the base for an automated deployment pipeline, acting on git commits on certain branches and does all the heavy lifting for you like building code, testing code, building a docker image, deploying a docker image and on top of all that, notifies you when something bad happens, or just generates a nicely looking application ready to run if everything’s ok.

This tutorial will get you started with a minimal setup, which is in fact not that minimal, so that you can further implement your own features afterwards while having quick success in the meantime. It will consist of a really simple HelloWorld Webapp written in Java (Spring Boot) which just returns an image and one clickable link) and the infrastructure project in typescript. …


Image for post
Image for post

Letting your Flutter applications log in the cloud is a very good idea when it comes to beta test software within a closed user group. Here you want as much information about your app behaviour as possible. Having no access of the user devices log system in fact requires a cloud based application to log into. Furthermore you want a system where you can easily search your log content and submit tags like userId on each log statement.

The ELK stack of http://logz.io

The company offers an easy to integrate logging system with full search capabilities with the help of Kibana, Elasticsearch and Logstash. Apart from doing searches via their nice User-Interface, you can also do a Live-Tail, which is exactly what its name implies, a web based tail on all your logging actions. …


Image for post
Image for post

But before i will dive into Flutter and Dart, some words about my background so that you understand where i am coming from or better, where i am NOT coming from. First of all, i am not a mobile developer. Never have been. For the most part of my professional life, i was a fullstack developer in the Java space and a bit on the desktop too (yikes! Yeah i know. Back in the days….). And along the way i touched many things, mainly to see how they work.

But why i am telling you that? When people talk about their experience with a new language or framework, their feelings really originate from their past experiences. …


Image for post
Image for post

We are providing demo systems of our software which we deploy on AWS Elastic Container Service via Fargate. Unfortunately its not possible yet to provide a predefined Elastic Network Interface (ENI) with a fixed IP for a stack which we could reference in Route53. So we created a smart cron job which does the task for you by periodically checking ECS and modifying Route53 zone records.

The problem with a public IP Address in ECS Fargate

If you ever created an ECS Stack with Fargate (instead of old fashioned EC2) you noticed that AWS will apply a new public IP Address each time you start the task. …


In the world of Docker containers, Spring Boot is really a nice way of creating compact self-runnable applications where the needed servlet container is embedded into the executable JAR/WAR file. Creating a docker container would be a no brainer, if….

Image for post
Image for post

… if the application to package wouldnt be a JSP based application. Because if thats the case, some major problems arise. It starts with the fact that you cant use an executable JAR because the embedded servlet container is not able to find the JSPs anymore due to the way the JAR is structured. …


Leverage the power of cross-platform Gmail extensions

Image for post
Image for post

Since late 2017 Google provides the new Gmail Add-on system to the broad public. A lot of SaaS projects, not only document management or CRM systems, benefit from a tight integration into email. Since Gmail Add-ons are cross platform and even cross devices (mobile and desktop), they are a good candidate to extend the reach of your SaaS business. They simply let you integrate your app into Gmail and extend Gmail to handle quick actions.

But what is a Gmail Add-on?

Quoted from Google: Gmail add-ons are developed using Apps Script, a scripting language based on JavaScript that serves as a connective platform between Google products like Docs, Sheets, Drive, and Gmail. Every Gmail add-on has a corresponding Apps Script project where you define your add-on’s appearance and behavior. …


Image for post
Image for post

This article is outdated. Please go to https://medium.com/aws-factory/recaptcha-form-with-an-amazon-aws-backend-based-on-cdk-78377db58d1f to see the latest revision on this topic.

In this article i will show you how to implement a website form with Google’s reCaptcha and an Amazon serverless backend environment consisting of AWS API Gateway, AWS Lambda and AWS SNS. The last part, the Simple Notifiction Service does the email sending of the form but you could do various other actions on top of it. The beauty of SNS is that you can add more subscribers as you like and make this form pretty powerful without hacking too much. …

About

Marc Logemann

Entrepreneur and CEO of logentis.de and okaycloud.de, (AWS) Software Architect, likes Typescript, Java and Flutter, located in the Cloud, Berlin and Osnabrück.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store