ServicesThird-Party Services

Third party services are services that are provided by an external company or organization. These services can be anything from cloud storage to social media integration.

What is a Third-Party Service?

A third-party service is any service that is not part of your company's core offerings. For example, if you're designing a ride-sharing app, the GPS and mapping functionality would likely be provided by a third-party service such as Google Maps. Other examples of third-party services include Stripe (payment processing), SendGrid (email delivery), and Twilio (SMS messaging).

How do I integrate with a Third-Party Service?

When integrating with a third-party service, you'll need to consider how the service will be used by your system, and how your system will authenticate with the service.  For example, let's say you're designing a system that needs to send emails. You could use a service like SendGrid, which has an API that you can use to send emails programmatically. In order to use the SendGrid API, you would first need to create an account and obtain an API key. Once you have the key, you would then need to write code in your system to call the SendGrid API using the key. This would allow your system to send emails through SendGrid. 

What are some common issues with Third-Party Services?

Some things to watch out for when integrating with a third part service. To avoid these issues, it's important to carefully consider which services you really need and how best to integrate them into your system so that they complement your core offerings rather than becoming a burden.

Dependency Hell

This occurs when there are too many dependencies on third-party services, and your system becomes difficult to maintain as a result. 

Vendor lock-in

This happens when your system becomes too reliant on a particular service, making it hard to switch to another service if necessary. 

Single point of failure

This happens when all traffic goes through a single third-party service, and if that service goes down, your entire system goes down with it. 

Important questions to ask

If you are told you can use a third party service during an interview, its good to ask the following questions to make sure you understand that services limitations

  • How will the system scale if we incorporate third party services?
  • How will the system be affected if one of the third party services goes down?
  • What are the security risks associated with incorporating third party services?
  • What are the privacy implications of incorporating third party services?

If you are told you have access to a third party service to handle some chunk of functionality during your interview, it usually means your interviewer wants you to focus on implementing a different part of the system.

Related Problems