{"id":529482,"date":"2022-12-20T11:27:54","date_gmt":"2022-12-20T08:27:54","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/graphql-could-be-the-key-to-taming-the-api-explosion\/"},"modified":"2022-12-20T11:27:54","modified_gmt":"2022-12-20T08:27:54","slug":"graphql-could-be-the-key-to-taming-the-api-explosion","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/graphql-could-be-the-key-to-taming-the-api-explosion\/","title":{"rendered":"#GraphQL could be the key to taming the API explosion"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a264eecc0ba2\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a264eecc0ba2\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/graphql-could-be-the-key-to-taming-the-api-explosion\/#%E2%80%9CGraphQL_could_be_the_key_to_taming_the_API_explosion%E2%80%9D\" >&#8220;GraphQL could be the key to taming the API explosion&#8221;<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/graphql-could-be-the-key-to-taming-the-api-explosion\/#The_challenges_of_modern_application_development\" >The challenges of modern application development<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/graphql-could-be-the-key-to-taming-the-api-explosion\/#Get_your_tickets_for_TNW_Valencia_now\" >Get your tickets for TNW Valencia now!<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/graphql-could-be-the-key-to-taming-the-api-explosion\/#Graph-based_programming_to_the_rescue\" >Graph-based programming to the rescue<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/graphql-could-be-the-key-to-taming-the-api-explosion\/#The_next_generation_of_graph-based_tools\" >The next generation of graph-based tools<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"%E2%80%9CGraphQL_could_be_the_key_to_taming_the_API_explosion%E2%80%9D\"><\/span>&#8220;GraphQL could be the key to taming the API explosion&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p><img decoding=\"async\" src=\"https:\/\/img-cdn.tnwcdn.com\/image?fit=796%2C417&amp;url=https%3A%2F%2Fcdn0.tnwcdn.com%2Fwp-content%2Fblogs.dir%2F1%2Ffiles%2F2022%2F12%2FUntitled-design-3-1.jpg&amp;signature=514283eb382abc08f718ea20a548b035\" \/><\/p>\n<div id=\"article-main-content\">\n                            <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">App<\/a>lication development has a long history of quick evolution and transformation, perhaps faster than any other industry. The tools we use to create and host our applications are constantly changing.<\/p>\n<p>The fast developments in programming tools provide plenty of opportunities to create software for companies of different sizes, industries, and budgets. However, the added flexibility and diversity of tools \u2014 as well as the constantly changing landscape \u2014 also introduce their own set of challenges.<\/p>\n<p>Developers must be able to create their apps in ways that can adapt to the scale and changes that their organization, customers, and infrastructure undergo. Fortunately, with the shift toward graph-based programming, companies will be much better equipped to maintain their agility as they continuously grow and adapt to the needs of their customers.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"The_challenges_of_modern_application_development\"><\/span>The challenges of modern application development<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"inarticle-wrapper channel-cta\">\n<div class=\"ica-text\">\n<h4><span class=\"ez-toc-section\" id=\"Get_your_tickets_for_TNW_Valencia_now\"><\/span>Get your tickets for TNW Valencia now!<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>The heart of tech is coming to the heart of the Mediterranean<\/p>\n<\/div>\n<\/div>\n<p>One of the blessings \u2014 and curses \u2014 of modern application development is the many options you have.<\/p>\n<p>You can choose between running your application on your own servers, in the cloud, or in a hybrid model. You can use a serverless model, where a cloud provider manages your server in the background and you focus on functionality, or choose a containerized model, where your application is packaged into a docker file. You can choose between different models of data hosting and storage, including data warehouses and data lakes. And you can make these and many other choices for each component of your application.<\/p>\n<p>The benefit of this powerful variety of computing and storage platforms is that you can adjust your application according to the needs of your customers and your organization. However, the downside is the added complexity that comes with communicating with the many different service APIs that support your application.<\/p>\n<blockquote class=\"c-richText__pullQuote\">\n<div class=\"c-richText__pullQuoteGradient\">\n<p class=\"c-richText__pullQuoteQuote\">GraphQL helps developers communicate with APIs through flexible and structured data queries.\n            <\/div>\n<\/blockquote>\n<p>\u201cMany applications must communicate with dozens, even hundreds of services during runtime. In some cases, every application update (mobile, web, etc.) requires hundreds of API calls to different services,\u201d says Peggy Rayzis, Sr. Director of Developer Experience at <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.apollographql.com\/?utm_medium=content&amp;utm_source=tnw\">Apollo Graph, Inc<\/a>. \u201cThis requires a huge and complicated effort by developers, who must ensure all these different services are compatible and can interoperate.\u201d<\/p>\n<p>The added complexity also makes it difficult to iterate, add or modify features, or change the underlying infrastructure. In each case, redundant implementations and inconsistencies between services force developers to go through intensive changes in their code to connect all the old and new services.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Graph-based_programming_to_the_rescue\"><\/span>Graph-based programming to the rescue<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>One of the trends helping developers tackle the complexity of the application ecosystem is graph-based programming. Graph-based programming enables developers to add a data schema layer between their application and the API services that run behind the scenes. This layer of abstraction decouples these parts and enables them to evolve without causing major disruptions in each other.<\/p>\n<p>\u201cBasically, the idea is that you add an inter<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/social-mediaa\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"Social Media\" target=\"_blank\" rel=\"noopener\">media<\/a>te layer that enables your application to interact with your data entities by querying a graph,\u201d Rayzis says. \u201cThe graph layer is uniform and flexible, regardless of what kind of infrastructure is working behind the scenes, whether it\u2019s an on-prem server, a cloud VM, a REST API, a data warehouse, or a serverless function such as AWS Lambda.\u201d<\/p>\n<p>Graph-based programming was popularized by GraphQL, a data-query language introduced by Facebook in 2015. GraphQL helps developers communicate with APIs through flexible and structured data queries. This makes it easier for the developer to focus on the data schema and logic of the application and also maintain the stability of the application as the APIs evolve and change.<\/p>\n<blockquote class=\"c-richText__pullQuote\">\n<div class=\"c-richText__pullQuoteGradient\">\n<p class=\"c-richText__pullQuoteQuote\">We\u2019re seeing 30% of fortune 500 companies building their apps on the supergraph.<\/p>\n<\/p><\/div>\n<\/blockquote>\n<p>Companies and applications of different sizes can benefit from graph-based programming. Rayzis says:<\/p>\n<blockquote><p>Regardless of size and structure, every application can benefit from graph-based development. As your app grows or your data infrastructure changes, your graph remains consistent and remains tied to the logic of your app.<\/p>\n<\/blockquote>\n<p>For example, Walmart used GraphQL to create a federated schema of different entities used across their different applications and services offered on web and mobile. With GraphQL, they could remove a lot of the code being replicated across their APIs, unify their applications, and become much more agile in rolling out features and improving the user experience.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"The_next_generation_of_graph-based_tools\"><\/span>The next generation of graph-based tools<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u201cWhat we found over our six-plus years working with developers implementing GraphQL at scale is that its flexibility is its greatest strength, but it can also lead to some negative consequences if it isn\u2019t implemented in a principled way,\u201d Rayzis says.<\/p>\n<p>These limitations led to the idea of the supergraph, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.apollographql.com\/\">Apollo<\/a>\u2019s special implementation of GraphQL. The supergraph goes beyond the basic benefits of GraphQL, which are to replace data-fetching and backend for frontend (BFF) code with schema and queries. It brings together a company\u2019s data, microservices, and digital capabilities, creating a unified composition layer for the whole organization. The supergraph architecture is built on Apollo\u2019s open <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/technology\/\" data-internallinksmanager029f6b8e52c=\"4\" title=\"Technology\" target=\"_blank\" rel=\"noopener\">technology<\/a>, Apollo Federation. Apollo also provides GraphOS, a cloud-based platform of tools with an edge runtime and schema delivery pipeline for the supergraph. According to Rayzis:<\/p>\n<blockquote><p>The supergraph allows you to distribute the graph schema across different teams and different services, but then unify it together into one interface for the client. It\u2019s about solving real customer problems. It\u2019s based on our years of experience, helping customers implement GraphQL. And really, the main principles are that it\u2019s one unified layer, built-in modules that you can evolve over time.<\/p>\n<\/blockquote>\n<p>One of the companies that have benefited from the supergraph is Booking.com, one of the world\u2019s largest online <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/trip-and-travel\/\" data-internallinksmanager029f6b8e52c=\"10\" title=\"Trip &amp; Travel\" target=\"_blank\" rel=\"noopener\">travel<\/a> agencies. Booking.com has been around since 1996 and is thus running a lot of legacy code and infrastructure. This makes it very challenging to change the software architecture, especially as the company employs thousands of engineers and needs to make sure they can collaborate safely.<\/p>\n<p>Thanks to the flexibility and versatility of the supergraph, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.apollographql.com\/customers\/booking\/\">Booking.com was able to make a phased transition to GraphQL<\/a> without breaking any of their services. As they gradually rolled out the supergraph across the organization, the engineers and managers realized its benefits and helped accelerate the transition. The full adoption of the supergraph has enabled Booking.com to ship 40% faster, sometimes doubling the speed at which they\u2019re releasing features. At the same time, they\u2019ve managed to considerably reduce mistakes and breaking changes.<\/p>\n<p>\u201cWe\u2019re seeing 30% of fortune 500 companies building their apps on the supergraph. And I think that number is only going to increase in the years to come,\u201d Rayzis says.<\/p>\n<blockquote>\n<p>It\u2019s going to dramatically lower the barrier for app development and make it so that more developers can create apps. It\u2019s going to continue to reduce the time needed to create those apps. And so by making it more approachable, and reducing that time, you\u2019re going to see even more innovation.<\/p>\n<\/blockquote><\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong>\n<\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/thenextweb.com\/news\/graphql-key-to-api-explosion\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;GraphQL could be the key to taming the API explosion&#8221; Application development has a long history of quick evolution and transformation, perhaps faster than any other industry. The tools we use to create and host our applications are constantly changing. The fast developments in programming tools provide plenty of opportunities to create software for companies&#8230;<\/p>\n","protected":false},"author":1,"featured_media":529483,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/img-cdn.tnwcdn.com\/image\/tnw?filter_last=1&fit=1280,640&url=https:\/\/cdn0.tnwcdn.com\/wp-content\/blogs.dir\/1\/files\/2022\/12\/Untitled-design-3-1.jpg&signature=a5c21dcd7f86c3c0cfe02ad48cc31181","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-529482","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/529482","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=529482"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/529482\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/529483"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=529482"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=529482"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=529482"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}