API Architecture centers around individual microservices that provide value via APIs with a JSON payload. APIs in most simplest form expose what systems do and therefore are highly valuable business assets. Compared to SOA Web Service Integration style, RestAPIs are centered around business entities exposed as resources that are identified via URIs and can be manipulated via standardized Create, Read, Update and Delete (CRUD) methods.
One of the main ideas in APIOps cycles is that it is iterative. When it comes to building APIs, 1st iteration can and should be documentation.
There are two schools of thought on this: Design first or code first. We recommend design first approach. Reasoning behind this is that you can easily distribute the first iteration in human readable format and get feedback faster. There are some cases where you have to go code first. This is the case when you need speed, speed and more speed and put everything else aside. If we accept that one should do design first, this is where you start. Do your design and put it up for comments.
On the subsequent iterations you can then move on to other type of implementation. Actual code, when you are ready. These are the same steps that have been dissed in previous sections:
- Prototyping - typically when building a new API Goal: Zero code or tech products used (or only existing), minimal budget, still possibility to change plans radically
- Building Just enough - implementation - typically when building a new API for 1-2 API consumers Goal: Nothing is built “Just in Case”, customer needs can evolve while building, as small budget as possible
- Scaling - typically when existing API needs to serve a growing number of consumers Goal: Scale your architecture with the growing business
Before starting to build APIs
API Design makes sure your APIs succesful. If the design principles are set in the initial stage, the quality can be quaranteed and the API are easy to implement, easy to use and developer friendly.
- API Canvas - APIs business requirements, API consumers, services needing to be built and the existing services available as API canvas?
- Minimum Viable API Architecture (MVAA) - non-functional and functional requirements should have been gathered using the design templates?
- Also check the API Audit and API design style guide for guidelines on implementation
- Design application architecture based on the environment where the API -backends are build. Estimate runtime costs at this point.
- Setup automatical deployments, test-automation and API publishing pipelines (this requires own guide when environment and API management platform has been selected)