Using specification frameworks to test your code in a Bacon-Driven Development fashion

Photo by Casey DeViese on Unsplash

So far I have covered all the basics to set up, build and deploy your Serverless + Kotlin project using AWS Lambda as our FaaS platform. So I bet the next question that you have in mind is: How can I test it? In this article, I’ll present tools and methods to perform automated tests using a specification framework for Kotlin and, luckily, you will have a fully tested product at the end.

Index

  1. Setting up your local development environment
  2. Designing and implementing a Multi-Tier Lambda App
  3. A Multi-layer core for your function: A request-dispatcher and micro…


Software requirements prioritisation techniques for your product

“It’s not always that we need to do more but rather that we need to focus on less.” — (Nathan W. Morris)

This article was Originally published on OfferZen

Ever since the industry started adopting incremental deliveries instead of the waterfall approach, making sure the product delivers the most valuable features at the right moment has become more critical: 45% of IT projects suffer cost overruns due to unclear objectives, lack of business focus, unrealistic schedules and reactive planning. Assuming we have a solid time and cost estimation, the first question that arises is: What should we do first?

It’s…


Implementing a Client-Dispatcher-Server pattern and a micro HTTP router in Kotlin

In previous parts, we have covered the basics to set up our serverless project, use a development environment using emulation software, and a general multi-tier architecture for our project. In this part, I’ll present and implement design patterns to develop a serverless architecture following a Function as a Microservice (FaaM) style.

Index

  1. Setting up your local development environment
  2. Designing and implementing a Multi-Tier Lambda App
  3. A Multi-layer core for your function: A request-dispatcher and micro HTTP router implementation
  4. Testing your code
  5. Integrating a RDBMS to your project (coming soon)
  6. Authentication & Authorisation using Amazon Cognito (coming soon)


Basic methods and patterns to estimate software projects

Photo by Sneha Chekuri on Unsplash

“Estimate: The most optimistic prediction that has a non-zero probability of coming true” — Tom DeMarco

This article was Originally published on OfferZen

According to the CHAOS manifesto, only 3 out of 10 projects finish on time and on budget, almost half of them fail to complete within the initially set constraints and 2 of them fail miserably in general. While small ones may have a success rate of 70%, only 10% of the big projects succeed. That’s why, according to the authors, IT projects should be broken down into small projects to reduce the scope. …


High level reference architecture with tools and products that you may need

In part 1 and 2 of this series, we have covered the basics to set up our serverless project and development environment using emulation software. Now that we already understand the basics and tools, let’s go in deep with our architecture.

Index

  1. Setting up your local development environment
  2. Designing and implementing a Multi-Tier Lambda App
  3. A Multi-layer core for your function: A request-dispatcher and micro HTTP router implementation
  4. Testing your code
  5. Integrating a RDBMS to your project (coming soon)
  6. Authentication & Authorisation using Amazon Cognito (coming soon)
  7. Creating an end-to-end RESTFul service (coming soon)

Old Fashion Design Patterns Still Work

In the article…


Using emulation software to deploy your own local AWS infrastructure with SAM Local & LocalStack

In Part 1 of this series we covered the basic definitions and basic project setup. Now in this article I’ll introduce some tools and tactics to configure your local development environment, to emulate your serverless production environment. Let’s start!

Index

  1. Setting up your local development environment
  2. Designing and implementing a Multi-Tier Lambda App
  3. A Multi-layer core for your function: A request-dispatcher and micro HTTP router implementation
  4. Testing your code
  5. Integrating a RDBMS to your project (coming soon)
  6. Authentication & Authorisation using Amazon Cognito (coming soon)
  7. Creating an end-to-end RESTFul service (coming soon)

Understanding IaC

One of the biggest features…


Quick example of how to use Kotlin using Serverless Framework and AWS Lambda

Welcome to the first in a series of articles about Using Kotlin in a Serverless Architecture with AWS Lambda. In these articles I will introduce a set of tools, concepts and code examples that will help you in the process of creating beautiful, serverless-based products.

Index

  1. Setting up your local development environment
  2. Designing and implementing a Multi-Tier Lambda App
  3. A Multi-layer core for your function: A request-dispatcher and micro HTTP router implementation
  4. Testing your code
  5. Integrating a RDBMS to your project (coming soon)
  6. Authentication & Authorisation using Amazon Cognito (coming soon)
  7. Creating an end-to-end RESTFul service (coming…


The “that’s not the wallet inspector…” feeling

© Fox TV. https://i.redd.it/ql50p0phpaty.png

Have you ever had that feeling when you’re looking at someone’s code or checking a software architecture that something is not right? That even when it looks “cool” or “the others” are saying that it’s ok, you have that gut feeling that maybe a small fly crap can destroy the whole project in 5 seconds? Have you ever felt the “that’s not the wallet inspector” feeling?

If you answered affirmatively to any of my questions, you have had a Code Smell or Bad Smell experience (hallelujah! Well… maybe not). Bad smell is Miss Mommy experience and Mr daddy blood and…


The 3 questions that every architect should ask

Photo by jesse orrico on Unsplash

“The imagination imitates. It is the critical spirit that creates”
- Oscar Wilde

Software engineers are always considering their work as pure creation: Identify a problem, make a logical abstraction of that, and develop a solution that never existed. However, in our days, these creative process have become more a copy and paste of snippets, technologies, frameworks, and boilerplates into our “disruptive” products. As Oscar Wilde mentions in his quote, the real creation resides in the critical spirit, the imagination is just a mean for that.

Nonetheless, most software engineers have lost that critical spirit, and their arguments during the…

Juan Urrego

Software & solution hands-on architect

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