Alternatives to Domino logo

Alternatives to Domino

Biscuit, Databricks, NGINX, Apache HTTP Server, and Amazon EC2 are the most popular alternatives and competitors to Domino.
24
29
+ 1
0

What is Domino and what are its top alternatives?

Domino is a data science platform that allows users to build, validate, deliver, and monitor predictive models. It provides collaboration tools, version control, and reproducibility features to streamline the data science workflow. However, some limitations of Domino include limited support for real-time deployments and relatively higher pricing compared to some alternatives.

  1. Databricks: Databricks is a unified analytics platform that provides a collaborative environment for data science and engineering teams. Key features include Spark integration, automated cluster management, and support for various programming languages. Pros: Scalable cloud infrastructure, integration with Apache Spark. Cons: Higher pricing for enterprise features.
  2. Dataiku: Dataiku is a collaborative data science platform that enables teams to explore, prototype, build, and deploy machine learning models. Key features include visual pipelines, autoML, and support for R and Python. Pros: User-friendly interface, enterprise-grade security. Cons: Limited support for advanced model monitoring.
  3. Alteryx: Alteryx is a self-service data analytics platform that allows users to blend, enrich, and analyze data without any coding. Key features include drag-and-drop workflow builder, predictive analytics, and geospatial analysis capabilities. Pros: Intuitive interface, extensive library of pre-built tools. Cons: Limited support for deep learning models.
  4. RapidMiner: RapidMiner is a data science platform that offers a visual workflow designer for building machine learning models. Key features include automated machine learning, model validation, and deployment options. Pros: Easy-to-use interface, support for diverse data sources. Cons: Limited scalability for large datasets.
  5. KNIME: KNIME is an open-source data analytics platform that allows users to create visual workflows for data blending, mining, and analysis. Key features include extensive integration options, machine learning algorithms, and collaboration tools. Pros: Free to use, strong community support. Cons: Steeper learning curve for beginners.
  6. Google Cloud AI Platform: Google Cloud AI Platform is a managed service that enables data scientists and ML engineers to build, train, and deploy machine learning models at scale. Key features include integrated Jupyter notebooks, hyperparameter tuning, and model serving infrastructure. Pros: Seamless integration with Google Cloud services, robust security features. Cons: Limited support for on-premises deployments.
  7. Azure Machine Learning: Azure Machine Learning is a cloud-based service that facilitates building, training, and deploying machine learning models. Key features include automated ML, model interpretability, and MLOps capabilities. Pros: Integration with Azure ecosystem, scalable infrastructure. Cons: Complex pricing structure for enterprise features.
  8. H2O.ai: H2O.ai offers an open-source machine learning platform that provides a scalable and distributed environment for building predictive models. Key features include autoML, model explainability, and support for big data processing. Pros: Open-source, high performance. Cons: Limited support for custom model deployment.
  9. SAS Viya: SAS Viya is an analytics platform that combines AI, machine learning, and analytics capabilities to drive business outcomes. Key features include model management, real-time scoring, and integration with SAS programming languages. Pros: Robust analytics capabilities, industry-specific solutions. Cons: Higher learning curve for non-SAS users.
  10. DataRobot: DataRobot is an automated machine learning platform that helps organizations build and deploy predictive models quickly. Key features include automated feature engineering, model stacking, and deployment monitoring. Pros: Automated model selection, user-friendly interface. Cons: Limited customization options for advanced users.

Top Alternatives to Domino

  • Biscuit
    Biscuit

    Biscuit is a simple key-value store for your infrastructure secrets. Biscuit is most useful to teams already using AWS and IAM to manage their infrastructure. ...

  • Databricks
    Databricks

    Databricks Unified Analytics Platform, from the original creators of Apache Spark™, unifies data science and engineering across the Machine Learning lifecycle from data preparation to experimentation and deployment of ML applications. ...

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

  • Amazon Web Services (AWS)
    Amazon Web Services (AWS)

    It is a comprehensive and broadly adopted cloud platform, offering over 200 fully featured services from data centers globally. ...

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

Domino alternatives & related posts

Biscuit logo

Biscuit

1
0
A multi-region key value store for your AWS infrastructure secrets
1
0
PROS OF BISCUIT
    Be the first to leave a pro
    CONS OF BISCUIT
      Be the first to leave a con

      related Biscuit posts

      Databricks logo

      Databricks

      500
      8
      A unified analytics platform, powered by Apache Spark
      500
      8
      PROS OF DATABRICKS
      • 1
        Best Performances on large datasets
      • 1
        True lakehouse architecture
      • 1
        Scalability
      • 1
        Databricks doesn't get access to your data
      • 1
        Usage Based Billing
      • 1
        Security
      • 1
        Data stays in your cloud account
      • 1
        Multicloud
      CONS OF DATABRICKS
        Be the first to leave a con

        related Databricks posts

        Jan Vlnas
        Senior Software Engineer at Mews · | 5 upvotes · 456.8K views

        From my point of view, both OpenRefine and Apache Hive serve completely different purposes. OpenRefine is intended for interactive cleaning of messy data locally. You could work with their libraries to use some of OpenRefine features as part of your data pipeline (there are pointers in FAQ), but OpenRefine in general is intended for a single-user local operation.

        I can't recommend a particular alternative without better understanding of your use case. But if you are looking for an interactive tool to work with big data at scale, take a look at notebook environments like Jupyter, Databricks, or Deepnote. If you are building a data processing pipeline, consider also Apache Spark.

        Edit: Fixed references from Hadoop to Hive, which is actually closer to Spark.

        See more
        NGINX logo

        NGINX

        113.5K
        5.5K
        A high performance free open source web server powering busiest sites on the Internet.
        113.5K
        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
          Supports http/2
        • 7
          The best of them
        • 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.6M 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 · 483.2K 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.5K
        1.4K
        Open-source HTTP server for modern operating systems including UNIX and Windows
        64.5K
        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.3K
        2.5K
        Scalable, pay-as-you-go compute capacity in the cloud
        48.3K
        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.6M 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

        41.1K
        2K
        The Realtime App Platform
        41.1K
        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
        Amazon Web Services (AWS) logo

        Amazon Web Services (AWS)

        30K
        0
        A comprehensive and broadly adopted cloud platform
        30K
        0
        PROS OF AMAZON WEB SERVICES (AWS)
          Be the first to leave a pro
          CONS OF AMAZON WEB SERVICES (AWS)
            Be the first to leave a con

            related Amazon Web Services (AWS) posts

            waheed khan
            Associate Java Developer at txtsol · | 11 upvotes · 65.2K views

            I want to make application like Zomato, #Foodpanda.

            Which stack is best for this? As I have expertise in Java and Angular. What is the best stack you will recommend?

            Web Micro-service / Mono? Angular / React? Amazon Web Services (AWS) / Google Cloud Platform? DB : SQL or No SQL

            Mob Cross-platform: React Native / Flutter

            Note: We are a team of 5. what languages do you recommend if I go with microservices?

            Thanks

            See more
            Santiago Velasco
            Java Software Developer at ViewNext · | 8 upvotes · 25K views

            Hello everyone, I would like to start using a cloud service to host my projects, which are web applications. If anyone has enough experience with Microsoft Azure, Amazon Web Services (AWS) or Google Cloud Platform, I would like to know which of these is most recommended to use, depending on the features they have or how used they are. Thank you so much.

            See more
            Heroku logo

            Heroku

            25.6K
            3.2K
            Build, deliver, monitor and scale web apps and APIs with a trail blazing developer experience.
            25.6K
            3.2K
            PROS OF HEROKU
            • 703
              Easy deployment
            • 459
              Free for side projects
            • 374
              Huge time-saver
            • 348
              Simple scaling
            • 261
              Low devops skills required
            • 190
              Easy setup
            • 174
              Add-ons for almost everything
            • 153
              Beginner friendly
            • 150
              Better for startups
            • 133
              Low learning curve
            • 48
              Postgres hosting
            • 41
              Easy to add collaborators
            • 30
              Faster development
            • 24
              Awesome documentation
            • 19
              Simple rollback
            • 19
              Focus on product, not deployment
            • 15
              Natural companion for rails development
            • 15
              Easy integration
            • 12
              Great customer support
            • 8
              GitHub integration
            • 6
              Painless & well documented
            • 6
              No-ops
            • 4
              I love that they make it free to launch a side project
            • 4
              Free
            • 3
              Great UI
            • 3
              Just works
            • 2
              PostgreSQL forking and following
            • 2
              MySQL extension
            • 1
              Security
            • 1
              Able to host stuff good like Discord Bot
            • 0
              Sec
            CONS OF HEROKU
            • 27
              Super expensive
            • 9
              Not a whole lot of flexibility
            • 7
              No usable MySQL option
            • 7
              Storage
            • 5
              Low performance on free tier
            • 2
              24/7 support is $1,000 per month

            related Heroku posts

            Russel Werner
            Lead Engineer at StackShare · | 32 upvotes · 2.8M views

            StackShare Feed is built entirely with React, Glamorous, and Apollo. One of our objectives with the public launch of the Feed was to enable a Server-side rendered (SSR) experience for our organic search traffic. When you visit the StackShare Feed, and you aren't logged in, you are delivered the Trending feed experience. We use an in-house Node.js rendering microservice to generate this HTML. This microservice needs to run and serve requests independent of our Rails web app. Up until recently, we had a mono-repo with our Rails and React code living happily together and all served from the same web process. In order to deploy our SSR app into a Heroku environment, we needed to split out our front-end application into a separate repo in GitHub. The driving factor in this decision was mostly due to limitations imposed by Heroku specifically with how processes can't communicate with each other. A new SSR app was created in Heroku and linked directly to the frontend repo so it stays in-sync with changes.

            Related to this, we need a way to "deploy" our frontend changes to various server environments without building & releasing the entire Ruby application. We built a hybrid Amazon S3 Amazon CloudFront solution to host our Webpack bundles. A new CircleCI script builds the bundles and uploads them to S3. The final step in our rollout is to update some keys in Redis so our Rails app knows which bundles to serve. The result of these efforts were significant. Our frontend team now moves independently of our backend team, our build & release process takes only a few minutes, we are now using an edge CDN to serve JS assets, and we have pre-rendered React pages!

            #StackDecisionsLaunch #SSR #Microservices #FrontEndRepoSplit

            See more
            Simon Reymann
            Senior Fullstack Developer at QUANTUSflow Software GmbH · | 30 upvotes · 11.6M 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