Alternatives to PM2 logo

Alternatives to PM2

Docker, forever, nodemon, NGINX, and New Relic are the most popular alternatives and competitors to PM2.
485
24

What is PM2 and what are its top alternatives?

PM2 is a popular process manager for Node.js applications that offers features such as process management, monitoring, and zero-downtime reload. It also provides tools for managing application logs and clustering. However, one limitation of PM2 is that it may consume more system resources compared to other alternatives.

  1. Forever: Forever is a simple CLI tool that ensures that a given script runs continuously. It offers features like logging and output capturing. One advantage of Forever is its lightweight footprint, but it may lack some advanced features compared to PM2.
  2. Supervisor: Supervisor is another process manager for Node.js applications that automatically restarts the application when a file changes. It is easy to set up and use, but it may not offer as many features as PM2.
  3. StrongLoop Process Manager: StrongLoop PM is a process manager designed for production deployment of Node.js applications. It offers features like load balancing and monitoring. However, it may be more complex to set up compared to PM2.
  4. Nodemon: Nodemon is a utility that monitors for any changes in the Node.js application and automatically restarts the server. It is lightweight and easy to use, but it may not offer as many management features as PM2.
  5. Nodem: Nodem is a powerful process manager and monitoring tool for Node.js applications. It offers features like clustering and automatic restarts. However, it may have a steeper learning curve compared to PM2.
  6. Keymetrics: Keymetrics is a monitoring tool that integrates with PM2 and offers features like real-time performance metrics and automatic alerts. It provides insights into application performance, but it may require additional configuration compared to PM2.
  7. Docker: Docker is a containerization platform that can be used to run Node.js applications in isolated environments. It offers features like scalability and portability. However, managing Docker containers may require more expertise compared to PM2.
  8. Kubernetes: Kubernetes is a container orchestration platform that can manage and scale containerized applications. It offers features like automatic scaling and self-healing. However, setting up and maintaining a Kubernetes cluster may be more complex than using PM2.
  9. AWS Elastic Beanstalk: AWS Elastic Beanstalk is a cloud deployment service that automates the process of deploying and scaling web applications. It offers features like load balancing and auto-scaling. However, using Elastic Beanstalk may involve additional costs compared to managing apps with PM2.
  10. Systemd: Systemd is a system and service manager for Linux that can be used to manage Node.js applications as services. It offers features like process tracking and automatic restarts. However, configuring and managing services with Systemd may require more technical knowledge compared to using PM2.

Top Alternatives to PM2

  • Docker
    Docker

    The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere ...

  • forever
    forever

    It is a simple CLI tool for ensuring that a given script runs continuously. It is used to keep the server alive even when the server crash/stops. When the server is stopped because of some error, exception, etc.it automatically restarts it. ...

  • nodemon
    nodemon

    It is an open source utility that will monitor for any changes in your source and automatically restart your server. It has a default support for node & coffeescript, but easy to run any executable (such as python, make, etc). ...

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

  • New Relic
    New Relic

    The world’s best software and DevOps teams rely on New Relic to move faster, make better decisions and create best-in-class digital experiences. If you run software, you need to run New Relic. More than 50% of the Fortune 100 do too. ...

  • Kibana
    Kibana

    Kibana is an open source (Apache Licensed), browser based analytics and search dashboard for Elasticsearch. Kibana is a snap to setup and start using. Kibana strives to be easy to get started with, while also being flexible and powerful, just like Elasticsearch. ...

  • Grafana
    Grafana

    Grafana is a general purpose dashboard and graph composer. It's focused on providing rich ways to visualize time series metrics, mainly though graphs but supports other ways to visualize data through a pluggable panel architecture. It currently has rich support for for Graphite, InfluxDB and OpenTSDB. But supports other data sources via plugins. ...

  • Sentry
    Sentry

    Sentry’s Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize their code health. ...

PM2 alternatives & related posts

Docker logo

Docker

174K
139.8K
3.9K
Enterprise Container Platform for High-Velocity Innovation.
174K
139.8K
+ 1
3.9K
PROS OF DOCKER
  • 823
    Rapid integration and build up
  • 692
    Isolation
  • 521
    Open source
  • 505
    Testa­bil­i­ty and re­pro­ducibil­i­ty
  • 460
    Lightweight
  • 218
    Standardization
  • 185
    Scalable
  • 106
    Upgrading / down­grad­ing / ap­pli­ca­tion versions
  • 88
    Security
  • 85
    Private paas environments
  • 34
    Portability
  • 26
    Limit resource usage
  • 17
    Game changer
  • 16
    I love the way docker has changed virtualization
  • 14
    Fast
  • 12
    Concurrency
  • 8
    Docker's Compose tools
  • 6
    Fast and Portable
  • 6
    Easy setup
  • 5
    Because its fun
  • 4
    Makes shipping to production very simple
  • 3
    It's dope
  • 3
    Highly useful
  • 2
    Does a nice job hogging memory
  • 2
    Open source and highly configurable
  • 2
    Simplicity, isolation, resource effective
  • 2
    MacOS support FAKE
  • 2
    Its cool
  • 2
    Docker hub for the FTW
  • 2
    HIgh Throughput
  • 2
    Very easy to setup integrate and build
  • 2
    Package the environment with the application
  • 2
    Super
  • 0
    Asdfd
CONS OF DOCKER
  • 8
    New versions == broken features
  • 6
    Unreliable networking
  • 6
    Documentation not always in sync
  • 4
    Moves quickly
  • 3
    Not Secure

related Docker posts

Simon Reymann
Senior Fullstack Developer at QUANTUSflow Software GmbH · | 30 upvotes · 11M 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
Tymoteusz Paul
Devops guy at X20X Development LTD · | 23 upvotes · 9.7M views

Often enough I have to explain my way of going about setting up a CI/CD pipeline with multiple deployment platforms. Since I am a bit tired of yapping the same every single time, I've decided to write it up and share with the world this way, and send people to read it instead ;). I will explain it on "live-example" of how the Rome got built, basing that current methodology exists only of readme.md and wishes of good luck (as it usually is ;)).

It always starts with an app, whatever it may be and reading the readmes available while Vagrant and VirtualBox is installing and updating. Following that is the first hurdle to go over - convert all the instruction/scripts into Ansible playbook(s), and only stopping when doing a clear vagrant up or vagrant reload we will have a fully working environment. As our Vagrant environment is now functional, it's time to break it! This is the moment to look for how things can be done better (too rigid/too lose versioning? Sloppy environment setup?) and replace them with the right way to do stuff, one that won't bite us in the backside. This is the point, and the best opportunity, to upcycle the existing way of doing dev environment to produce a proper, production-grade product.

I should probably digress here for a moment and explain why. I firmly believe that the way you deploy production is the same way you should deploy develop, shy of few debugging-friendly setting. This way you avoid the discrepancy between how production work vs how development works, which almost always causes major pains in the back of the neck, and with use of proper tools should mean no more work for the developers. That's why we start with Vagrant as developer boxes should be as easy as vagrant up, but the meat of our product lies in Ansible which will do meat of the work and can be applied to almost anything: AWS, bare metal, docker, LXC, in open net, behind vpn - you name it.

We must also give proper consideration to monitoring and logging hoovering at this point. My generic answer here is to grab Elasticsearch, Kibana, and Logstash. While for different use cases there may be better solutions, this one is well battle-tested, performs reasonably and is very easy to scale both vertically (within some limits) and horizontally. Logstash rules are easy to write and are well supported in maintenance through Ansible, which as I've mentioned earlier, are at the very core of things, and creating triggers/reports and alerts based on Elastic and Kibana is generally a breeze, including some quite complex aggregations.

If we are happy with the state of the Ansible it's time to move on and put all those roles and playbooks to work. Namely, we need something to manage our CI/CD pipelines. For me, the choice is obvious: TeamCity. It's modern, robust and unlike most of the light-weight alternatives, it's transparent. What I mean by that is that it doesn't tell you how to do things, doesn't limit your ways to deploy, or test, or package for that matter. Instead, it provides a developer-friendly and rich playground for your pipelines. You can do most the same with Jenkins, but it has a quite dated look and feel to it, while also missing some key functionality that must be brought in via plugins (like quality REST API which comes built-in with TeamCity). It also comes with all the common-handy plugins like Slack or Apache Maven integration.

The exact flow between CI and CD varies too greatly from one application to another to describe, so I will outline a few rules that guide me in it: 1. Make build steps as small as possible. This way when something breaks, we know exactly where, without needing to dig and root around. 2. All security credentials besides development environment must be sources from individual Vault instances. Keys to those containers should exist only on the CI/CD box and accessible by a few people (the less the better). This is pretty self-explanatory, as anything besides dev may contain sensitive data and, at times, be public-facing. Because of that appropriate security must be present. TeamCity shines in this department with excellent secrets-management. 3. Every part of the build chain shall consume and produce artifacts. If it creates nothing, it likely shouldn't be its own build. This way if any issue shows up with any environment or version, all developer has to do it is grab appropriate artifacts to reproduce the issue locally. 4. Deployment builds should be directly tied to specific Git branches/tags. This enables much easier tracking of what caused an issue, including automated identifying and tagging the author (nothing like automated regression testing!).

Speaking of deployments, I generally try to keep it simple but also with a close eye on the wallet. Because of that, I am more than happy with AWS or another cloud provider, but also constantly peeking at the loads and do we get the value of what we are paying for. Often enough the pattern of use is not constantly erratic, but rather has a firm baseline which could be migrated away from the cloud and into bare metal boxes. That is another part where this approach strongly triumphs over the common Docker and CircleCI setup, where you are very much tied in to use cloud providers and getting out is expensive. Here to embrace bare-metal hosting all you need is a help of some container-based self-hosting software, my personal preference is with Proxmox and LXC. Following that all you must write are ansible scripts to manage hardware of Proxmox, similar way as you do for Amazon EC2 (ansible supports both greatly) and you are good to go. One does not exclude another, quite the opposite, as they can live in great synergy and cut your costs dramatically (the heavier your base load, the bigger the savings) while providing production-grade resiliency.

See more
forever logo

forever

95
125
0
A simple CLI tool
95
125
+ 1
0
PROS OF FOREVER
    Be the first to leave a pro
    CONS OF FOREVER
      Be the first to leave a con

      related forever posts

      nodemon logo

      nodemon

      2K
      193
      2
      A simple monitor script for use during development of a node.js app
      2K
      193
      + 1
      2
      PROS OF NODEMON
      • 1
        Easy to use
      • 1
        It's lightweight
      CONS OF NODEMON
        Be the first to leave a con

        related nodemon posts

        NGINX logo

        NGINX

        113.2K
        60.9K
        5.5K
        A high performance free open source web server powering busiest sites on the Internet.
        113.2K
        60.9K
        + 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 · 11M 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 · 282.8K 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
        New Relic logo

        New Relic

        20.8K
        8.6K
        1.9K
        New Relic is the industry’s largest and most comprehensive cloud-based observability platform.
        20.8K
        8.6K
        + 1
        1.9K
        PROS OF NEW RELIC
        • 415
          Easy setup
        • 344
          Really powerful
        • 245
          Awesome visualization
        • 194
          Ease of use
        • 151
          Great ui
        • 106
          Free tier
        • 80
          Great tool for insights
        • 66
          Heroku Integration
        • 55
          Market leader
        • 49
          Peace of mind
        • 21
          Push notifications
        • 20
          Email notifications
        • 17
          Heroku Add-on
        • 16
          Error Detection and Alerting
        • 13
          Multiple language support
        • 11
          SQL Analysis
        • 11
          Server Resources Monitoring
        • 9
          Transaction Tracing
        • 8
          Apdex Scores
        • 8
          Azure Add-on
        • 7
          Analysis of CPU, Disk, Memory, and Network
        • 7
          Detailed reports
        • 6
          Performance of External Services
        • 6
          Error Analysis
        • 6
          Application Availability Monitoring and Alerting
        • 6
          Application Response Times
        • 5
          Most Time Consuming Transactions
        • 5
          JVM Performance Analyzer (Java)
        • 4
          Browser Transaction Tracing
        • 4
          Top Database Operations
        • 4
          Easy to use
        • 3
          Application Map
        • 3
          Weekly Performance Email
        • 3
          Pagoda Box integration
        • 3
          Custom Dashboards
        • 2
          Easy to setup
        • 2
          Background Jobs Transaction Analysis
        • 2
          App Speed Index
        • 1
          Super Expensive
        • 1
          Team Collaboration Tools
        • 1
          Metric Data Retention
        • 1
          Metric Data Resolution
        • 1
          Worst Transactions by User Dissatisfaction
        • 1
          Real User Monitoring Overview
        • 1
          Real User Monitoring Analysis and Breakdown
        • 1
          Time Comparisons
        • 1
          Access to Performance Data API
        • 1
          Incident Detection and Alerting
        • 1
          Best of the best, what more can you ask for
        • 1
          Best monitoring on the market
        • 1
          Rails integration
        • 1
          Free
        • 0
          Proce
        • 0
          Price
        • 0
          Exceptions
        • 0
          Cost
        CONS OF NEW RELIC
        • 20
          Pricing model doesn't suit microservices
        • 10
          UI isn't great
        • 7
          Expensive
        • 7
          Visualizations aren't very helpful
        • 5
          Hard to understand why things in your app are breaking

        related New Relic posts

        Farzeem Diamond Jiwani
        Software Engineer at IVP · | 8 upvotes · 1.5M views

        Hey there! We are looking at Datadog, Dynatrace, AppDynamics, and New Relic as options for our web application monitoring.

        Current Environment: .NET Core Web app hosted on Microsoft IIS

        Future Environment: Web app will be hosted on Microsoft Azure

        Tech Stacks: IIS, RabbitMQ, Redis, Microsoft SQL Server

        Requirement: Infra Monitoring, APM, Real - User Monitoring (User activity monitoring i.e., time spent on a page, most active page, etc.), Service Tracing, Root Cause Analysis, and Centralized Log Management.

        Please advise on the above. Thanks!

        See more
        Shared insights
        on
        New RelicNew RelicKibanaKibana

        I need to choose a monitoring tool for my project, but currently, my application doesn't have much load or many users. My application is not generating GBs of data. We don't want to send the user information to New Relic because it's a 3rd party tool. And we can deploy Kibana locally on our server. What should I use, Kibana or New Relic?

        See more
        Kibana logo

        Kibana

        20.4K
        16.2K
        262
        Visualize your Elasticsearch data and navigate the Elastic Stack
        20.4K
        16.2K
        + 1
        262
        PROS OF KIBANA
        • 88
          Easy to setup
        • 65
          Free
        • 45
          Can search text
        • 21
          Has pie chart
        • 13
          X-axis is not restricted to timestamp
        • 9
          Easy queries and is a good way to view logs
        • 6
          Supports Plugins
        • 4
          Dev Tools
        • 3
          More "user-friendly"
        • 3
          Can build dashboards
        • 2
          Out-of-Box Dashboards/Analytics for Metrics/Heartbeat
        • 2
          Easy to drill-down
        • 1
          Up and running
        CONS OF KIBANA
        • 7
          Unintuituve
        • 4
          Works on top of elastic only
        • 4
          Elasticsearch is huge
        • 3
          Hardweight UI

        related Kibana posts

        Tymoteusz Paul
        Devops guy at X20X Development LTD · | 23 upvotes · 9.7M views

        Often enough I have to explain my way of going about setting up a CI/CD pipeline with multiple deployment platforms. Since I am a bit tired of yapping the same every single time, I've decided to write it up and share with the world this way, and send people to read it instead ;). I will explain it on "live-example" of how the Rome got built, basing that current methodology exists only of readme.md and wishes of good luck (as it usually is ;)).

        It always starts with an app, whatever it may be and reading the readmes available while Vagrant and VirtualBox is installing and updating. Following that is the first hurdle to go over - convert all the instruction/scripts into Ansible playbook(s), and only stopping when doing a clear vagrant up or vagrant reload we will have a fully working environment. As our Vagrant environment is now functional, it's time to break it! This is the moment to look for how things can be done better (too rigid/too lose versioning? Sloppy environment setup?) and replace them with the right way to do stuff, one that won't bite us in the backside. This is the point, and the best opportunity, to upcycle the existing way of doing dev environment to produce a proper, production-grade product.

        I should probably digress here for a moment and explain why. I firmly believe that the way you deploy production is the same way you should deploy develop, shy of few debugging-friendly setting. This way you avoid the discrepancy between how production work vs how development works, which almost always causes major pains in the back of the neck, and with use of proper tools should mean no more work for the developers. That's why we start with Vagrant as developer boxes should be as easy as vagrant up, but the meat of our product lies in Ansible which will do meat of the work and can be applied to almost anything: AWS, bare metal, docker, LXC, in open net, behind vpn - you name it.

        We must also give proper consideration to monitoring and logging hoovering at this point. My generic answer here is to grab Elasticsearch, Kibana, and Logstash. While for different use cases there may be better solutions, this one is well battle-tested, performs reasonably and is very easy to scale both vertically (within some limits) and horizontally. Logstash rules are easy to write and are well supported in maintenance through Ansible, which as I've mentioned earlier, are at the very core of things, and creating triggers/reports and alerts based on Elastic and Kibana is generally a breeze, including some quite complex aggregations.

        If we are happy with the state of the Ansible it's time to move on and put all those roles and playbooks to work. Namely, we need something to manage our CI/CD pipelines. For me, the choice is obvious: TeamCity. It's modern, robust and unlike most of the light-weight alternatives, it's transparent. What I mean by that is that it doesn't tell you how to do things, doesn't limit your ways to deploy, or test, or package for that matter. Instead, it provides a developer-friendly and rich playground for your pipelines. You can do most the same with Jenkins, but it has a quite dated look and feel to it, while also missing some key functionality that must be brought in via plugins (like quality REST API which comes built-in with TeamCity). It also comes with all the common-handy plugins like Slack or Apache Maven integration.

        The exact flow between CI and CD varies too greatly from one application to another to describe, so I will outline a few rules that guide me in it: 1. Make build steps as small as possible. This way when something breaks, we know exactly where, without needing to dig and root around. 2. All security credentials besides development environment must be sources from individual Vault instances. Keys to those containers should exist only on the CI/CD box and accessible by a few people (the less the better). This is pretty self-explanatory, as anything besides dev may contain sensitive data and, at times, be public-facing. Because of that appropriate security must be present. TeamCity shines in this department with excellent secrets-management. 3. Every part of the build chain shall consume and produce artifacts. If it creates nothing, it likely shouldn't be its own build. This way if any issue shows up with any environment or version, all developer has to do it is grab appropriate artifacts to reproduce the issue locally. 4. Deployment builds should be directly tied to specific Git branches/tags. This enables much easier tracking of what caused an issue, including automated identifying and tagging the author (nothing like automated regression testing!).

        Speaking of deployments, I generally try to keep it simple but also with a close eye on the wallet. Because of that, I am more than happy with AWS or another cloud provider, but also constantly peeking at the loads and do we get the value of what we are paying for. Often enough the pattern of use is not constantly erratic, but rather has a firm baseline which could be migrated away from the cloud and into bare metal boxes. That is another part where this approach strongly triumphs over the common Docker and CircleCI setup, where you are very much tied in to use cloud providers and getting out is expensive. Here to embrace bare-metal hosting all you need is a help of some container-based self-hosting software, my personal preference is with Proxmox and LXC. Following that all you must write are ansible scripts to manage hardware of Proxmox, similar way as you do for Amazon EC2 (ansible supports both greatly) and you are good to go. One does not exclude another, quite the opposite, as they can live in great synergy and cut your costs dramatically (the heavier your base load, the bigger the savings) while providing production-grade resiliency.

        See more
        Tassanai Singprom

        This is my stack in Application & Data

        JavaScript PHP HTML5 jQuery Redis Amazon EC2 Ubuntu Sass Vue.js Firebase Laravel Lumen Amazon RDS GraphQL MariaDB

        My Utilities Tools

        Google Analytics Postman Elasticsearch

        My Devops Tools

        Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack

        My Business Tools

        Slack

        See more
        Grafana logo

        Grafana

        17.9K
        14.3K
        415
        Open source Graphite & InfluxDB Dashboard and Graph Editor
        17.9K
        14.3K
        + 1
        415
        PROS OF GRAFANA
        • 89
          Beautiful
        • 68
          Graphs are interactive
        • 57
          Free
        • 56
          Easy
        • 34
          Nicer than the Graphite web interface
        • 26
          Many integrations
        • 18
          Can build dashboards
        • 10
          Easy to specify time window
        • 10
          Can collaborate on dashboards
        • 9
          Dashboards contain number tiles
        • 5
          Open Source
        • 5
          Integration with InfluxDB
        • 5
          Click and drag to zoom in
        • 4
          Authentification and users management
        • 4
          Threshold limits in graphs
        • 3
          Alerts
        • 3
          It is open to cloud watch and many database
        • 3
          Simple and native support to Prometheus
        • 2
          Great community support
        • 2
          You can use this for development to check memcache
        • 2
          You can visualize real time data to put alerts
        • 0
          Grapsh as code
        • 0
          Plugin visualizationa
        CONS OF GRAFANA
        • 1
          No interactive query builder

        related Grafana posts

        Matt Menzenski
        Senior Software Engineering Manager at PayIt · | 16 upvotes · 1M views

        Grafana and Prometheus together, running on Kubernetes , is a powerful combination. These tools are cloud-native and offer a large community and easy integrations. At PayIt we're using exporting Java application metrics using a Dropwizard metrics exporter, and our Node.js services now use the prom-client npm library to serve metrics.

        See more
        Conor Myhrvold
        Tech Brand Mgr, Office of CTO at Uber · | 15 upvotes · 5M views

        Why we spent several years building an open source, large-scale metrics alerting system, M3, built for Prometheus:

        By late 2014, all services, infrastructure, and servers at Uber emitted metrics to a Graphite stack that stored them using the Whisper file format in a sharded Carbon cluster. We used Grafana for dashboarding and Nagios for alerting, issuing Graphite threshold checks via source-controlled scripts. While this worked for a while, expanding the Carbon cluster required a manual resharding process and, due to lack of replication, any single node’s disk failure caused permanent loss of its associated metrics. In short, this solution was not able to meet our needs as the company continued to grow.

        To ensure the scalability of Uber’s metrics backend, we decided to build out a system that provided fault tolerant metrics ingestion, storage, and querying as a managed platform...

        https://eng.uber.com/m3/

        (GitHub : https://github.com/m3db/m3)

        See more
        Sentry logo

        Sentry

        14.4K
        9.2K
        863
        See performance issues, fix errors faster, and optimize code health.
        14.4K
        9.2K
        + 1
        863
        PROS OF SENTRY
        • 237
          Consolidates similar errors and makes resolution easy
        • 121
          Email Notifications
        • 108
          Open source
        • 84
          Slack integration
        • 71
          Github integration
        • 49
          Easy
        • 44
          User-friendly interface
        • 28
          The most important tool we use in production
        • 18
          Hipchat integration
        • 17
          Heroku Integration
        • 15
          Good documentation
        • 14
          Free tier
        • 11
          Self-hosted
        • 9
          Easy setup
        • 7
          Realiable
        • 6
          Provides context, and great stack trace
        • 4
          Feedback form on error pages
        • 4
          Love it baby
        • 3
          Gitlab integration
        • 3
          Filter by custom tags
        • 3
          Super user friendly
        • 3
          Captures local variables at each frame in backtraces
        • 3
          Easy Integration
        • 1
          Performance measurements
        CONS OF SENTRY
        • 12
          Confusing UI
        • 4
          Bundle size

        related Sentry posts

        Johnny Bell

        For my portfolio websites and my personal OpenSource projects I had started exclusively using React and JavaScript so I needed a way to track any errors that we're happening for my users that I didn't uncover during my personal UAT.

        I had narrowed it down to two tools LogRocket and Sentry (I also tried Bugsnag but it did not make the final two). Before I get into this I want to say that both of these tools are amazing and whichever you choose will suit your needs well.

        I firstly decided to go with LogRocket the fact that they had a recorded screen capture of what the user was doing when the bug happened was amazing... I could go back and rewatch what the user did to replicate that error, this was fantastic. It was also very easy to setup and get going. They had options for React and Redux.js so you can track all your Redux.js actions. I had a fairly large Redux.js store, this was ended up being a issue, it killed the processing power on my machine, Chrome ended up using 2-4gb of ram, so I quickly disabled the Redux.js option.

        After using LogRocket for a month or so I decided to switch to Sentry. I noticed that Sentry was openSorce and everyone was talking about Sentry so I thought I may as well give it a test drive. Setting it up was so easy, I had everything up and running within seconds. It also gives you the option to wrap an errorBoundry in React so get more specific errors. The simplicity of Sentry was a breath of fresh air, it allowed me find the bug that was shown to the user and fix that very simply. The UI for Sentry is beautiful and just really clean to look at, and their emails are also just perfect.

        I have decided to stick with Sentry for the long run, I tested pretty much all the JS error loggers and I find Sentry the best.

        See more
        Tassanai Singprom

        This is my stack in Application & Data

        JavaScript PHP HTML5 jQuery Redis Amazon EC2 Ubuntu Sass Vue.js Firebase Laravel Lumen Amazon RDS GraphQL MariaDB

        My Utilities Tools

        Google Analytics Postman Elasticsearch

        My Devops Tools

        Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack

        My Business Tools

        Slack

        See more