Let us begin by admitting that API Versioning is a difficult task. For APIs like Newsdata.io news API Development teams can make a variety of changes to an API throughout its lifecycle (enhancements, bug fixes, adding new capabilities, etc.).
How would you know whether a particular change necessitates a new API version? How would you convey this to customers? How much time would consumers have to make the switch?
All of these questions can be answered with careful planning.
Versioning Best Practices for API Architecture.pdfAparna Sharma
Â
Let us begin by admitting that API Versioning is a difficult task. For APIs like Newsdata.io news API Development teams can make a variety of changes to an API throughout its lifecycle (enhancements, bug fixes, adding new capabilities, etc.).
Api management best practices with wso2 api managerChanaka Fernando
Â
API Management best practices with WSO2 API Manager discusses the common best practices of API management and how those can be applied with WSO2 API Manager
Patterns for automating API delivery. API conferencessuser9e7c64
Â
Automating API product delivery is about automating workflows to improve the quality and delivery speed for APIs by applying APIOps principles. In this talk, I discuss patterns for
API consistency checks: Enforcing API design standards with linting tools like Spectral, Redocly and Vacuum.
API breaking change checks: Automating breaking-change checks with OpenAPI diff tools like Oasdiff
API conformance checks: Ensuring accuracy of your API reference documents using API conformance tools like Schemathesis.
API code generation: Generate server and client code using SDK generators like OpenAPI Generator
Versioning Best Practices for API Architecture.pdfAparna Sharma
Â
Let us begin by admitting that API Versioning is a difficult task. For APIs like Newsdata.io news API Development teams can make a variety of changes to an API throughout its lifecycle (enhancements, bug fixes, adding new capabilities, etc.).
Api management best practices with wso2 api managerChanaka Fernando
Â
API Management best practices with WSO2 API Manager discusses the common best practices of API management and how those can be applied with WSO2 API Manager
Patterns for automating API delivery. API conferencessuser9e7c64
Â
Automating API product delivery is about automating workflows to improve the quality and delivery speed for APIs by applying APIOps principles. In this talk, I discuss patterns for
API consistency checks: Enforcing API design standards with linting tools like Spectral, Redocly and Vacuum.
API breaking change checks: Automating breaking-change checks with OpenAPI diff tools like Oasdiff
API conformance checks: Ensuring accuracy of your API reference documents using API conformance tools like Schemathesis.
API code generation: Generate server and client code using SDK generators like OpenAPI Generator
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...WSO2
Â
This slide deck explores how Choreo, a low-code integration Platform-as-a-Service, provides AI-assisted performance debugging.
Read the full article here: https://wso2.com/choreo/resources/performant-code-for-everyone-writing-better-code-with-ai-powered-performance-feedback/
This is not about how to code your API, but rather to show you what steps and best practices you need to utilize to build a successful, long-lived API. Thankfully with 5 Simple Steps you can build an API that is designed to last.
1 – Go in with a long-term mindset
2 – Understand what you’re building
3 – Utilize Spec Driven Development
4 – Incorporate Best Practices
5 – Repeat steps 1-4 for all new features
Angularjs development services Biz4Solutions is a leading angular app development company in USA and India providing experienced Angular App Developers
Nothing endures but change. Your API will have to evolve. This can be disruptive to consumers. However, with some rules in mind, it doesn't have to be. I present a short introduction to REST API evolution from the perspective of a service developer. www.miredot.com
API Management For Building Software Applications Powerpoint Presentation SlidesSlideTeam
Â
It covers all the important concepts and has relevant templates which cater to your business needs. This complete deck has PPT slides on API Management For Building Software Applications Powerpoint Presentation Slides with well suited graphics and subject driven content. This deck consists of total of fifty slides. All templates are completely editable for your convenience. You can change the colour, text and font size of these slides. You can add or delete the content as per your requirement. Get access to this professionally designed complete deck presentation by clicking the download button below. https://bit.ly/34qpkqr
API Revisions - WSO2 API Manager Community Call (10/27/2021)WSO2
Â
In this WSO2 API Manager community call, we will discuss:
- Overview of API Revisions
- Key Concepts
- API Revisions vs API Versions
- Demonstration on API Revisions and API Product Revisions
Sign up to get notified of future calls: https://bit.ly/373f4ae
WSO2 API Manager Community Channels:
- Slack: https://apim-slack.wso2.com
- Twitter: https://twitter.com/wso2apimanager
Session on API auto scaling, monitoring and Log managementpqrs1234
Â
API Autoscaling
When to configure
How to configure
Points to be noted while configuring
Anypoint Monitoring Overview
Advantages and uses
Built-in dashboards
Custom dashboards
Reports
Alerts
Functional Monitoring
Log Management
Log Search
Log Points
Log Download
API Product Management - Driving Success through the Value ChainApigee | Google Cloud
Â
We Will Discuss »
- Managing API products to maximize success for direct and indirect users in the value chain
- Planning, building, and evolving an API product at all stages of the product life cycle
- Evaluating and validating your API design and functionality and iterating to build a superior and differentiated product
Dependency Down, Flexibility Up – The Benefits of API-First DevelopmentNordic APIs
Â
The tech industry is moving toward cloud and serverless infrastructures. This shift isn’t without its challenges. Complexity is growing in microservices stacks, containerization, and continuous delivery. With a code-first approach, services can be vulnerable to development bottlenecks and program breakage, especially as complexity grows. This is where API-first development comes in.
The main difference between code-first and API-first is that instead of starting with code, API-first programs begin with design, planning, mocks, and tests. Having a planned infrastructure during development and before implementation allows new features to be built as independent services. So, when a particular service is broken or overloaded, remaining services can still function successfully.
In this talk, Ankit Sobti will discuss how an API-first approach creates the backbone to robust, powerful programs that are resistant to breakage. In addition, he will walk through using mocks and tests to optimize feedback in early development, and share concrete examples of API-first development. By the end of this session, you will understand why and how API-first has the potential to create higher functioning and more flexible systems in the future.
Angular11 exciting new features and updatesShelly Megan
Â
Angular11, the most recent updated Angular version introduces some promising updates. Some of them are enhancements in Component Test Harnesses, Refurbished Hot Module Replacement (HMR) Mechanism, Experimental Support for Webpack 5, Automatic Font-Inlining, Operation Byelog Updates, Faster Builds, Updates in Language Service Preview, Migrating to ESLint, etc.
PI's are fundamental for designing and maintaining quality components. Eclipse currently has little tooling to support the design, implementation and maintenance of APIs. As part of the Ganymede release, PDE provides tools to support binary compatibility checking, API usage scanning and plug-in version numbering management. This talk details the technology available in Ganymede, supported usecases and outlines directions for future development. We will also discuss the challenges of proper version management in the bundle world.
Modern REST API design principles and rules.pdfAparna Sharma
Â
Typically, when updating or developing an API like Newsdata.io which is a news API for a service to provide news data with quick response time, there are lengthy discussions about the API’s structure, naming, and functions. Although, over time, certain rules have emerged that can be applied to the process and aid in reaching a common ground while developing.
Modern REST API design principles and rules.pdfAparna Sharma
Â
Typically, when updating or developing an API like Newsdata.io which is a news API for a service to provide news data with quick response time, there are lengthy discussions about the API’s structure, naming, and functions. Although, over time, certain rules have emerged that can be applied to the process and aid in reaching a common ground while developing.
More Related Content
Similar to Versioning Best Practices for API Architecture.pdf
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...WSO2
Â
This slide deck explores how Choreo, a low-code integration Platform-as-a-Service, provides AI-assisted performance debugging.
Read the full article here: https://wso2.com/choreo/resources/performant-code-for-everyone-writing-better-code-with-ai-powered-performance-feedback/
This is not about how to code your API, but rather to show you what steps and best practices you need to utilize to build a successful, long-lived API. Thankfully with 5 Simple Steps you can build an API that is designed to last.
1 – Go in with a long-term mindset
2 – Understand what you’re building
3 – Utilize Spec Driven Development
4 – Incorporate Best Practices
5 – Repeat steps 1-4 for all new features
Angularjs development services Biz4Solutions is a leading angular app development company in USA and India providing experienced Angular App Developers
Nothing endures but change. Your API will have to evolve. This can be disruptive to consumers. However, with some rules in mind, it doesn't have to be. I present a short introduction to REST API evolution from the perspective of a service developer. www.miredot.com
API Management For Building Software Applications Powerpoint Presentation SlidesSlideTeam
Â
It covers all the important concepts and has relevant templates which cater to your business needs. This complete deck has PPT slides on API Management For Building Software Applications Powerpoint Presentation Slides with well suited graphics and subject driven content. This deck consists of total of fifty slides. All templates are completely editable for your convenience. You can change the colour, text and font size of these slides. You can add or delete the content as per your requirement. Get access to this professionally designed complete deck presentation by clicking the download button below. https://bit.ly/34qpkqr
API Revisions - WSO2 API Manager Community Call (10/27/2021)WSO2
Â
In this WSO2 API Manager community call, we will discuss:
- Overview of API Revisions
- Key Concepts
- API Revisions vs API Versions
- Demonstration on API Revisions and API Product Revisions
Sign up to get notified of future calls: https://bit.ly/373f4ae
WSO2 API Manager Community Channels:
- Slack: https://apim-slack.wso2.com
- Twitter: https://twitter.com/wso2apimanager
Session on API auto scaling, monitoring and Log managementpqrs1234
Â
API Autoscaling
When to configure
How to configure
Points to be noted while configuring
Anypoint Monitoring Overview
Advantages and uses
Built-in dashboards
Custom dashboards
Reports
Alerts
Functional Monitoring
Log Management
Log Search
Log Points
Log Download
API Product Management - Driving Success through the Value ChainApigee | Google Cloud
Â
We Will Discuss »
- Managing API products to maximize success for direct and indirect users in the value chain
- Planning, building, and evolving an API product at all stages of the product life cycle
- Evaluating and validating your API design and functionality and iterating to build a superior and differentiated product
Dependency Down, Flexibility Up – The Benefits of API-First DevelopmentNordic APIs
Â
The tech industry is moving toward cloud and serverless infrastructures. This shift isn’t without its challenges. Complexity is growing in microservices stacks, containerization, and continuous delivery. With a code-first approach, services can be vulnerable to development bottlenecks and program breakage, especially as complexity grows. This is where API-first development comes in.
The main difference between code-first and API-first is that instead of starting with code, API-first programs begin with design, planning, mocks, and tests. Having a planned infrastructure during development and before implementation allows new features to be built as independent services. So, when a particular service is broken or overloaded, remaining services can still function successfully.
In this talk, Ankit Sobti will discuss how an API-first approach creates the backbone to robust, powerful programs that are resistant to breakage. In addition, he will walk through using mocks and tests to optimize feedback in early development, and share concrete examples of API-first development. By the end of this session, you will understand why and how API-first has the potential to create higher functioning and more flexible systems in the future.
Angular11 exciting new features and updatesShelly Megan
Â
Angular11, the most recent updated Angular version introduces some promising updates. Some of them are enhancements in Component Test Harnesses, Refurbished Hot Module Replacement (HMR) Mechanism, Experimental Support for Webpack 5, Automatic Font-Inlining, Operation Byelog Updates, Faster Builds, Updates in Language Service Preview, Migrating to ESLint, etc.
PI's are fundamental for designing and maintaining quality components. Eclipse currently has little tooling to support the design, implementation and maintenance of APIs. As part of the Ganymede release, PDE provides tools to support binary compatibility checking, API usage scanning and plug-in version numbering management. This talk details the technology available in Ganymede, supported usecases and outlines directions for future development. We will also discuss the challenges of proper version management in the bundle world.
Modern REST API design principles and rules.pdfAparna Sharma
Â
Typically, when updating or developing an API like Newsdata.io which is a news API for a service to provide news data with quick response time, there are lengthy discussions about the API’s structure, naming, and functions. Although, over time, certain rules have emerged that can be applied to the process and aid in reaching a common ground while developing.
Modern REST API design principles and rules.pdfAparna Sharma
Â
Typically, when updating or developing an API like Newsdata.io which is a news API for a service to provide news data with quick response time, there are lengthy discussions about the API’s structure, naming, and functions. Although, over time, certain rules have emerged that can be applied to the process and aid in reaching a common ground while developing.
Competitive intelligence with Newsdata.io news API.pdfAparna Sharma
Â
Most businesses are rightfully concerned with providing their customers with the best possible product or service. For us at Newsdata.io news API, it certainly feels like a full-time job. However, no organization is an island. There is a larger world beyond the walls of any business. A market in which that business operates, and (I’m afraid to say) competitors who want to help your customers in similar but subtly different ways.
A company that does not pay attention to its competitors will not last long. Indeed, there are numerous lessons to be drawn from this tragic tale of corporate demise. But there’s no denying that a failure to notice and respond to what was going on around them played a role. In short, the business failed to recognize the direction of the wind and (famously) underestimated the new kid on the block Netflix.
What is the difference between web scraping and apiAparna Sharma
Â
The internet is not only a source of information but also a wealth of data that has the potential to transform many business processes. Application programming interfaces (APIs) like Newsdata.io which is a news API that fetches news data from our news database and web scraping are two common methods for obtaining data from the web.
We will explain how the two solutions work and compare them in terms of benefits and technical dependencies in this guide. We will also provide examples of which is a better option for specific business use cases and websites such as Amazon, Twitter, and Instagram.
Top 15 news apis in the market in 2022 for youAparna Sharma
Â
You can take advantage of our free trial session to gain a better understanding of the concepts mentioned. Purchase as you progress through your projects. We offer high-quality datasets that may be useful to your company. I hope you find this article useful.
What are the different types of web scraping approachesAparna Sharma
Â
The importance of Web scraping is increasing day by day as the world is depending more and more on data and it will increase more in the coming future. And web applications like Newsdata.io news API that is working on Web scraping fundamentals. More and more web data applications are being created to satisfy the data-hungry infrastructures. And do check out the top 21 list of web scraping tools in 2022
API testing has established a trend for automated testing as software development teams become more technologically oriented. More tools will be developed to meet these requirements. Regardless of how difficult it is to find a tool that can do everything, adopting a toolset that meets a company’s needs while increasing revenue is critical. Before choosing one, consider how each API testing tool may be better suited for specific purposes and what features are essential for your software development workflows.
API testing has established a trend for automated testing as software development teams become more technologically oriented. More tools will be developed to meet these requirements. Regardless of how difficult it is to find a tool that can do everything, adopting a toolset that meets a company’s needs while increasing revenue is critical. Before choosing one, consider how each API testing tool may be better suited for specific purposes and what features are essential for your software development workflows.
API testing is a critical component of the software testing process. Programmers, developers, and software analysts who collaborate to create a stable software product use a variety of tools to ensure the product’s quality.
In such a case, getting API testing right is one of the most important factors in determining whether a software item will be a success or a failure. From this list of recently reviewed web API testing tools, one can compare the tools to choose the best and get the best ROI by selecting an ideal tool for API testing.
Best practices and advantages of REST APIsAparna Sharma
Â
In this article, I am going to share the best practices and the advantages of REST APIs, as I am working with a team on a REST-based web application. Newsdata.io news API is a REST-based API that fetches news data from thousands of news websites in JSON format. Therefore, I have a basic understanding of REST APIs that I am going to share with you.
Web scraping is one of the most complex enemies to fight on the Internet today. Everyone, including regulators and even those who disapprove of it, scrapes the web in one way or another. This tool is invaluable in many areas including but not limited to market research, artificial intelligence, SEO, etc.
Top 17 web scraping tools for data extraction in 2022Aparna Sharma
Â
Web scraping tools are software specially developed to extract useful information from websites. These tools are useful for anyone looking to collect any form of data from the Internet.
Here is a curated list of the best web scraping tools This list includes commercial and open source tools with popular features and the latest download link.
Ultimately, the rise of SaaS solutions will continue as we go. SaaS is used by both large and small businesses, and as these possibilities expand, this ratio will increase. For more information, see the following articles.
Software as a Service (SaaS) is one of the fastest-growing divisions in the IT industry. SaaS models, which are centrally located on a remote cloud network, operate on a subscription basis and become useful for many businesses due to their flexibility, cost, and many other reasons.
Newsdata.io is just another example of Saas based product, which in this case is a news API that users use to get required news data through API calls. This is just one simple example of Saas.
In the coming period due to the covid pandemic, many companies will need the remote working of their employees, so the need for SaaS will only increase.
In this article, I’ve included some of the most important trends and growth data for SaaS solutions in 2022.
10 best platforms to find free datasetsAparna Sharma
Â
If “the data is the new oil” then there is a lot of free oil just waiting to be used. And you can do some pretty interesting things with that data, like finding the answer to the question: Is Buffalo, New York really that cold in the winter?
There is plenty of free data out there, ready to be used for school projects, market research, or just for fun. Before you go crazy, however, you should be aware of the quality of the data you find. Here are some great sources of free data and some ways to determine their quality.
All of these dataset sources have strengths, weaknesses, and specialties. All in all, these are great pieces of equipment and you can spend a lot of your time digging rabbit holes.
But if you want to stay focused and find what you need, it’s important to understand the nuances of each source and use their strengths to your advantage.
Web scraping tools are software developed specifically to simplify the process of extracting data from websites. Data mining is a rather useful and commonly used process, but it can also easily turn into a complicated and messy activity and take a lot of time and effort.
API (Application Programming Interface) is a processing interface that enables communication and data exchange between two separate software systems. A software system running an API includes several functions/routines that another software system can perform.
What is the difference between an api and web servicesAparna Sharma
Â
API stands for Application Programming Interface. It is a software interface that allows two applications to interact without any user intervention.
API provides products or services to communicate with other products and services without knowing how they are implemented.
For example News API, Crypto news API, etc that is used to fetch required data from the database.
Restful Web Services is a lightweight, manageable and scalable service based on the REST architecture. Restful Web Service exposes your application’s API in a secure, uniform, and stateless manner to the calling client.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Â
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
Â
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Â
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
Â
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
Â
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Â
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Â
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Â
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
Â
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
Â
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Â
Versioning Best Practices for API Architecture.pdf
1. Versioning Best Practices
for API Architecture
Let us begin by admitting that API Versioning is a difficult task. For APIs
like Newsdata.io news API Development teams can make a variety of
changes to an API throughout its lifecycle (enhancements, bug fixes, adding
new capabilities, etc.).
How would you know whether a particular change necessitates a new API
version? How would you convey this to customers? How much time would
consumers have to make the switch?
2. All of these questions can be answered with careful planning.
Rule of Thumb for API Versioning
Each time you improve your API, it evolves. And API evolution can either
keep your API implementation the same or introduce breaking changes that
negatively impact your API consumers.
To keep consumers happy and APIs functional, you must decide on a
versioning method, how to version your APIs, and what general principles
to follow when upgrading your APIs.
Without further ado, let’s get started!
Tip #1 — Keep a Detailed & Up-to-date API Spec
An API Specifications document contains the following information for
software engineers and end-users:
Contract — An API Spec is a contractual agreement between API software
engineers and API consumers (or applications). It should include
information about all of the API features that are made available to the
application.
Operations — The specific operation(s) supported by the API, also known
as methods and functions.
Requests — The specific request(s) that the API supports, as made by
applications.
3. Responses — The specific response(s) supported by the API and expected
by applications.
If the API service does not comply with the agreed-upon corresponding API
Spec, an application will not function properly with it.
Tip #2 — Devise a Versioning Strategy
This is to handle the evolution of APIs (enhancements, bug fixes) over time.
Software engineers can use versioning strategies to do the following:
• Keep existing applications’ existing functionality(s).
• Provide new API versions with additional functionality(s).
How to handle the versioning
When it comes to versioning your API, as a software engineer, you should
consider the following concepts:
Postel’s Rule
Postel’s law suggests the following when implementing versions:
• Change responses (payloads) cautiously.
• Accept requests from applications/consumers with open arms.
Surprises are not Good! In the API world at least
4. When determining whether an API change is of the breaking variety, you
should apply the Principle of Least Astonishment and keep the following
guidelines in mind:
• Consumers are reliant on the calls/methods that the changes entail.
• The following consumer characteristics should be reflected in the design:
- Models
- Mental images
- Predictions
Software engineers can do the following to reduce surprises (or
astonishments):
• Make the API meet the consumers’ current expectations.
• Create and implement new features that will behave in accordance with
existing mental models created by consumers and end-users.
If teams stray too far from an existing mental model, they may conclude that
a potential change is a game-changer, even if they consider it
minor/harmless. This is due to the fact that the consumer and end-user lack
the underlying system knowledge that the software engineer supporting the
API possesses.
Tip #3 — Try to use Semantic Versioning
5. Semantic versioning is a strategy that enables engineers to create patches
and minor version changes without disrupting existing integrations.
Updates to patches
Patches are API changes that do not affect the API’s functionality. It could
be as simple as adding a new dependency.
Minor alterations
Minor changes may add some new functionality, but they rarely result in
breaking changes (ex: a newly required field).
Significant modifications
Major changes are those that necessitate application developers/consumers
changing how they call and consume an API (for example, providing a
required parameter(s) in an endpoint).
The effects of versioning
Versioning changes are costly and time-consuming for both the software
engineers who build and support the API. Additionally, the
applications/consumers that use the API require long timeframes to
properly test and ensure the upgrades are working with the application as
desired.
Using Semantic Versioning
6. We can do the following with Semantic Versioning:
• For versioning, use the following pattern to identify our APIs:
Major.Minor.Patch
• Release your API specifications in stages, with the first version being
1.0.0.
• Versions created prior to the initial release are denoted as 0.x.x.
• - An important note: The 0 indicates that the API was still in
development mode.
• Minor and patch versions are numbered sequentially beginning with 0.
• When the next higher version change occurs, restart the numbering for
minor and patch versions at 0.
• When creating your API, include the major version number in the path
You can use pretty much any design strategy for your endpoint base (also
known as basePath), but here’s what I’ve seen work frequently:
1. Domain
2. Sub-domain
3. Version
4. Useful resource
In my opinion, and based on my experience, I recommend including the
major version number in the basePath for the following reasons:
7. • Semantic versioning will limit the ability of the API software engineer to
update and change the API Spec and existing APIs.
• Breaking changes SHOULD NOT be introduced in minor and patch
versions.
Versioning your URIs
My personal recommendation is to use URI Versioning to preserve previous
versions of an API while migrating your consumers to newer API versions.
When updating versions, keep the following points in mind:
• Consistently indicate the version(s).
• Separate different resources.
• Create a new API call whenever the software engineer wants to provide a
newer version of the API Spec.
• Maintain the functionality(s) of applications that used the previous API.
So, by updating the basePath for new API Specs, software engineers can
support and catch the following scenarios:
• Existing APIs can be preserved by software engineers.
• To support the new API Specs, engineers can create new API endpoints.
• The version change has no effect on applications that have not fully
transitioned to the updated URI.
8. • Existing consumer applications can continue to operate normally.
Tip #5 — Handling and Onboarding Breaking Changes
Breaking changes typically result in an increase in the major version
number, while non-breaking changes result in an increase in the minor
version number.
When rolling out/changing the major version number, you must consider all
of your existing API consumers.
When releasing a new version of an API, many software engineers “sunset”
the current version.
During the sunset phase, software engineers run the previous version of the
previous API version alongside the new API version.
The API sunset phase, allows API consumers to gradually migrate to the
new version.
Tip #6 — Handling and Onboarding Non-Breaking Changes
Engineers typically perform the following updates for minor version
changes:
• Adding one to the minor version
• Reverting the patch version to zero
Patch Changes
9. API Specs would only include patch changes if the updates would have no
effect on the Spec’s functionality (for example, typos in the description or
other types of errors that do not affect general functionality(s)).
Routing changes
You can change the URL endpoint, and the correct API call will be routed
automatically. To accomplish this, I always recommend including the
version in the basePath. Finally, you must contact your downstream API
consumers and request that they update the new basePath when you require
them to use your new API version.
Tip #7 — Gracefully Sunset and Deprecate legacy API versions
When you release an upgraded version of an API, you should deprecate the
previous versions so that you don’t have to maintain two service
implementations for the API.
When an API is sun-set, it enters a limited-maintenance mode, giving API
subscribers time to migrate to a newer version of the API.
Software engineers should provide a sunset and deprecation policy, stating
the policy for any sunset period upfront.
Always try to do the following when sunsetting and deprecating APIs for the
best customer service:
• Make an announcement informing all API users that they must upgrade
to the new API version. This notice should include any sunset period and
10. the date you intend to discontinue the service. Maintain an up-to-date
list of your API consumers’ contact information.
• Sunset the API with a warning indicating the sunset time (ex: 1 month, x
number of weeks, etc.).
• Deprecate the API once users have stopped using previous versions.
Reference and Credits
1. https://abdulrwahab.medium.com/api-architecture-versioning-best-
practices-1d5cea49df25
2. https://newsdata.io