API Deployment Collections - AWS API Gateway, Lambda, and RDS
21 Apr 2020
After over a decade of API evolution, API deployment is still much more of a dark art than it is something that ever sees the light of day. Sure you can setup a pipeline for an API, making a known pattern a repeatable process, but there isn’t much consistency out there when it comes to repeatable patterns for use across many different APIs. Certain vendors are working on optimizing the API deployment cycle within the context of their platforms, but I’ve always wanted to see more open blueprints for how APIs can be deployed, designed for applying across a mix of APIs which are defined using OpenAPI. To push this conversation forward I began exploring what the common patterns for API deployment on the leading cloud providers would look like, and if it was something I could accomplish using API infrastructure, which mean that I can do using Postman.
One API deployment blueprint I had on my list to develops was using AWS API Gateway, Lambda, and RDS. Providing me with a quick way to consistent and repeatable way of deploying APIs that I could define as a Postman collection that can be shared and used by others. The results is a first draft of a Postman API deployment collection, which can be used to deploy an API to AWS using Postman, taking an existing OpenAPI and bringing it to life using common AWS solutions. Rather than outlining what I did as I normally would, I am going to play around with producing content in other mediums, and publish a video walk through of how my new AWS API Gateway, Lambda, and RDS API deployment Postman collection works—let me know what you think.
My AWS API Gateway, Lambda, and RDS API deployment collection is still under development and being refined each week, but feel free to kick the tires and ask questions. I’ll be showcasing how the collections fits into the bigger picture of an enterprise API life cycle tomorrow April 22nd at 9:30 AM pacific time, during my Postman Deploy & Monitor webinar—showing how to just not deploy an API, but also monitor to ensure it is fulfilling its API contract. You find the documentation for my AWS API Gateway, Lambda, and RDS API deployment collection here, where you can use the Run in Postman button to kick the tires. If you have any features you’d like to see added, or encounter any problems you can report it using the GitHub issues for the project operational repository.
I am pretty psyched about these API deployment collections. I feel like they balance out having an entire list of each step of API deployment, while also abstracting away as much of the friction as we can when it comes to deploying APIs. My AWS API Gateway DynamoDB and AWS API Gateway, Lambda, and RDS API deployment API deployment collections only get me about 50% of the way there. Next I’m going to have to add the ability to inject other code into my Lambdas behind each HTTP method that I deploy using a collection, if I am going to be able to meet all my needs when it comes to API deployment. Regardless, it is the biggest step I’ve made in over a decade when it comes to changing my API deployment behavior, and I am pretty excited about the serverless layer in this design—it reflects how I like to think about the functionality behind each API capability I have.