Alternatives to Apollo logo

Alternatives to Apollo

Helios, GraphQL, Python, Relay Framework, and NGINX are the most popular alternatives and competitors to Apollo.
2.4K
25

What is Apollo and what are its top alternatives?

Apollo is a GraphQL client that simplifies consuming APIs and managing complex data fetching. It provides features such as caching, error handling, and query management to efficiently fetch and store data. However, Apollo can be complex to set up and may require a learning curve for beginners.

  1. Relay: Relay is a powerful GraphQL client that is optimized for performance and scalability. It offers features such as pagination, optimistic updates, and automatic batching. Compared to Apollo, Relay requires a more strict data structure but can offer better performance.
  2. Urql: Urql is a lightweight and flexible GraphQL client that focuses on simplicity and minimalism. It offers features like automatic cache updates, hooks-based API, and support for server-side rendering. While Urql may lack some advanced features of Apollo, it can be easier to use for small to medium-sized projects.
  3. Graphql-request: Graphql-request is a simple and lightweight GraphQL client for Node.js and browsers. It provides a minimalistic API for sending queries and mutations to a GraphQL server. Compared to Apollo, Graphql-request may lack some advanced features like caching and error handling.
  4. GraphQL-zeus: GraphQL-zeus is a powerful GraphQL client that provides an auto-generating Editor-like tool for queries and mutations. It offers features like autocomplete, syntax highlighting, and real-time collaboration. In comparison to Apollo, GraphQL-zeus may not have as many built-in features but provides a unique developer experience.
  5. GraphQL Code Generator: GraphQL Code Generator is a tool that generates code from your GraphQL schema and operations. It supports multiple languages and frameworks, making it easy to integrate with existing projects. While not a direct client like Apollo, GraphQL Code Generator can improve developer productivity by reducing manual work.
  6. Lokka: Lokka is a simple JavaScript GraphQL client that provides an easy-to-use API for sending queries and mutations. It is lightweight and suitable for small projects that do not require advanced features like caching. Compared to Apollo, Lokka may lack some robust capabilities but can be a good choice for quick prototyping.
  7. OneGraph: OneGraph is a platform that combines GraphQL APIs from multiple services into a single endpoint. It allows you to query data from various sources like GitHub, Stripe, and Twitter using a unified GraphQL interface. While not a direct replacement for Apollo, OneGraph can simplify data fetching by consolidating different APIs.
  8. ReactQL: ReactQL is a starter kit for building React applications with features like server-side rendering, GraphQL integration, and offline support. It provides a solid foundation for developing universal apps that leverage GraphQL for data management. While not a standalone client like Apollo, ReactQL offers a comprehensive solution for building modern web applications.
  9. Hasura: Hasura is a GraphQL engine that generates a GraphQL API from your PostgreSQL database. It enables instant realtime GraphQL APIs with granular permissions and role-based access control. While not a client library like Apollo, Hasura simplifies backend development by eliminating the need for manual schema stitching and resolvers.
  10. Altair GraphQL Client: Altair is a feature-rich GraphQL client for debugging, testing, and exploring GraphQL APIs. It offers features like auto-generated documentation, response validation, and query history. While not a direct competitor to Apollo, Altair can be a valuable tool for developers working with GraphQL APIs.

Top Alternatives to Apollo

  • Helios
    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

    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

    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
    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. ...

  • NGINX
    NGINX

    nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018. ...

  • Apache HTTP Server
    Apache HTTP Server

    The Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant web server. Originally designed as a replacement for the NCSA HTTP Server, it has grown to be the most popular web server on the Internet. ...

  • Amazon EC2
    Amazon EC2

    It is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers. ...

  • Firebase
    Firebase

    Firebase is a cloud service designed to power real-time, collaborative applications. Simply add the Firebase library to your application to gain access to a shared data structure; any changes you make to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds. ...

Apollo alternatives & related posts

Helios logo

Helios

21
74
0
Docker container orchestration platform, by Spotify
21
74
+ 1
0
PROS OF HELIOS
    Be the first to leave a pro
    CONS OF HELIOS
      Be the first to leave a con

      related Helios posts

      GraphQL logo

      GraphQL

      33.8K
      27.7K
      310
      A data query language and runtime
      33.8K
      27.7K
      + 1
      310
      PROS OF GRAPHQL
      • 75
        Schemas defined by the requests made by the user
      • 63
        Will replace RESTful interfaces
      • 62
        The future of API's
      • 49
        The future of databases
      • 13
        Self-documenting
      • 12
        Get many resources in a single request
      • 6
        Query Language
      • 6
        Ask for what you need, get exactly that
      • 3
        Fetch different resources in one request
      • 3
        Type system
      • 3
        Evolve your API without versions
      • 2
        Ease of client creation
      • 2
        GraphiQL
      • 2
        Easy setup
      • 1
        "Open" document
      • 1
        Fast prototyping
      • 1
        Supports subscription
      • 1
        Standard
      • 1
        Good for apps that query at build time. (SSR/Gatsby)
      • 1
        1. Describe your data
      • 1
        Better versioning
      • 1
        Backed by Facebook
      • 1
        Easy to learn
      CONS OF GRAPHQL
      • 4
        Hard to migrate from GraphQL to another technology
      • 4
        More code to type.
      • 2
        Takes longer to build compared to schemaless.
      • 1
        No support for caching
      • 1
        All the pros sound like NFT pitches
      • 1
        No support for streaming
      • 1
        Works just like any other API at runtime
      • 1
        N+1 fetch problem
      • 1
        No built in security

      related GraphQL posts

      Shared insights
      on
      Node.jsNode.jsGraphQLGraphQLMongoDBMongoDB

      I just finished the very first version of my new hobby project: #MovieGeeks. It is a minimalist online movie catalog for you to save the movies you want to see and for rating the movies you already saw. This is just the beginning as I am planning to add more features on the lines of sharing and discovery

      For the #BackEnd I decided to use Node.js , GraphQL and MongoDB:

      1. Node.js has a huge community so it will always be a safe choice in terms of libraries and finding solutions to problems you may have

      2. GraphQL because I needed to improve my skills with it and because I was never comfortable with the usual REST approach. I believe GraphQL is a better option as it feels more natural to write apis, it improves the development velocity, by definition it fixes the over-fetching and under-fetching problem that is so common on REST apis, and on top of that, the community is getting bigger and bigger.

      3. MongoDB was my choice for the database as I already have a lot of experience working on it and because, despite of some bad reputation it has acquired in the last months, I still believe it is a powerful database for at least a very long list of use cases such as the one I needed for my website

      See more
      Nick Rockwell
      SVP, Engineering at Fastly · | 46 upvotes · 4.1M views

      When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?

      So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.

      React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.

      Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.

      See more
      Python logo

      Python

      244.8K
      199.9K
      6.9K
      A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.
      244.8K
      199.9K
      + 1
      6.9K
      PROS OF PYTHON
      • 1.2K
        Great libraries
      • 962
        Readable code
      • 847
        Beautiful code
      • 788
        Rapid development
      • 690
        Large community
      • 438
        Open source
      • 393
        Elegant
      • 282
        Great community
      • 272
        Object oriented
      • 220
        Dynamic typing
      • 77
        Great standard library
      • 60
        Very fast
      • 55
        Functional programming
      • 49
        Easy to learn
      • 45
        Scientific computing
      • 35
        Great documentation
      • 29
        Productivity
      • 28
        Easy to read
      • 28
        Matlab alternative
      • 24
        Simple is better than complex
      • 20
        It's the way I think
      • 19
        Imperative
      • 18
        Free
      • 18
        Very programmer and non-programmer friendly
      • 17
        Powerfull language
      • 17
        Machine learning support
      • 16
        Fast and simple
      • 14
        Scripting
      • 12
        Explicit is better than implicit
      • 11
        Ease of development
      • 10
        Clear and easy and powerfull
      • 9
        Unlimited power
      • 8
        It's lean and fun to code
      • 8
        Import antigravity
      • 7
        Print "life is short, use python"
      • 7
        Python has great libraries for data processing
      • 6
        Although practicality beats purity
      • 6
        Now is better than never
      • 6
        Great for tooling
      • 6
        Readability counts
      • 6
        Rapid Prototyping
      • 6
        I love snakes
      • 6
        Flat is better than nested
      • 6
        Fast coding and good for competitions
      • 6
        There should be one-- and preferably only one --obvious
      • 6
        High Documented language
      • 5
        Great for analytics
      • 5
        Lists, tuples, dictionaries
      • 4
        Easy to learn and use
      • 4
        Simple and easy to learn
      • 4
        Easy to setup and run smooth
      • 4
        Web scraping
      • 4
        CG industry needs
      • 4
        Socially engaged community
      • 4
        Complex is better than complicated
      • 4
        Multiple Inheritence
      • 4
        Beautiful is better than ugly
      • 4
        Plotting
      • 3
        Many types of collections
      • 3
        Flexible and easy
      • 3
        It is Very easy , simple and will you be love programmi
      • 3
        If the implementation is hard to explain, it's a bad id
      • 3
        Special cases aren't special enough to break the rules
      • 3
        Pip install everything
      • 3
        List comprehensions
      • 3
        No cruft
      • 3
        Generators
      • 3
        Import this
      • 3
        If the implementation is easy to explain, it may be a g
      • 2
        Can understand easily who are new to programming
      • 2
        Batteries included
      • 2
        Securit
      • 2
        Good for hacking
      • 2
        Better outcome
      • 2
        Only one way to do it
      • 2
        Because of Netflix
      • 2
        A-to-Z
      • 2
        Should START with this but not STICK with This
      • 2
        Powerful language for AI
      • 1
        Automation friendly
      • 1
        Sexy af
      • 1
        Slow
      • 1
        Procedural programming
      • 0
        Ni
      • 0
        Powerful
      • 0
        Keep it simple
      CONS OF PYTHON
      • 53
        Still divided between python 2 and python 3
      • 28
        Performance impact
      • 26
        Poor syntax for anonymous functions
      • 22
        GIL
      • 19
        Package management is a mess
      • 14
        Too imperative-oriented
      • 12
        Hard to understand
      • 12
        Dynamic typing
      • 12
        Very slow
      • 8
        Indentations matter a lot
      • 8
        Not everything is expression
      • 7
        Incredibly slow
      • 7
        Explicit self parameter in methods
      • 6
        Requires C functions for dynamic modules
      • 6
        Poor DSL capabilities
      • 6
        No anonymous functions
      • 5
        Fake object-oriented programming
      • 5
        Threading
      • 5
        The "lisp style" whitespaces
      • 5
        Official documentation is unclear.
      • 5
        Hard to obfuscate
      • 5
        Circular import
      • 4
        Lack of Syntax Sugar leads to "the pyramid of doom"
      • 4
        The benevolent-dictator-for-life quit
      • 4
        Not suitable for autocomplete
      • 2
        Meta classes
      • 1
        Training wheels (forced indentation)

      related Python posts

      Conor Myhrvold
      Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 12.7M views

      How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

      Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

      Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

      https://eng.uber.com/distributed-tracing/

      (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

      Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

      See more
      Nick Parsons
      Building cool things on the internet 🛠️ at Stream · | 35 upvotes · 4.3M views

      Winds 2.0 is an open source Podcast/RSS reader developed by Stream with a core goal to enable a wide range of developers to contribute.

      We chose JavaScript because nearly every developer knows or can, at the very least, read JavaScript. With ES6 and Node.js v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). Babel allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). Yarn allows us to consistently install packages quickly (and is filled with tons of new tricks)

      We’re using JavaScript for everything – both front and backend. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this app.

      Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.

      #FrameworksFullStack #Languages

      See more
      Relay Framework logo

      Relay Framework

      206
      177
      1
      A JavaScript Framework for Building Data-Driven React Applications, by Facebook
      206
      177
      + 1
      1
      PROS OF RELAY FRAMEWORK
      • 1
        Relay Modern
      CONS OF RELAY FRAMEWORK
        Be the first to leave a con

        related Relay Framework posts

        Zach Holman

        Apollo is my favorite open source project.

        Two things you need to worry about when making a statement like that: is the tool good, and how is the tool being built?

        From a tool perspective... yeah, Apollo is great. I'm convinced that GraphQL is the way forward for me, and Apollo's just a great way to tackle it. Even beyond that, it just offers a good mentality to how you should build your database-backed app. I've used Relay in the past, back before they made a bunch of changes with Relay Modern (which all seem positive!), but switching to Apollo is just night-and-day. They've been doing better in the last 12 months or so at making smart abstractions in the React Apollo library, to the point where I'd just get these monster all-red pull requests where I can delete all my cruddy code and replace it with far fewer lines of their great abstractions.

        But from a build perspective... Apollo fares even better, I think. By this, I mean their project inertia, their progress, their ability to ship stable code — but still ship meaningful new functionality, too. They're not afraid to move their ideas in other directions (integrating with React Native, for example). Kills me to see projects that are just heads-down on their little world as the world passes them by, and so far... yeah, Apollo's been on top of it.

        Anyway, big fan. It's really changed how I write frontend code, and I feel hella confident while working with it.

        See more
        NGINX logo

        NGINX

        113.4K
        61K
        5.5K
        A high performance free open source web server powering busiest sites on the Internet.
        113.4K
        61K
        + 1
        5.5K
        PROS OF NGINX
        • 1.4K
          High-performance http server
        • 894
          Performance
        • 730
          Easy to configure
        • 607
          Open source
        • 530
          Load balancer
        • 289
          Free
        • 288
          Scalability
        • 226
          Web server
        • 175
          Simplicity
        • 136
          Easy setup
        • 30
          Content caching
        • 21
          Web Accelerator
        • 15
          Capability
        • 14
          Fast
        • 12
          High-latency
        • 12
          Predictability
        • 8
          Reverse Proxy
        • 7
          The best of them
        • 7
          Supports http/2
        • 5
          Great Community
        • 5
          Lots of Modules
        • 5
          Enterprise version
        • 4
          High perfomance proxy server
        • 3
          Embedded Lua scripting
        • 3
          Streaming media delivery
        • 3
          Streaming media
        • 3
          Reversy Proxy
        • 2
          Blash
        • 2
          GRPC-Web
        • 2
          Lightweight
        • 2
          Fast and easy to set up
        • 2
          Slim
        • 2
          saltstack
        • 1
          Virtual hosting
        • 1
          Narrow focus. Easy to configure. Fast
        • 1
          Along with Redis Cache its the Most superior
        • 1
          Ingress controller
        CONS OF NGINX
        • 10
          Advanced features require subscription

        related NGINX posts

        Simon Reymann
        Senior Fullstack Developer at QUANTUSflow Software GmbH · | 30 upvotes · 11.2M views

        Our whole DevOps stack consists of the following tools:

        • GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
        • Respectively Git as revision control system
        • SourceTree as Git GUI
        • Visual Studio Code as IDE
        • CircleCI for continuous integration (automatize development process)
        • Prettier / TSLint / ESLint as code linter
        • SonarQube as quality gate
        • Docker as container management (incl. Docker Compose for multi-container application management)
        • VirtualBox for operating system simulation tests
        • Kubernetes as cluster management for docker containers
        • Heroku for deploying in test environments
        • nginx as web server (preferably used as facade server in production environment)
        • SSLMate (using OpenSSL) for certificate management
        • Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
        • PostgreSQL as preferred database system
        • Redis as preferred in-memory database/store (great for caching)

        The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:

        • Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
        • Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
        • Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
        • Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
        • Scalability: All-in-one framework for distributed systems.
        • Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
        See more
        John-Daniel Trask
        Co-founder & CEO at Raygun · | 19 upvotes · 290K views

        We chose AWS because, at the time, it was really the only cloud provider to choose from.

        We tend to use their basic building blocks (EC2, ELB, Amazon S3, Amazon RDS) rather than vendor specific components like databases and queuing. We deliberately decided to do this to ensure we could provide multi-cloud support or potentially move to another cloud provider if the offering was better for our customers.

        We’ve utilized c3.large nodes for both the Node.js deployment and then for the .NET Core deployment. Both sit as backends behind an nginx instance and are managed using scaling groups in Amazon EC2 sitting behind a standard AWS Elastic Load Balancing (ELB).

        While we’re satisfied with AWS, we do review our decision each year and have looked at Azure and Google Cloud offerings.

        #CloudHosting #WebServers #CloudStorage #LoadBalancerReverseProxy

        See more
        Apache HTTP Server logo

        Apache HTTP Server

        64.4K
        22.5K
        1.4K
        Open-source HTTP server for modern operating systems including UNIX and Windows
        64.4K
        22.5K
        + 1
        1.4K
        PROS OF APACHE HTTP SERVER
        • 479
          Web server
        • 305
          Most widely-used web server
        • 217
          Virtual hosting
        • 148
          Fast
        • 138
          Ssl support
        • 44
          Since 1996
        • 28
          Asynchronous
        • 5
          Robust
        • 4
          Proven over many years
        • 2
          Mature
        • 2
          Perfomance
        • 1
          Perfect Support
        • 0
          Many available modules
        • 0
          Many available modules
        CONS OF APACHE HTTP SERVER
        • 4
          Hard to set up

        related Apache HTTP Server posts

        Nick Rockwell
        SVP, Engineering at Fastly · | 46 upvotes · 4.1M views

        When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?

        So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.

        React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.

        Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.

        See more
        Tim Abbott
        Shared insights
        on
        NGINXNGINXApache HTTP ServerApache HTTP Server
        at

        We've been happy with nginx as part of our stack. As an open source web application that folks install on-premise, the configuration system for the webserver is pretty important to us. I have a few complaints (e.g. the configuration syntax for conditionals is a pain), but overall we've found it pretty easy to build a configurable set of options (see link) for how to run Zulip on nginx, both directly and with a remote reverse proxy in front of it, with a minimum of code duplication.

        Certainly I've been a lot happier with it than I was working with Apache HTTP Server in past projects.

        See more
        Amazon EC2 logo

        Amazon EC2

        48.2K
        35.6K
        2.5K
        Scalable, pay-as-you-go compute capacity in the cloud
        48.2K
        35.6K
        + 1
        2.5K
        PROS OF AMAZON EC2
        • 647
          Quick and reliable cloud servers
        • 515
          Scalability
        • 393
          Easy management
        • 277
          Low cost
        • 271
          Auto-scaling
        • 89
          Market leader
        • 80
          Backed by amazon
        • 79
          Reliable
        • 67
          Free tier
        • 58
          Easy management, scalability
        • 13
          Flexible
        • 10
          Easy to Start
        • 9
          Widely used
        • 9
          Web-scale
        • 9
          Elastic
        • 7
          Node.js API
        • 5
          Industry Standard
        • 4
          Lots of configuration options
        • 2
          GPU instances
        • 1
          Simpler to understand and learn
        • 1
          Extremely simple to use
        • 1
          Amazing for individuals
        • 1
          All the Open Source CLI tools you could want.
        CONS OF AMAZON EC2
        • 13
          Ui could use a lot of work
        • 6
          High learning curve when compared to PaaS
        • 3
          Extremely poor CPU performance

        related Amazon EC2 posts

        Ashish Singh
        Tech Lead, Big Data Platform at Pinterest · | 38 upvotes · 3.3M views

        To provide employees with the critical need of interactive querying, we’ve worked with Presto, an open-source distributed SQL query engine, over the years. Operating Presto at Pinterest’s scale has involved resolving quite a few challenges like, supporting deeply nested and huge thrift schemas, slow/ bad worker detection and remediation, auto-scaling cluster, graceful cluster shutdown and impersonation support for ldap authenticator.

        Our infrastructure is built on top of Amazon EC2 and we leverage Amazon S3 for storing our data. This separates compute and storage layers, and allows multiple compute clusters to share the S3 data.

        We have hundreds of petabytes of data and tens of thousands of Apache Hive tables. Our Presto clusters are comprised of a fleet of 450 r4.8xl EC2 instances. Presto clusters together have over 100 TBs of memory and 14K vcpu cores. Within Pinterest, we have close to more than 1,000 monthly active users (out of total 1,600+ Pinterest employees) using Presto, who run about 400K queries on these clusters per month.

        Each query submitted to Presto cluster is logged to a Kafka topic via Singer. Singer is a logging agent built at Pinterest and we talked about it in a previous post. Each query is logged when it is submitted and when it finishes. When a Presto cluster crashes, we will have query submitted events without corresponding query finished events. These events enable us to capture the effect of cluster crashes over time.

        Each Presto cluster at Pinterest has workers on a mix of dedicated AWS EC2 instances and Kubernetes pods. Kubernetes platform provides us with the capability to add and remove workers from a Presto cluster very quickly. The best-case latency on bringing up a new worker on Kubernetes is less than a minute. However, when the Kubernetes cluster itself is out of resources and needs to scale up, it can take up to ten minutes. Some other advantages of deploying on Kubernetes platform is that our Presto deployment becomes agnostic of cloud vendor, instance types, OS, etc.

        #BigData #AWS #DataScience #DataEngineering

        See more
        Simon Reymann
        Senior Fullstack Developer at QUANTUSflow Software GmbH · | 30 upvotes · 11.2M views

        Our whole DevOps stack consists of the following tools:

        • GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
        • Respectively Git as revision control system
        • SourceTree as Git GUI
        • Visual Studio Code as IDE
        • CircleCI for continuous integration (automatize development process)
        • Prettier / TSLint / ESLint as code linter
        • SonarQube as quality gate
        • Docker as container management (incl. Docker Compose for multi-container application management)
        • VirtualBox for operating system simulation tests
        • Kubernetes as cluster management for docker containers
        • Heroku for deploying in test environments
        • nginx as web server (preferably used as facade server in production environment)
        • SSLMate (using OpenSSL) for certificate management
        • Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
        • PostgreSQL as preferred database system
        • Redis as preferred in-memory database/store (great for caching)

        The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:

        • Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
        • Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
        • Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
        • Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
        • Scalability: All-in-one framework for distributed systems.
        • Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
        See more
        Firebase logo

        Firebase

        41K
        35.2K
        2K
        The Realtime App Platform
        41K
        35.2K
        + 1
        2K
        PROS OF FIREBASE
        • 371
          Realtime backend made easy
        • 270
          Fast and responsive
        • 242
          Easy setup
        • 215
          Real-time
        • 191
          JSON
        • 134
          Free
        • 128
          Backed by google
        • 83
          Angular adaptor
        • 68
          Reliable
        • 36
          Great customer support
        • 32
          Great documentation
        • 25
          Real-time synchronization
        • 21
          Mobile friendly
        • 19
          Rapid prototyping
        • 14
          Great security
        • 12
          Automatic scaling
        • 11
          Freakingly awesome
        • 8
          Super fast development
        • 8
          Angularfire is an amazing addition!
        • 8
          Chat
        • 6
          Firebase hosting
        • 6
          Built in user auth/oauth
        • 6
          Awesome next-gen backend
        • 6
          Ios adaptor
        • 4
          Speed of light
        • 4
          Very easy to use
        • 3
          Great
        • 3
          It's made development super fast
        • 3
          Brilliant for startups
        • 2
          Free hosting
        • 2
          Cloud functions
        • 2
          JS Offline and Sync suport
        • 2
          Low battery consumption
        • 2
          .net
        • 2
          The concurrent updates create a great experience
        • 2
          Push notification
        • 2
          I can quickly create static web apps with no backend
        • 2
          Great all-round functionality
        • 2
          Free authentication solution
        • 1
          Easy Reactjs integration
        • 1
          Google's support
        • 1
          Free SSL
        • 1
          CDN & cache out of the box
        • 1
          Easy to use
        • 1
          Large
        • 1
          Faster workflow
        • 1
          Serverless
        • 1
          Good Free Limits
        • 1
          Simple and easy
        CONS OF FIREBASE
        • 31
          Can become expensive
        • 16
          No open source, you depend on external company
        • 15
          Scalability is not infinite
        • 9
          Not Flexible Enough
        • 7
          Cant filter queries
        • 3
          Very unstable server
        • 3
          No Relational Data
        • 2
          Too many errors
        • 2
          No offline sync

        related Firebase posts

        Stephen Gheysens
        Lead Solutions Engineer at Inscribe · | 14 upvotes · 1.8M views

        Hi Otensia! I'd definitely recommend using the skills you've already got and building with JavaScript is a smart way to go these days. Most platform services have JavaScript/Node SDKs or NPM packages, many serverless platforms support Node in case you need to write any backend logic, and JavaScript is incredibly popular - meaning it will be easy to hire for, should you ever need to.

        My advice would be "don't reinvent the wheel". If you already have a skill set that will work well to solve the problem at hand, and you don't need it for any other projects, don't spend the time jumping into a new language. If you're looking for an excuse to learn something new, it would be better to invest that time in learning a new platform/tool that compliments your knowledge of JavaScript. For this project, I might recommend using Netlify, Vercel, or Google Firebase to quickly and easily deploy your web app. If you need to add user authentication, there are great examples out there for Firebase Authentication, Auth0, or even Magic (a newcomer on the Auth scene, but very user friendly). All of these services work very well with a JavaScript-based application.

        See more
        Eugene Cheah

        For inboxkitten.com, an opensource disposable email service;

        We migrated our serverless workload from Cloud Functions for Firebase to CloudFlare workers, taking advantage of the lower cost and faster-performing edge computing of Cloudflare network. Made possible due to our extremely low CPU and RAM overhead of our serverless functions.

        If I were to summarize the limitation of Cloudflare (as oppose to firebase/gcp functions), it would be ...

        1. <5ms CPU time limit
        2. Incompatible with express.js
        3. one script limitation per domain

        Limitations our workload is able to conform with (YMMV)

        For hosting of static files, we migrated from Firebase to CommonsHost

        More details on the trade-off in between both serverless providers is in the article

        See more