Need advice about which tool to choose?Ask the StackShare community!

Apollo

2.7K
1.8K
+ 1
25
AWS AppSync

196
254
+ 1
30
Add tool

AWS AppSync vs Apollo: What are the differences?

Introduction: AWS AppSync and Apollo are both popular tools for building GraphQL APIs. While they have similarities, there are also key differences between them that developers should consider. Here are six key differences between AWS AppSync and Apollo.

  1. Managed Service vs Library: AWS AppSync is a fully managed service provided by Amazon Web Services (AWS). It provides a serverless GraphQL API without the need to manage infrastructure. On the other hand, Apollo is a JavaScript library that allows developers to build GraphQL APIs within their own server environments. This means that developers using Apollo have more control over their infrastructure but also need to handle the management themselves.

  2. Data Sources and Resolvers: AWS AppSync provides built-in support for various data sources, including Amazon DynamoDB, AWS Lambda, and more. With AppSync, you can define data sources and resolvers using AWS services, making it easier to integrate with other AWS features. Apollo, on the other hand, is more flexible when it comes to data sources and resolvers. Developers can choose their preferred data sources and write custom resolvers for their specific needs.

  3. Real-time Subscriptions: AWS AppSync has native support for real-time subscriptions, allowing you to push updates to clients when changes occur in your data. This is done through websockets and is especially useful for applications that require real-time updates, like chat applications or collaborative tools. Apollo does not provide built-in support for real-time subscriptions, although there are community packages available that can add this functionality.

  4. Authentication and Authorization: AWS AppSync provides built-in support for authentication and authorization using AWS Identity and Access Management (IAM) roles and policies. This makes it easier to secure your API and control access to your data. Apollo does not have built-in authentication and authorization support, but it can be integrated with other authentication systems or libraries, giving developers more flexibility in implementing authentication and authorization mechanisms.

  5. Managed Serverless Functions: In addition to data sources, AWS AppSync allows you to use AWS Lambda as a resolver for your GraphQL operations. This means you can write serverless functions in Lambda and integrate them with your API. Apollo does not provide a managed serverless function feature, so if you want to use serverless functions with Apollo, you would need to set up and manage your own serverless infrastructure.

  6. Infrastructure and Scalability: With AWS AppSync, you don't need to worry about infrastructure management or scalability. AWS handles the scaling of your API and ensures high availability. On the other hand, Apollo gives you more control over your infrastructure, but you are responsible for managing and scaling it yourself. This may require additional effort and expertise from your development team.

In Summary, AWS AppSync is a managed service provided by AWS, offering built-in support for data sources, real-time subscriptions, authentication, and authorization. It also provides managed serverless functions and takes care of infrastructure management and scalability. Apollo, on the other hand, is a JavaScript library that allows more flexibility in choosing data sources, resolvers, and authentication mechanisms. Developers have more control over their infrastructure but need to handle management and scalability themselves.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Apollo
Pros of AWS AppSync
  • 12
    From the creators of Meteor
  • 8
    Great documentation
  • 3
    Open source
  • 2
    Real time if use subscription
  • 9
    GraphQL
  • 6
    Real-Time
  • 3
    Offline
  • 3
    Apollo
  • 2
    Fully managed and scalable GraphQL Resolver!
  • 2
    Backed by Amazon
  • 2
    BaaS
  • 2
    AWS
  • 1
    Enterprise Security

Sign up to add or upvote prosMake informed product decisions

Cons of Apollo
Cons of AWS AppSync
  • 1
    File upload is not supported
  • 1
    Increase in complexity of implementing (subscription)
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    What is Apollo?

    Build a universal GraphQL API on top of your existing REST APIs, so you can ship new application features fast without waiting on backend changes.

    What is AWS AppSync?

    AWS AppSync automatically updates the data in web and mobile applications in real time, and updates data for offline users as soon as they reconnect. AppSync makes it easy to build collaborative mobile and web applications that deliver responsive, collaborative user experiences.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Apollo?
    What companies use AWS AppSync?
    See which teams inside your own company are using Apollo or AWS AppSync.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Apollo?
    What tools integrate with AWS AppSync?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    GitHubPythonNode.js+47
    54
    72275
    What are some alternatives to Apollo and AWS AppSync?
    Helios
    Helios is a Docker orchestration platform for deploying and managing containers across an entire fleet of servers. Helios provides a HTTP API as well as a command-line client to interact with servers running your containers.
    GraphQL
    GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012.
    Python
    Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
    Relay Framework
    Never again communicate with your data store using an imperative API. Simply declare your data requirements using GraphQL and let Relay figure out how and when to fetch your data.
    Heroku
    Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling.
    See all alternatives