Learning Library

← Back to Library

APIs vs Services: Key Differences

Key Points

  • Alan Glickenhouse explains that “business APIs” are self‑service, marketable web interfaces that expose a business asset to app developers, distinct from the older, purely technical APIs of the past.
  • In contrast, a service (as defined in SOA) is a reusable implementation of a repeatable business task (e.g., credit check, account opening) that focuses on connectivity and internal reuse.
  • The confusion between APIs and services arises because both can use SOAP or REST and both perform integration, yet APIs are packaged for external consumption while services were primarily built for internal orchestration.
  • The shift from traditional SOA to modern API strategies moves the emphasis from a single, internal view of entities to exposing those entities as consumable, business‑driven APIs that can be marketed to developers.
  • Microservices are introduced as a newer architectural style that further abstracts functionality into small, independently deployable units, but still aligns with the API‑first perspective of exposing business capabilities.

Full Transcript

# APIs vs Services: Key Differences **Source:** [https://www.youtube.com/watch?v=qGFRbOq4fmQ](https://www.youtube.com/watch?v=qGFRbOq4fmQ) **Duration:** 00:12:15 ## Summary - Alan Glickenhouse explains that “business APIs” are self‑service, marketable web interfaces that expose a business asset to app developers, distinct from the older, purely technical APIs of the past. - In contrast, a service (as defined in SOA) is a reusable implementation of a repeatable business task (e.g., credit check, account opening) that focuses on connectivity and internal reuse. - The confusion between APIs and services arises because both can use SOAP or REST and both perform integration, yet APIs are packaged for external consumption while services were primarily built for internal orchestration. - The shift from traditional SOA to modern API strategies moves the emphasis from a single, internal view of entities to exposing those entities as consumable, business‑driven APIs that can be marketed to developers. - Microservices are introduced as a newer architectural style that further abstracts functionality into small, independently deployable units, but still aligns with the API‑first perspective of exposing business capabilities. ## Sections - [00:00:00](https://www.youtube.com/watch?v=qGFRbOq4fmQ&t=0s) **API vs Service: Key Differences** - Alan Glickenhouse explains IBM's definition of business/web APIs as self‑service, consumable assets, contrasting them with traditional services and microservices to clarify their distinct roles. - [00:03:12](https://www.youtube.com/watch?v=qGFRbOq4fmQ&t=192s) **API Strategy: Security, Governance, Scale** - The speaker explains how encapsulating services for APIs reduces change costs while demanding high availability, robust security, and strict governance via an enterprise service bus, shifting focus from internal pilots to broad external consumption. - [00:06:36](https://www.youtube.com/watch?v=qGFRbOq4fmQ&t=396s) **Differentiating APIs from Services** - The speaker contrasts APIs with SOA services—emphasizing that APIs aim for quick, secure, consumable calls with minimal integration, whereas services focus on extensive connectivity, governance, and reuse—and advises defining the intended audience when designing an API. - [00:10:32](https://www.youtube.com/watch?v=qGFRbOq4fmQ&t=632s) **Microservices, APIs, and Flexible Integration** - The speaker explains how building microservices with an API layer enables faster market delivery, flexible internal and partner access, and maintains control and security over systems of record. ## Full Transcript
0:00Hi, my name is Alan Glickenhouse. I'm 0:01the IBM API business strategist. 0:04Probably the question I'm asked more 0:05than any other one is what's the 0:06difference between APIs and services. Uh 0:08this is especially asked by those people 0:10who have spent the last 10 or 15 years 0:12working on serviceoriented architecture 0:14and services. Uh so I thought we'd 0:16record a video and and just uh finally 0:19answer this question once and for all. 0:21And I threw in microservices as well 0:23which is a new topic that's come up that 0:24we uh get asked a lot uh about the 0:26positioning as well. 0:28So first of all from an API perspective. 0:31So this is our definition chart for APIs 0:34we talk about uh APIs application 0:37programming interfaces and uh really the 0:40term we should be using is business APIs 0:42or web APIs. We're distinguishing a 0:45business API from the traditional old 0:47technical API that has been around for 0:49decades. Uh these are business assets 0:52that we want to make available in a 0:54self-service manner uh for a particular 0:56audience. And so we want to package 0:58these assets up as a consumable entity 1:01that we call a business API and market 1:03this to an audience which is a a an app 1:06developer that's going to consume this 1:07API and use it. So business API is is 1:10the context of what we're talking about 1:12with APIs. My previous role at IBM, I 1:16was on the uh serviceoriented 1:17architecture team for IBM and I use this 1:19chart a lot and so we talked about a 1:21service as being a repeatable business 1:23task. uh something like check customer 1:26credit, open a new account. And so that 1:28sounds a lot like what I just said an 1:30API was. Uh and and so there's a little 1:33bit of uh obvious reason why there might 1:36be some confusion. In fact, it gets 1:38worse. Uh if you look at uh what we were 1:40doing with S SOA and services, uh we 1:43mostly were using SOAP. Uh but you in 1:46the more modern times have started to 1:48use REST there as well. In APIs, we most 1:51often use REST, but we could also use 1:53SOAP. Uh the purpose for an API I said 1:55was to expose a business asset as an API 1:58and for a service we said to was 2:00encapsulate a repeatable business task 2:01as a service which sounds very similar. 2:04And do they both do integration tasks? 2:06Yes, they do. So so this is what's 2:08causing the confusion. And it's pretty 2:10easy to see why that someone who's very 2:13familiar with S SOA and services might 2:15be confused by APIs. Uh and isn't this 2:18something that they've already done? And 2:19and maybe this is just a new name for 2:21the same thing. In fact, what we've done 2:23is just look at what they have in 2:24common. Let's take a look at maybe some 2:26of the things that are different, right? 2:28So, in the S SOA world, the focus was on 2:31connectivity and reuse. We were building 2:33these services to drive reuse of these 2:35services. So, we had a single view of an 2:38entity, a single view of a customer, a 2:39single view of an account, a single view 2:41of an order. And anyone who wanted the 2:43information about that particular asset 2:45would come and reuse that. And then we 2:47focused a lot on the connectivity of uh 2:49the different services in that uh in 2:51that environment typically inside the 2:53enterprise dealing with the systems of 2:55record. The sharing was about 2:57effectiveness and cost. We're going to 2:59reduce the cost of future projects that 3:01we did in the enterprise and most of the 3:03audience uh that we were targeting the 3:05services for were internal. If we did 3:07make the services available to a few 3:09partners, it was difficult to do that. 3:11we had to set up the security and do 3:12some training for them to consume this 3:15uh this particular service and so it was 3:17not something we could do for the masses 3:19and the encapsulation aspect was about 3:21less to change we were going to change 3:23what maybe was behind that service 3:25interface uh and we wouldn't have to 3:27change all the consumers of that which 3:28is again back to the cost issue the 3:31focus for APIs is about consumption and 3:33speed to deliver it's about reaching new 3:36markets and the audience is internal but 3:39it's more often and going to be a larger 3:41number of external users. So while we 3:43might start with internal, the focus is 3:45to get these assets out there to a much 3:47larger external community and it's 3:49really about less to learn and and speed 3:52and consumption and that's really the 3:53focus for APIs. So if you think about 3:56these things working together, the 3:58systems of record that are running each 3:59of our businesses today are critical 4:01systems that can't go down, need high 4:04availability, high security. uh we're 4:06going to have robust connectivity 4:08capabilities and that was done through 4:10an enterprise service bus like the IBM 4:12integration bus. Big level of focus on 4:15governance to be sure that we got the 4:16services right and that we uh didn't 4:19change them without concerned for all 4:21the things that were consuming them 4:22possibly breaking if we made a a bad 4:25change without testing it correctly. So 4:27systems of record absolutely critical uh 4:30cannot go down high security needs lots 4:32of governance. Now along come things 4:35like mobile and social and big data and 4:37analytics and and and these things are 4:39moving at an incredible rate of speed 4:41and I can't change the systems of record 4:43at that kind of rate of speed. So to 4:45solve this problem and let the business 4:47do the things that they need to do 4:49quickly, we're going to encapsulate 4:50these systems of record services as 4:53self-service APIs that someone could 4:55sign up for and consume themsel. if 4:57we're going to predefine the security 4:59aspects and the terms and conditions 5:01around that and make that available 5:03through an audience and a secure gateway 5:05that'll access these back-end systems. 5:07And so the idea here is that the APIs 5:09and services do work together. They're 5:11not one is a replacement for the other 5:13and the APIs will be accessing the 5:15services from the systems of record, but 5:16we can change these things and we can 5:18create them on a much more rapid basis 5:20and make these things available in a 5:22self-service manner. So let's look at 5:24what these things have in different have 5:26uh as differences and not just what they 5:28have in common. So most of the time uh 5:31people who uh worked on services were 5:33provider oriented services based on the 5:36system of record. If you had a customer 5:38system uh uh that had customer data 5:40there might be one or more customer 5:42services that people would access and if 5:44you needed customer information you 5:45would come to the customer service. So 5:47it was a provider oriented service. Uh 5:49same thing for the account, for the 5:51inventory, for the shipping system. Any 5:53of these systems might have services 5:56that represented what the system did and 5:58those would be uh services that you 6:00would access to access those back-end 6:02systems of record. The APIs are consumer 6:05focused. And if you think about what a 6:06consumer might do uh with the backend 6:09services, they will uh access 6:11potentially more than one service. In a 6:13scenario, for example, where I want to 6:16check my order status, I might have to 6:18check the customer service, I might have 6:19to check the inventory service, I might 6:21check the system uh the the shipping 6:23service all in one API call and not have 6:26three separate APIs for that person to 6:28do that. So, one consumer oriented API 6:30might call three or more back-end 6:32services to come up with the answer. 6:34From an integration perspective, while 6:36they both do uh integration, S SOA and 6:39services were very focused on 6:41integration and had a complete robust 6:43set of connectivity capabilities, 6:45integration is not really the primary 6:47focus of APIs. We want to take an API 6:49call and get it into the back end as 6:51quickly as possible. It's about securing 6:53that and making it perform very well and 6:56and and uh and making it consumable. 6:58It's not about complex integration. we 7:01do need to do some integration to get 7:02the API call to the back end. And so 7:05that minimal amount is done as part of 7:07the API uh solution. Uh why do you care? 7:10Connectivity and reuse is what we talked 7:12about for services. Self-service 7:14consumption, security, analytics, and 7:16speed for APIs. And finally uh for 7:18services, the focus is uh for governance 7:21is very strong. And for APIs, it's 7:23really just enough. We need to be able 7:25to move very fast in the API space to 7:27get to market very quickly. So there is 7:30a a difference in perspectives and use 7:32cases for APIs versus services. And 7:34really the best scenario is that we're 7:36using these 7:37together. So three questions lead to 7:39good APIs. The first question you want 7:41to ask yourself when you're thinking 7:42about what API you want to create is who 7:44is the audience? What what uh what 7:46audience are we talking about? Is this 7:48an internal uh user that is going to 7:50build a mobile app or use it somewhere 7:52inside the enterprise? Is this a 7:54partner? Uh am I making a public API? 7:56The second question, probably the most 7:58important one, is what do they want? So, 8:00we're focusing on that consumer. What do 8:02they want? Not what do you have? We're 8:05not going to put an API in front of 8:06every service that we have and just say 8:08to the audience, uh, you figure out how 8:11to make these things work together. The 8:12better APIs are going to be consumer 8:14oriented and map to m potentially 8:16multiple back-end services. It might be 8:19the case that we're going to call one 8:20one back-end service and that's fine. uh 8:22but let's not focus on what we have as 8:24the things that are driving the API 8:26creation. And then the third question 8:28that we're going to ask is under what 8:29terms and conditions are we willing to 8:31share. And this deals with the security 8:33around the API, who's authorized to use 8:35it and also the policies around the API 8:38rate limits, how many times per minute, 8:41hour, second, whatever it is that we 8:43want to make it available. And so we'll 8:46uh understand what conditions we want to 8:48make this available to them. And that's 8:49what leads to good APIs. After we've 8:51answered these questions, of course, 8:52then we have to build the API and we're 8:54going to map the what do they want to 8:56the what do we have? But that's not 8:57something that should drive the creation 8:59of the API 9:00itself. So let's talk a little bit about 9:03how microservices fit into this. Uh 9:05traditionally every project that we've 9:07done uh for the history of computing has 9:10three components to it. uh there's some 9:12kind of a user interaction in some way, 9:14whether it's a user interface or 9:15something that a user is going to 9:17interface with the uh new project to 9:20tell you what they want to do. Uh 9:22there's going to be some kind of 9:23business logic that they deal with that 9:25is going to make uh the decisions on 9:26what should happen and then maybe some 9:28data manipulation on the back end, some 9:30updates or some reads uh that are going 9:33to get done to access and and uh massage 9:35the data in some way. And as we did 9:37these projects, we thought about it from 9:39an endto-end perspective and we 9:40delivered that project as a whole. Uh 9:42and that would take a certain amount of 9:44time to deliver whatever amount that 9:46was. We needed all the parts to come 9:48together to deliver the project 9:49successfully. With microservices, what 9:52we're going to do is do the exact same 9:53thing, but we're going to break it up 9:54into the component parts. So each one of 9:57the parts the user interface the 9:59business logic and the data manipulation 10:00can be built separately by individual 10:02teams on a separate schedule with the 10:05idea that these will be working together 10:07but also that others might use them as 10:09well. So if you think about this a 10:11mobile app uh let's say is being created 10:13it has a user interface it's going to 10:15call in and do some business logic and 10:17do some data manipulation and maybe 10:19that's the first solution you come out 10:20with. But the second solution might have 10:22the partner uh doing something that's 10:25going to invoke that same business logic 10:27and that same data manipulation. In this 10:29case, you don't own the user interface. 10:31Someone else does. And you can come to 10:32market much quicker if you've built this 10:34on microservices as an architectural 10:36style rather than as a whole monolithic 10:38project. And really, that's what the the 10:40trend toward microservices is. Let's 10:42think about the components that we can 10:43build together um in consumable ways so 10:46that uh we can uh do projects faster and 10:49and still get great results uh for the 10:51enterprise. So how does that work with 10:53APIs? Uh so the microservices can be 10:56built uh either in the systems of record 10:59or in front of the systems of record 11:00based on your needs uh and add the 11:03business logic for the user interface if 11:06you want to do that there for the uh 11:08business logic and for the data 11:09manipulation and then you'll control the 11:11access to the microser through an API 11:14layer that makes that microser 11:16consumable by the audience that you want 11:18to consume it. So if you're making it 11:20available initially to the um internal 11:22developers for the mobile app or the 11:24web, that's great. And then you want to 11:26make an API available to your partner to 11:28consume that same business logic, that's 11:30fine too. And you can have different 11:31terms and conditions for each audience. 11:33And so really that's how APIs and 11:35microservices will work together with 11:36the services in the systems of record uh 11:39to provide a complete solution. And it 11:40gives us a tremendous amount of 11:42flexibility. Uh it gives us the control 11:44and the the uh availability for the 11:47systems of record while giving us the 11:49speed and consumption and security that 11:51we want from a uh an API layer. And so 11:54think of an API as a managed micros 11:56service and you're you're good to go for 11:59bringing these things to market. 12:00Hopefully that helped to answer this 12:02question once or for all. I'm sure it's 12:03not the last time I'll be answering it. 12:05uh but uh I'll be pointing people to 12:07this video so that they can see the 12:09answer for uh positioning APIs and 12:10services and microservices. Thanks.