5/6/2023 0 Comments Systems architect![]() ![]() But a major thrust of the Amazon API-first mandate was to reduce the costs incurred from developing duplicate capabilities in multiple systems. ![]() So far, the primary effect of any API-first mandate has been to make developers ensure they document their APIs and publicize them. The basic thrust of the rant is that all capabilities should be exposed on the network through APIs to both promote integration and to minimize the amount of duplicative functionality the enterprise is producing (and paying for). This is often referred to as the “application Programming interface (API)-first philosophy.” The most famous example of the API-first philosophy is probably the missive that has come to be known as “ the Steve Yegge rant,” where he chides Google for not adopting the Amazon philosophy of API-first design. Most enterprise integration efforts today focus on making system interfaces publicly available. While it did not take the form originally envisioned, the SOA revolution most definitely happened. The entire cloud computing revolution is really just the conversion of computing hardware to an on-demand service. ![]() In a similar fashion, comment threads, social media integration, user statistics, and many other functions are also offered as services. If you run a web site and want to authenticate users before you allow them to access all features of the site, you do not need to host your own authentication subsystem-you can just use one of those offered as services. For example, Facebook, Google, and others all offer authentication services. Many capabilities are available as services, and they are being used by more enterprises. But also like many hyped technologies, a decade after the hype has died down, we are seeing real benefits of the SOA philosophy. ![]() Like many widely hyped new technologies, SOA never quite lived up to its initial promises. SOA promised an era of dynamically composable applications that could be adapted to new business needs as they emerged, without the need to re-code applications. A “service” is nothing more than a well-defined interface to some desired capability. The basic idea of SOA was that capability providers would make their offerings available as services that could be invoked by any application on the network. This led to the development of service-oriented architecture (SOA). It did not take long to realize that entering the same data into different systems was time-consuming and error-prone, so we began to try and integrate systems so they could share data. The next major effect of networks on the evolution of system architecture was the desire to integrate systems. Systems were no longer monoliths that were deployed in one place and used from a fixed set of terminals but were spread out over a potentially large geographic area. The emergence of the client-server architecture as the dominant design pattern made it necessary to include network interfaces. System architecture practices began to change as networked systems became more common in the 1990s. That patter has been changing in recent years, but the rate of change is increasing. For the past few decades, system architecture has been like building architecture: Decide what the system needs to do, identify the major subsystems that are needed and how they wi8ll connect, and continue decomposing until there is enough detail for development teams to build out each subsystem and integrate them to create the desired system. Whether we recognize it or not, system architecture is evolving. ![]()
0 Comments
Leave a Reply. |