Hanami::API on Amazon AWS Lambda

The Hanami team & I, recently announced Hanami::API: a minimal, extremely fast, lightweight Ruby framework for HTTP APIs. Its minimalism, the small memory footprint and its performance, make Hanami::API a good candidate to build microservices. Today, we’re gonna deploy a small service on Amazon AWS Lambda. It’s an Amazon AWS product that allows to deploy an autoscaling HTTP service. You are charged for every 100ms your code executes and the number of times your code is triggered. »

Introducing hanami-cli

Introducing hanami-cli: a general purpose Command Line Interface (CLI) for Ruby. Learn why Hanami replaced thor in favor of hanami-cli and how to use it to build a CLI application in 5 minutes. Why not thor? For long time we used thor 🔨 to build the Command Line Interface (CLI) of Hanami. But as the time passed, we needed more control on the internals of our implementation. The Hanami 🌸 command line needs two crucial features: subcommands and extendibility. »

Isolate Global State

Using global state in software programs, is handy for development, but evil to maintain. It can easily become source of bugs that are triggered by edge cases which are hard to track down. Let’s see why, and how we can mitigate the problem. An Example Of The Problem For instance, in Hanami code base we need to test how the framework configures itself according to certain env variables. We used to test like this: »

25,000+ Req/s for Rack JSON API with MRuby

Last month I gave the closing keynote at RubyDay 2015 by talking about Lotus and the future of Ruby. For the attendees, the most surprising part of my speech was about MRuby. It’s a minimal version of Ruby, that can be embedded in any system that supports C. I think that this technology can play a key role for Ruby in the next years. The simplicity of the language can be used within complex systems. »

JSON API Apps With Lotus

Do you need a fast and lightweight JSON API app? It must be powerful, flexible, quick to develop and easy to deploy? There is a simple solution for all these requirements: to use Lotus gems to build it. Lotus is well known for full stack web applications (via lotusrb), but all the gems of this toolkit can be used as standalone components in existing Ruby applications. It this case we will compose together the router and the actions to create a JSON API app that returns informations for books. »