Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Open-Source Drag-and-Drop API Lifecycle Design Tooling

DZone's Guide to

Open-Source Drag-and-Drop API Lifecycle Design Tooling

There should be an open-source API formation designer that spans cloud providers, allowing architects to define which resources are available that anyone can fork or run.

· Integration Zone
Free Resource

Modernize your application architectures with microservices and APIs with best practices from this free virtual summit series. Brought to you in partnership with CA Technologies.

I'm always on the hunt for new ways to define, design, deploy, and manage API infrastructure. The AWS CloudFormation Designer provides a nice look at where things might be headed. AWS Cloud Formation Designer (or just Designer) is a graphic tool for creating, viewing, and modifying AWS CloudFormation templates, which translates pretty nicely to managing your API infrastructure as well.

While the AWS Cloud Formation Designer spans all AWS services, all the elements are there for managing all the core stops along the API lifecycle like definitions, design, DNS, deployment, management, monitoring, and others. Each of the Amazon services is available with a listing of each element available for the service, complete with all the inputs and outputs as connectors on the icons. Since all the AWS services are APIs, it's basically a drag-and-drop interface for mapping out how you use these APIs to define, design, deploy, and manage your API infrastructure.

Image title

Using the design tool, you can create templates for governing the deployment and management of API infrastructure by your team, partners, and other customers. This approach to defining the API life cycle is the closest I've seen to what stimulated my API subway map work, which became the subject of my keynotes at APIStrat in Austin, TX. It allows API architects and providers to templatize their approaches to delivering API infrastructure in a way that is plug-and-play as well as evolvable using the underlying JSON or YAML templates — right alongside the OpenAPI templates, we are crafting for each individual API.

The AWS Cloud Formation Designer is a drag-and-drop UI for the entire AWS API stack. It is something that could easily be applied to Google's API stack, Microsoft, or any other stack you define — something that could easily be done using APIs.json, developing another layer of templating for which resource types are available in the designer, as well as the formation templates generated by the design tool itself.

There should be an open-source API formation designer available that can span cloud providers, allowing architects to define which resources are available in their toolbox that anyone could fork and run in their environment.

I like where AWS is headed with their Cloud Formation Designer. It's another approach to providing full lifecycle tooling for use in the API space. It almost reminds me of Yahoo! Pipes for the AWS Cloud, which triggers awkward feels for me. I'm hoping it is a glimpse of what's to come, and someone steps up with an even more attractive drag-and-drop version that helps folks work with API-driven infrastructure no matter where it runs. Maybe Google will get to work on something. They seem to be real big on supporting infrastructure that runs in any cloud environment (*wink wink*).

The Integration Zone is proudly sponsored by CA Technologies. Learn from expert microservices and API presentations at the Modernizing Application Architectures Virtual Summit Series.

Topics:
integration ,api ,api lifecycle ,api design

Published at DZone with permission of Kin Lane, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}