[HN Gopher] APIs All the Way Down ___________________________________________________________________ APIs All the Way Down Author : iamacyborg Score : 89 points Date : 2020-12-27 16:11 UTC (6 hours ago) (HTM) web link (notboring.substack.com) (TXT) w3m dump (notboring.substack.com) | ChrisMarshallNY wrote: | That's a very good article. | | I actually believe in the "API" model (I call it the "Dependency" | or "Modular" model). | | Dependencies are how small teams do big stuff. | | But dependencies are also where truly Jurassic-scale disasters | are born. | | I think that it is important to exercise moderation in our | dependencies, and accept that using them is a major decision. | macintux wrote: | > But dependencies are also where truly Jurassic-scale | disasters are born. | | It's interesting this link showed up on the same day as How | Complex Systems Fail. | | https://news.ycombinator.com/item?id=25550685 | Ericson2314 wrote: | Let's remember there's such _huge_ difference between using a | library, and using some interface operated by different | organization. One you are in control, the other you aren 't. | | Perhaps learned helpless with package management has taught | people to feel alienated about both of them... | WC3w6pXxgGd wrote: | I'm confused as to how this differs for any piece of software. A | function has a public "API" (its name and parameters), and | software is primarily conditional logic surrounding functions | calls. | | In other words, yes: it is APIs all the way down. But is this a | novel framing of software? | cat199 wrote: | > APIs are an increasingly important piece of how software is | built. | | API's were always how software has been built .. _Web_ API 's, on | the other hand ... | CharlesW wrote: | > _API 's were always how software has been built .._ | | For software designed to be used by other developers, sure. For | software in general, that's not my experience. | | > Web API's, on the other hand ... | | The ellipses suggests a natural conclusion, but none come to | mind. Do you mind completing the thought? | recursive wrote: | > For software designed to be used by other developers, sure. | For software in general, that's not my experience. | | The only software I can think of for users that doesn't use | an API is maybe on an embedded microcontroller. Everything | uses APIs. File system APIs, GUI APIs, timer APIs, network | APIs. Even standard output is usually exposed via an API in | most languages. | | > The ellipses suggests a natural conclusion, but none come | to mind. Do you mind completing the thought? | | The conclusion is that software _wasn 't_ always built with | web APIs, in contrast from APIs in general. | cle wrote: | According to the article's description of APIs, | microcontrollers have their own APIs as well, in the form | of machine code. Of course in a different sense there's a | technical distinction between APIs and ABIs, but in this | sense they're the same thing. | acwan93 wrote: | This is the future of my company's vision and technical product | line (an in-house homegrown ERP that is 30 years old). Our | company used to attempt do _everything_ in-house, mostly due to | technical (in)expertise and lack of accomplishing what the | customer truly wants with the tools available. The previous model | I guess would be "database-driven" design, since every new tech | stack that was built, whether it was for an e-commerce website or | warehouse management system, would require database access first. | | Since I joined we've been SaaSifying the business model, and | we're going about it with an API first design. The ERP, running | legacy code written in Clarion (I would be very surprised if | anyone here has heard of it!), would expose its procedures and | functions via a .NET layer, which would open up our ERP via an | API. | | With this approach, we've been able to 1) divide up | responsibilities extremely clearly within our small team, 2) | establish new integrations with relevant places we've never been | able to before such as Shopify and 3) move existing features that | the ERP has to a subscription model such as shipping rates, EDI | document transfers, and automatic invoicing. | | Needless to say I am very much for API and modular design. It's | better from a team organization perspective, since the | responsibilities (and automated testing) is clear. From a non- | technical perspective, our sales & support reps can see and | understand when features are missing or where the bottlenecks are | once we draw out how the API system is architected. | tmikaeld wrote: | There's a lot of advantages to API-first. | | 1. You're not bound to one supplier, you can integrate multiple. | | 2. You don't need to manage the security for a large application, | instead, the responsibility is distributed to each API. | | 3. Scaling becomes a non-issue (unless you abuse the rate- | limits/grow too fast). | | 4. The cost of sysops and development goes waaay down. | | The dis-advantages: it might be way more expensive, but at least | you'll have shipped! (And of course GDPR/data control might be an | issue) | toomuchtodo wrote: | Agree with all of these points, but you'll need the | understanding and competence to rapidly refactor your pain | points when you encounter them. | | Tangentially, I believe low and no code platforms are perfect | for prototyping gluing APIs together to prove out concepts, and | once you've demonstrated traction (whatever that looks like for | your product), it's time to refactor out into your own business | line app to control your product's destiny. | nuclearnice1 wrote: | which no code platforms have you had success with? I saw AWS | got in the game with honeycode. | toomuchtodo wrote: | Any of the well known products are fine products to be | using. Which is right for your use case is dependent on the | use case and product features. ___________________________________________________________________ (page generated 2020-12-27 23:00 UTC)