The Lifecycle

A blog where we'll explore all the facets of developing and delivering software. The good, the bad and the ugly.

In here we will attempt to understand what makes great software development teams tick.

November 5, 2021
react aws cognito terraform
React <> Cognito

Find the full source code for this post in Xtages/poc-react-cognito. At Xtages, we use Amazon Cognito to manage our users and their authentication. Cognito collects a user’s attributes, it enables simple, secure user authentication, authorization and user management for web and mobile apps. Overview of Cognito In this section, we’ll take a 5000 feet view of how Cognito integrates with a web app. Cognito requires users to verify their email or phone number to enable password recovery flow.

October 27, 2021
continuous integration continuous delivery software engineering deployment best practices
How to Deploy Code Reliably

Nowadays there are a myriad of ways to deploy an application, mostly depending on the tech stack that you use and the underlying infrastructure where the code runs. Those two things limit your technical options, for example, some of the technical details of deploying to bare metal vs AWS Lambda and ECS - pipelines, subtasks, and scripts just to name a few. The other side of the coin is the workflows or processes to perform a release, such as communications, approvals, when, from where, and how to perform the deployment.

June 2, 2021
12-factor-apps cloud ready
Xtages ❤️ Twelve-Factor Apps

The Twelve-Factor App is a popular methodology for building SaaS apps that: Use declarative formats for setup automation, to minimize time and cost for new developers joining the project; Have a clean contract with the underlying operating system, offering maximum portability between execution environments; Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration; Minimize divergence between development and production, enabling continuous deployment for maximum agility; And can scale up without significant changes to tooling, architecture, or development practices.

May 11, 2021
terraform pipeline CI
Terraform Basic Pipeline

Using live repositories with Terraform has become quite popular. A live repository is a repository where you have all your infrastructure defined and that’s supposed to be live. That means that as soon as a pull request (PR) is merged the infrastructure is updated with those changes. The live repo approach requires to have some automation in place, mostly to avoid the following problems: Access to the production environment for too many people.

April 26, 2021
HIIG audience content
HIIG: Building an audience

So you think you have a great idea, you are working on your product, however, few people really care or know about it. This is the kind of situation we are currently in, we are frantically working on our MVP but we are also building a community of interested potential users who might sign up once we are open for business. In an ideal world, we would have been building some kind of audience for years, well before we even decided to start a company, by leveraging our social media presence we’d be able to reach hundreds of people who at the same time could amplify our own voices.

April 26, 2021
How is it going HIIG
How is it going

Xtages is a very early-stage startup and as such we are still figuring out the best way to build our business. As technical co-founders, Matias and I have a very clear idea of what we need to do on the tech side but we are still giving our first steps on the biz dev side (although learning rapidly). Since we are learning so much throughout this experience we figured we’d share some of that with the world and as such we are starting a new series of blog posts that we’ll call “How is it going”.

March 31, 2021
on-ramps docs advanced use cases
On On-ramps

Building software that other software developers use is hard, especially when it comes to infrastructure. Developers, like many other highly skilled workers, tend to be very particular about their tools and given that they have to deal with many tools in their day-to-day it’s overwhelming attempting to be highly proficient with all of them. Many providers will then want to come up with on-ramps to their tools or platforms and while well intentioned these on-ramps hardly ever pan out in the long run.

March 19, 2021
tools software SDLC best practices
More tooling More problems

The modern software development workflow is currently stuck in a local maxima where developers are forced to use a myriad of tools and SaaS services on a daily basis in order to do their jobs. These SaaS companies, smartly, try to be best-of-breed of their own niches but time and time again ignore how well they fit into the landscape of tools that a developer must master in order to accomplish meaningful work.