I had Backlog.md on my radar for a while, but I never ended up using it. Today I decided to give it a try. Backlog.md is one of those tools in the galaxy of spec driven development. While it's "agent agnostic", its documentation and utilities assume a set of specific agents (e.g. Claude Code, Codex, Cursor, etc.). I decided to use Backlog.md to add Kiro explicit support to Backlog.md. The goal…
This blog post assumes you are somewhat familiar with Kiro specs driven development (if you are not, this is a great read) and the Ralph Wiggum loop (if you are not, this is another great read). When I think about Kiro specs driven development, I think about a two phases approach: the authoring phase and the execution phase. Kiro manages for you both phases inside the IDE. It includes an intuitive…
This is a short and unstructured blog post on some experiments I have been running using Kiro spec-driven development. I thought I'd share my random notes and observations. Last week I prompted the Kiro IDE spec engine with the following: I want you to look at the following doc pages and create a web application (using a framework of your choice) to create a kiro cli custom agent UI. This UI…
The world is changing. Fast. I have been working in the generative AI coding tool space for about 3 years now. And it feels 70. I often joke about the fact that one year in generative AI is like three dog years and twenty-nine EC2 years. So, that checks out. A couple of months ago, I have participated in a series of events (public and private) where I talked about my experience in these last 3…
In this post, I am continuing my Kiro experiments to produce better specs outcomes. I am doing so using my demo app repository (https://github.com/aws-containers/votingapp). This is the same application I have used in my previous blog post Using Q CLI to validate the implementation of Kiros specs. For background, when I built this application I was in a bit of a rush and I did not have time to…
Many of us have one or more litmus tests for assessing the capabilities and workflows of generative AI code assistants. Simon Willison has his "Pelican on a bike". (One of) mine is asking a gen AI coding tool to perform this task: 1Create a new Flask route in a dedicated web page at the following path: '/votes'. 2This page should be password protected. 3The page will show a table (in a grid…
At re:Invent 2024 the Amazon Q Developer team has introduced a number of additional capabilities. Many of them are available in the IDE (one of Q Developer's primary consumption "channels"). One of the challenges I have noticed is that people are often confused by what they can do in the IDE, what capabilities they can use, how and where they can trigger those capabilities, and many more. Below…
The CloudFormation team has been on a roll in the last 12 months. Among many releases, they introduced Git stack management, up to 40% faster deployments, stack visualization with Infrastructure Composer, adjustable timeouts and last week the team has introduced the timeline view for deployments. Being a very visual person the last one picked my curiosity and I gave my Yelb test application a try.…
It's pretty clear (to me) that Generative AI assistants users are coming to expect a certain level of personalization to their needs. For example, I was talking to Johannes Koch (an AWS Hero) and he told me "I get distracted by too much verbosity (explanation) of Q coming “after” the initial code generation." But I have heard distinct opposite feedback that Q should be more verbose and "useful"…
Amazon Q Developer is what pays my bill and the generative AI-based code assistant I use more regularly. From what I am reading and hearing, the rant in this post may apply to other generative AI-based tools and experiences. I have, for a long time, been saying that using generative AI is like driving a car. You can let it crash into a wall (and making fun of the car on Twitter) or you can drive…
Last week I was in Istanbul for the local Community Day, where I talked about Generative AI assistants (e.g. Amazon Q Developer). One of the concepts I talked about is a framework for how to think about adopting these assistants. This framework tries to address common questions people have around the topic: are these assistants useful? can we trust them? will they replace us? and so forth. Farrah…
I have long been saying that generative AI english-to-code capabilities (that is, the ability for an assistant to produce code based on a prompt) are overrated - but very useful - while the code-to-english generative AI capabilities (that is, the ability to explain a piece of code) are underrated (and likely even more useful). I am obviously exaggerating to make a point, but I do believe that…
If you have been deep into generative AI, you probably heard about the notion of "prompt engineering". In a nutshell, it's the science that masters how to interact with Large Language Models (LLMs), how to "ask for things". I found this to be a good learning and reference resource. In this post I wanted to share a basic example of how important prompt engineering is based on a real-life…
Last week Darren Shepherd, CTO at Acorn, announced on Twitter his last crazy OSS project: GPTscript. I paid attention because I always say that, if you want to know what people will be doing 3 years from now, you have to watch what Darren, Shannon and Sheng are building today. They have an industry track record for this. When I saw the tweet I skimmed through the README and this was my first…
The original title of this blog post was "Building a Generative AI application to fight WhatsApp vocal messages". I hate WhatsApp vocal messages, and I am not hiding it: As I try to experiment more with what the good Gen AI can do for this world, I thought I'd start by solving a use case that have been bothering me since WhatsApp introduced vocal messages support. The tweet describes the process I…
I have worked in IT for almost 30 years and I have experienced first-hand tectonic shifts in this industry. Some of them have been more profound and impacting than others. Given my recent re-focus on Generative AI, I am going to go through my experience trying to imagine the implications of Gen AI and its potential impact with a focus on the IT democratization process we have appreciated in the…
In the last few months, the "generative AI" discussions have been dominated by LLMs (or Large Language Models). We ended up short-cutting the (magical) experience you can get and the models that make it possible... as if there was nothing in between. I am going to argue that there is a ton in between (that is not being talked about a lot on Twitter). I am calling this space "Mordor", not because…
I spent the last 30-ish years of my professional life working on what I generally refer to as "compute systems abstractions". I started in 1994 at IBM working on "the PC" (Personal Computer) almost by chance and I specialized, over the years, on physical servers, operating systems, hardware virtualization, containers and functions. I can pin almost all these transitions to "aha moment" I had. For…
In the last few months, I have talked to a couple of Beanstalk customers that wanted to explore ways to modernize their deployments. They like Beanstalk but they see the value of moving to a more container-native deployment to intercept more modern development tool-chains. This did not surprise me. Beanstalk customers have already been vocal about finding ways to leverage container-centric…
I know, I am boring. Some people relax doing Sudoku. I relax writing Step Functions state machines. Not that I am any good, I just enjoy doing it (I am that weird). As I was searching for my next Sudoku state machine challenge, I bumped into this Amazon ECS roadmap request to introduce support for tasks timeouts. The request is actually fairly legit. You may need to make sure jobs launched via the…
In (virtual) part 1 of this blog post (yes it has a different title) I have shown how to use a combination of AWS Step Functions and Amazon EventBridge to modify the behaviour of Amazon ECS and virtually adding a new feature that doesn't exist in the product itself. Ok this may sound a big hyperbolic, and it probably is, but go back to (virtual) part 1 to get more context.
In an effort to dive deeper into event driven architectures, I have lately been experimenting with AWS Step Functions as I have documented in this blog post where I have refactored the application logic of my demo application Yelb into a set of state machines. As I wanted to dive deeper into Amazon EventBridge, I was looking for a proper project to gets my hands dirty. I decided to take a…
Code is a liability. That’s not only the code you write but also (and predominantly!) the code that you need to operationalize for your own business logic to work. In this blog post I would like to demonstrate how it is possible to reduce, for relatively simple use cases, that liability by many orders of magnitude. Background At re:Invent 2021 I presented a session whose title was You have a…
Yelb is the demo application I use to experiment with and learn technologies. A few years ago I have refactored the yelb-appserver component to work with Lambda and the yelb-ui component to be hosted on S3. At the time of this writing, this folder in the Yelb repository describes the architecture for this deployment model. Note that I am far from happy with the deployment mechanism I have right…
I have lately invested a lot of time keeping an eye on StackOverflow because there is a ton to learn in terms of how AWS customers are using our products. I do have all sort of filters setup and I reguarly spend a good chunk of my day there. A couple of days ago I bumped into this question that intrigued me a lot. First, because I did not even know you could trigger API calls to all those services…
Part of my job at AWS is to explore the art of possible. A few weeks ago I came across an open source project called re:Web. What intrigued me about re:Web is that it allows a traditional container image (wrapping a traditional “web service” application) to be repurposed and deployed to AWS Lambda. The idea for this blog was sparked by an issue that Aidan Steele opened on the re:Web project.
A few weeks ago I have published an AWS Fargate related project in GitHub called Fargatecount. I won’t bore you with the details of what it does (you can read it on the repository). In a nutshell, it runs a container as a scheduled Fargate task that in turn runs a script that queries ECS and EKS to collect the number of total Fargate tasks running in the account in that region and pushes a metric…
This article was originally posted on the AWS compute blog. I am re-posting here for the convenience of the readers of my personal blog. Cloud security at AWS is the highest priority and the work that the Containers team is doing is a testament to that. A month ago, the team introduced an integration between AWS Secrets Manager and AWS Systems Manager Parameter Store with AWS Fargate tasks. Now,…
A few days ago, at Incontro DevOps Italia (IDI) 2019 I did a breakout session about the topic in subject. I decided to use the 30-ish minutes I had available to share a bit of context re the need for deployment automation and then I did a short demo (well, as short as a CI/CD demo could be) that was aimed at showing the individual pieces (namely the build and deploy phases) independently and then…
At Amazon we work backwards from customer needs and this is embodied in everything we do. When we release a new product or service we start from the “press release and FAQ” and work backwards from there to develop what we intend to build for our customers. I am sketching this post in early December (2018) on a train heading to Rome just a few days prior to interviewing for a new role at AWS.
When I joined AWS last year, I was trying to find a way to explain, in the easiest way possible, all the options the platform offers to our users from a compute perspective. There are of course many ways to peal this onion and I wanted to create a “visual story” that was easy for me to tell. I ended up drafting an animated slide that I have presented at many customers meetings and public events.
As you may have heard, late last year I joined Amazon Web Services. I have recently turned 6 months at AWS (or 180 x Day1) and that is often a good point to pause and reflect. Also, I have got so many people asking me how I am doing here that I thought a public blog post would scale better than many 1:1 interactions. The TL/DR version of it is: it is exactly as I have envisioned before joining; I…
This is my first blog post as an AWS employee. I have spent the last 6+ months learning new things (IAM being one of them) and I figured I could (and should) share some of these learnings with my followers. I hope it can smooth the learning curve when you transition from a data center centric view of the world to a cloud centric view of the world. This blog post doesn’t add new information that…
I have an awesome job, an awesome manager and I work for one of the best companies around. Yet, Friday September 29th 2017 is my last day at VMware. On Monday October 2nd I will join Amazon Web Services as a Principal Solutions Architect. This was not a decision I took lightly. This blog post (in its original draft) was 7 pages long. I intended to explain, at a certain level of details, the…
Introduction VMware, Amazon Web Services and Microsoft are in the middle of some interesting technology and services roll out that have the potential of moving the needle in cloud adoption (spoiler alert: whatever cloud means). VMware is coming from a very strong (almost exclusive) marketshare in the on-prem data center virtualization space. AWS is the 800-pounds cloud gorilla and Microsoft is one…
Yesterday I noted a tweet from Frank Denneman: I guess he was asking this in the context of the VMWonAWS cloud offering and how, with said service, you could provision vSphere capacity without having to “acquire server hardware”. This reminded me of an anecdote I often use in talks to describe some of the data center provisioning and optimization horror stories. This won’t answer Frank’s question…
Another pet project I have spent cycles on as of late is an open source sample application called Yelb (thanks to my partner in crime chief developer Andrea Siviero for initiating me to the mysteries of Angular2). This is the link to the Yelb repo on GitHub. I am trying to be fairly verbose in the README files in the repo so I am not going to repeat myself here. Someone said GitHub repos are the…
This article was originally posted on the VMware Cloud Native corporate blog. I am re-posting here for the convenience of the readers of my personal blog. Early this year I challenged myself with a pet project to create a Rancher catalog entry for Project Harbor (a VMware-started open sourced enterprise container registry). This is something that I have been working on, off and on in my spare…
I have lately started a tradition of copying/pasting reports of events I attend for the community to be able to read them. As always, they are organized as a mix of (personal) thoughts that, as such, are always questionable …. as well as raw notes that I took during the keynotes and breakout sessions. You can find/read previous reports at these links: Kubecon – 2017 – Berlin Dockercon - 2016 -…
Following the establishing best practices of ‘open sourcing’ my trip reports of conferences I attend, I am copying and pasting hereafter my raw comments related to the recent Kubecon EMEA 2017 trip. I have done something similar for Dockercon 2016 and Serverlessconf 2016 last year and given the feedbacks I had received, this is something worthwhile apparently. As always: these reports contains…
This articlewas originally posted on theVMware Cloud Native corporate blog. I am re-posting here for the convenience of the readers of my personal blog. I have been frequently asked “what’s [Docker]Containerd?” The short answer I gave may be of benefit for the larger community so I am turning this into a short blog post. I hope the condensed format is useful. Background: What’s the Problem Docker…
In the second half of 2016 I had an opportunity to focus (almost) exclusively on vSphere Integrated Containers all the way through its GA in early December. I had been working on VIC Engine and project Bonneville since 2015 but in H2 2016 I focused pretty much full-time on that and I had the pleasure to be involved in the discussions that led vSphere Integrated Containers to be what it is today.
In the last few months I have been looking at Rancher (an open source container management product) as a way to learn more about Docker containers and understand better the ecosystem around them. One of the things that appealed me about Rancher is the notion of an extensible catalog of application and infrastructure services. There is an official catalog tier called Library (maintained and built…
A few weeks ago I shared on my blog a cleaned up conference report from Serverlessconf 2016. Given the relatively good success of the experiment (some good feedback at “no cost” for me – copy and paste FTW!) I decided to take another shot. This time I am sharing a report from Dockercon 2016 (in Seattle). This has been similarly polished by deleting comments that were not supposed to be “public”.
Warning: social media experiment ahead. Two weeks ago I attended Serverlessconf in NYC. I’d like to thank the organization (Stan and the acloud.guru crew) for the tremendous job (and for inviting me to attend). I originally wanted to write a (proper) blog post but then I figured that: I have already written much of what I wanted to say in an “internal report” that I shared with my team I don’t…
Serverless computing is the new buzzword. AWS describes Lambda (their implementation of Serverless) as the way how you’ll do things post containers. Go figure how behind you are if you are head down learning Docker thinking it’s “the next big thing”. Sorry. In order not to look too legacy, I decided to push on GitHub a small experiment I built last year: that is a super short and simple Python…
This is going to be a short and (somewhat) visual blog post where I want to discuss the absolute madness that is going on in “container land” (for lack of a better characterization). This time I am going to try to use quotes, tweets, slide screenshots as much as possible and avoid my usual boring text rants. I believe you can draw your own conclusions in the end (but I’ll give you a hint).
Yesterday I bumped into a semi-draft of code I wrote a while back and that I have never checked in into GitHub. I spent a few hours to polish it, augmenting it with some Docker related stuff (so that it becomes "cool") and test it a bit. The result is in this repo. The code is based on the awesome vca-cli tool and it requires an account on vCloud Air (you can subscribe here and get $300 of free…
No doubt there is an explosion of complexity these days in IT. I have discussed it many times on this blog. The avalanche of new technologies that get released at a super fast pace is astonishing. And the confusion generated is very strong, the latest survey I came across 5 minutes ago confirms. Among the many many (many) challenges around this, in this blog post I want to focus on a slightly…
This article was originally posted on the VMware Cloud Native corporate blog. I am re-posting here for the convenience of the readers of my personal blog. As many of you know docker-machine is the client side tool that allows an individual on his/ her own workstation to fire up docker hosts either local or remote. Docker-machine supports a variety of “drivers” to accomplish this. Some of these…