Photo by TETrebbien on Unsplash

With Serverless Computing, you can build and run applications without thinking about servers. To me, the greatest advantage is the capacity to focus on what you want to build, instead of the nuts & bolts required by the implementation of the solution.

“IT is no longer holding back the business. In fact, it’s helping us grow faster” as described in the PhotoVogue case study.

By accelerating your pace of development you need to be more careful in holding the right direction and defining clearly where you want to “go”. …

A question I sometimes get is how to build serverless applications that can easily be used in other environments, for example having the same business logic running on AWS Lambda and on Docker containers.

Writing business logic that can run on different environments.

It is actually simple to write code that can be reused in multiple ways. The most important takeaway is to separate the Lambda handler from your core logic. The Lambda handler is the function, within your code, that AWS Lambda is calling when the Lambda function is invoked.

Use the Lambda handler as a wrapper for your business logic, managing the input syntax for the event…

Some time ago, I was looking for an easy way to showcase the capabilities of Amazon Rekognition, a deep learning-based image recognition service provided by AWS.

As a user, you would normally use the Rekognition API directly, through an SDK, to make your applications smarter, but there is a nice demo interface in the web console that can be useful for prototyping new ideas.

I started by using an image that most of the people knows, Leonardo da Vinci’s Mona Lisa picture, also known as La Gioconda, to see what labels, identifying objects and scenes, where found.

Amazon Rekognition — Object and scene detection

According to this…

Serverless by Design — Think. Build. Repeat.

Welcome to Serverless by Design, a visual approach to serverless development:

  • An application is a network of nodes (serverless resources, such as Lambda functions or S3 buckets) connected by edges (their relationships, for example a trigger or a data flow).
  • Edit an application adding nodes and edges following an event-driven design.
  • Import a previously exported application to continue working on it.
  • Choose a runtime, and build your application (for example, using AWS SAM).
  • Edit templates and code files for the final configuratons before deploying the application.
  • Export an application to save it for later use in a JSON file.
  • Take…

I like to play with technology. I think it is the best way to understand its pros, cons, and limits. Most of the time, when talking about serverless, people thinks of functions, such as those provided by AWS Lambda.

Functions can be triggered synchronously, waiting for the response, such in the case of an API call coming through the Amazon API Gateway, or asynchronously, for example if a new file is uploaded to a repository such as Amazon S3.

Here I’d like to go beyond that, considering serverless in its broader definition of building applications “without thinking about servers”.


I am still amazed by how much less code you need to create a new serverless application, using technologies such as AWS Lambda and the Amazon API Gateway, leveraging an event-driven design that executes your logic based on how your data flows.

Just a couple of days ago I was participating to a meetup of the AWS User Group in Dublin, and how small your serverless codebase can be (and easier to write, faster to go to market) was stressed multiple times during the evening, especially by Adrian Trenaman, CTO of HBC Digital, who leads the engineering teams behind Gilt…

This article was excerpted from the book AWS Lambda in Action. A few live demos, are available here. The full code used in the book is in this repo.

When configuring the Amazon API Gateway to use Lambda functions, you can choose to have no authentication and leave the API publicly available. Using this option together with the HTTP GET method allows your API to be called by a web browser. You need to return the expected content type for HTML (text/html) to implement a public website.

The architectural configuration we’ll be using in our example is in figure 1. The client application’s a web browser; AWS Lambda and Amazon API Gateway are used to distribute a public website on the Internet. …

After some time spent managing my own Wordpress on AWS, running on yas3fs, a personal project on GitHub, I decided it was time for a change.

I was always attracted by Medium, I really like the typography and the writing experience. I think it can be the best “hosting” solution for my long (e.g. >140 chars) posts. And all my quick notes are already on Twitter.

Hence, I decided to replace my blog with a static page, hosted on Amazon S3, that includes my Medium profile and my Twitter timeline:

At the same time I took the opportunity to…

Danilo Poccia

Passioned about IT, IoT, AI, ML & other acronyms. Author of Evangelist, Serverless @AWSCloud. Opinions are my own.

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