Dynamic secrets with Vault

In the previous article we saw how we can configure Vault and write and read static secrets. Today, we’re going to see how we can use Vault to generate temporary users on a MySQL server so we can control access in a more secure way. First of all we’ll need a MySQL server connected to the same network than the Vault server. Let’s change the docker-compose.yml file to accomplish this.

Vault basics

Vault from HashiCorp is an amazing tool to manage the secrets on your organisation. It not only can help you to manage what they call static secrets that you can write and read, but also allows you to manage dynamic secrets to, for example, create temporary users in a MySQL database with certain permissions. It helps you to have a more secure organization. Today we’re going to see how can we configure and use the basics of Vault.

Analysing hotspots using CrystalGazer and NDepend

When you start working on a new project, there are a couple of things that you should try to discover as fast as you can: the shape of the code and the internals of the team you’re working with. You can (and should) try to discover both of them using conversations (at the end, developing software is having conversations (link in spanish)). But it’s also useful to try to discover this things for yourself, to confirm what the conversations are saying, or to bo a little bit faster.

ANTLR and JavaScript

In the last few weeks I’ve been working on Crystal Gazer, a nodejs console application to gather information from your Git repository. You can find it on GitHub and on NPM. One of the things I’d like to do is to track the evolution of a function. Has it been modified a lot? How many people has been working on it? Is the function too long? To answer the first question, what we could do is rely on the git log -L:function:file command to give us all the changes a function has suffered.

Calling a Step Function

Until now we’ve seen how to create a Step Function, but we’ve always called them using the serverless framework. In this article we’re going to see how to call them programatically. We have two options to call a Step Function: the first one is to use the API Gateway and create an HTTP endpoint as the Event source of the Step Function. The second one is to call the step function from a Lambda function using the AWS SDK.

Choice, pass, fail and succeed states in AWS Step Functions

This will be the last article explaining the different states we can use in a step function. We’ll see three simple states like Pass, Fail and Succeed and finally, we’re going to a see a more complex state like Choice. And obviously, we’re going to use the http://serverless.com framework to deploy them. Pass state The pass state is a simple state that just passes its input to its output, without performing any work.

Handling errors in AWS Step Functions

As we’ve seen in previous articles, Step Functions helps us to orchestrate lambda functions. One of the most important aspects when we’re developing a system, distributed or not, is handling errors and retries. In this articles we’ll see how easy is to do it using Step Functions and the serverless framework. Catching errors Coding the lambda First of all we’re going to catch some errors. Let’s create a new project with one lambda inside it named ErrorLambda with the following code:

Wait state in AWS Step Functions using the serverless framework

In the last article we’ve seen how to the parallel state in a State function. In this article we’ll see how we can use the Wait state using the serverless framework. The wait state delays the execution of the state function for a certain amount of time. By default, it returns the same object that it receives. What are we going to code We are going to code the following state function As you can see we’re going to have an initial function that creates a result with a field called DelaySeconds.

Parallel state in AWS Step Functions using .Net Core

In the last article we’ve seen how to create a very basic step function using .Net Core and the serverless framework. Today we’ll see how to create one of the more useful states in a Step Function: the parallel state. The parallel state allows you to create parallel branches of execution in your state machine. Using it, you’ll be able to run several tasks in parallel and then collect the results in another task, that will be executed only if all the parallel tasks finish correctly.

AWS Step Functions using .Net Core

If my good friend Alan Gorton is right Functions will eat servers. #serverless https://t.co/4Rc1cDnM73 — Alan Gorton (@develogue) February 19, 2017 we’d better be prepared. In this article we’ll see how we can develop AWS Lambda Functions using .Net Core and deploy them and Step Functions using the serverless framework. Installing dependencies You should be able to follow this tutorial using a Windows machine or a Mac. The first step is to install all the things we’re going to need.