(Update 09/12/2020)

Introduction

restana is a blazing fast, minimalist, “connect”-like middleware layer compatible framework, that is optimised for building performant REST APIs.

const app = require('restana')({})app.get('/user/:id', (req, res) => {
res.send('Hello user: '+ req.params.id)
})
app.start(3000)
restana framework analogy ;) — photo courtesy of https://pexels.com

Not just another framework

Some time ago, during my contribution to the Hydra Integration project, I had the opportunity to research and reflect on the performance of the top 10 traditional Node.js frameworks used for building REST APIs.

Later on, when I was working at ShareNow, I spent most of my time building APIs and distributed systems…


Introduction

In this article, we present a Node.js solution for API Gateways implementation. From a developer perspective, we describe how we can easily implement the most common API gateway functionalities using only Node.js and JavaScript ❤️

API Gateway analogy ;) — photo courtesy of https://pexels.com

API Gateway?

An API Gateway encapsulates the internal architecture of your application, by exposing a single, client friendly API through one and only URL; a facade that acts as a single application entry point.


Introduction

In this article, we want to introduce a GraphQL Gateway approach that allows developers to auto-generate a high level GraphQL query interface on top of traditional REST based services that use Swagger / OpenAPI as documentation format.

More important, through this gateway, it is possible to easily establish aggregations between the downstream REST services using GraphQL generated types, queries and mutations.

GraphQL Gateway analogy ;) — photo courtesy of https://pexels.com

What is GraphQL?


Numbers— photo courtesy of https://pexels.com

Truth must be said, dealing with numbers in JavaScript still seems primitive in 2020!

Introduction

In this article we are gonna review the state of “Big Numbers support in JavaScript”, a topic that despite being old and broadly discussed in community forums, is still very relevant. A “most know” for JavaScript developers who want to find in JavaScript/Node.js a robust runtime for building all kind of web applications.

Never heard about this issues? Just go ahead and execute the following arithmetic calculation on your JavaScript console:

0.0000000000000001 + 1

Let’s get deeper by describing the current JavaScript supported data types.

The…


Let’s face it, moving multiple software development teams as a one unit within the same organization: is hard!

Teams cooperation? — Photo courtesy of https://pexels.com

In this article we reflect about technical cooperation and alignment between different software development teams.

Fact is, independent teams in agile software development work isolated and at their own cadence, expertise and technical capabilities. Dream is to have multiple teams aligned and working as an organism, but teams will always tend to work as isolated units.

To my experience, some of the issues that can affect cooperation between different software teams are:

  • Teams pick different development methodologies, X-Agile, SCRUM, “NONE” deriving on unaligned sprint cadences (even lack of those), different productivity levels, etc...
  • Lack of global overview or technical miss-understanding…


In this article we introduce a Node.js micro framework called 0http(https://www.npmjs.com/package/0http), or just “cero”.

I built cero over restana development learnings and it’s focused on HTTP I/O throughput over APIs abstractions or enterprise aspects support. Being more specific, cero is a minimalist HTTP framework that was developed to show how fast the Node.js runtime can be, so this is the library that beats benchmarks ;)

https://github.com/jkyberneees/0http#benchmarks-22072019

Read the full story at: https://thejs.blog/2019/07/30/yet-another-faster-node-js-micro-framework-0http/


Static files analogy ;) — photo courtesy of https://pexels.com

Do not use Node.js to serve static files, it is not efficient. You should use Nginx!

How many times I have heard that, and you? The proper answer is:
Well, depends!

In this article we are gonna describe how we can efficiently serve static files using Node.js. Specially in the context of frontend applications.

Docker containers?

Nowadays we certainly serve frontend applications using Docker and there are many good reasons to do it: The 6 Benefits of Docker Containers

This means, after building the frontend applications we pack the generated static files inside a versioned docker image and deploy it. …


In this article we discuss how we can easily implement APIs caching in distributed solutions.
A Node.js implementation is described, in concrete the great http-cache-middleware module:

But, what is caching?


Introduction

In this article we discuss a Node.js solution for API Gateways implementation. From a developer perspective, we will describe how we can easily implement the most common API gateway functionalities using only Node.js and JavaScript ❤️

API Gateway analogy ;) — photo courtesy of https://pexels.com

API Gateway?

An API Gateway encapsulates the internal architecture of your application, by exposing a single, client friendly API through one and only URL; a facade that acts as a single application entry point.

Rolando Santamaria Maso

Enthusiastic and passionate Software Engineer. Senior Consultant, Cloud Application Development at AWS

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