Sending messages through AWS ElastiCache

A while ago we published an article to demo how to use AWS ElastiCache as a data store for a throttling mechanism. AWS ElastiCache is the “in cloud” version of Redis framework: an in-memory key-value datastore, distributed across multiple nodes, that offers sub-milliseconds latency. In this post we are going to present another use case […]

How logging could kill a microservice

The story we are going to tell is about a recent event. But is something that could have had very bad consequences and for that we want to share it with you. Recently one of our collaborators called us complaining that in a microservice he has, from time to time “one host is going crazy”. […]

Limit accepted requests using AWS ElastiCache

Let’s say you build an awesome service that exposes several APIs. We know: your service is scalable, robust and so on. But it cannot handle traffic spikes (5-10x) without being overscaled. And if it can, this is very expensive. A solution could be to reject calls that exceeds some limits, like calls from an IP […]

Get notifications when a change occurs to your Beanstalk environment

Elastic Beanstalk gives you the possibility of receiving notifications via email when a change occurs to your environment: new instances added, environment health modified or a different artifact is going to be deployed. As when we talk about security, there is never enough monitoring. 🙂 In order to enable this, the simplest setup is to […]

How to secure for free your endpoints with AWS

This post continues the series launched long time ago with the first article about microservices. Supposing you have the best microservice ever that is deployed with Elastic Beanstalk. It has one or more endpoints that by default communicates through HTTP protocol. Let’s see how to add the security layer without any cost and without too […]

Distributed locking with AWS SWF

  Maybe one of the first question asked by everyone has a system running on more than one computer is how to make sure that a task is processed by one and only one server from that fleet. In fact, this is a classic problem in the distributed systems ecosystem, and its answer has 2 […]

Configure Tomcat to support a maximum number of requests

It passed a while since we described why it is important to manage the number of connections your embedded Tomcat can handle and in that episode we promised that we’ll describe how to do that for a classical Tomcat container. Actually, this is very easy to realize just by setting the value of maxThreads inside […]

Run workflows using AWS Step Functions

The previous post about integrating SWF in a Spring Boot application received a lot of feedback that convinced us this topic is interesting for our readers. But from all the replies, there was one that anticipated the subject of a future post we are going to debate today: why not using AWS Step Functions to […]