Alternatives to OverOps logo

Alternatives to OverOps

AppDynamics, Splunk, Sentry, Dynatrace, and Rollbar are the most popular alternatives and competitors to OverOps.
25
43
+ 1
27

What is OverOps and what are its top alternatives?

OverOps is a powerful tool designed for real-time code analysis and monitoring, providing deep visibility into application errors and anomalies. Its key features include automatic root cause analysis, real-time alerts for errors and performance issues, detailed code-level insights, seamless integration with popular CI/CD tools, and support for multiple programming languages. However, some limitations of OverOps include its high pricing for enterprise features and the need for proper training to fully utilize its capabilities.

  1. Sentry: Sentry is a popular open-source error tracking tool that provides real-time crash reporting for web and mobile applications. Key features include customizable alerts, detailed stack traces, support for multiple platforms and languages, and integrations with various tools and services. Pros: Open-source, extensive language support. Cons: Limited performance monitoring capabilities.
  2. Rollbar: Rollbar is an error tracking and monitoring tool that helps developers identify and fix errors in their code quickly. Key features include real-time error alerts, detailed error grouping, custom error data collection, and integrations with popular development tools. Pros: User-friendly interface, quick setup. Cons: Limited support for older programming languages.
  3. Raygun: Raygun is an application monitoring and error tracking tool that provides insights into software performance and user experiences. Key features include crash reporting, real user monitoring, detailed error diagnostics, and integrations with various third-party services. Pros: Detailed performance reports, easy to use. Cons: Pricing can be expensive for larger teams.
  4. Airbrake: Airbrake is an error tracking tool that captures and aggregates errors in real-time, enabling developers to quickly identify and resolve issues in their applications. Key features include customizable error grouping, performance monitoring, deployment tracking, and integrations with popular development tools. Pros: Easy setup, detailed error reports. Cons: Limited customization options.
  5. Instana: Instana is an application performance monitoring tool that uses AI to automatically detect and analyze performance issues in real-time. Key features include automatic application discovery, distributed tracing, code-level visibility, and integrations with various cloud services. Pros: AI-powered monitoring, comprehensive insights. Cons: Limited support for on-premise applications.
  6. New Relic: New Relic is a comprehensive observability platform that provides monitoring and analytics for applications, infrastructure, and customer experiences. Key features include real-time performance monitoring, anomaly detection, log management, and integrations with popular cloud platforms. Pros: All-in-one observability solution, user-friendly interface. Cons: Higher pricing for advanced features.
  7. Datadog: Datadog is a cloud-scale monitoring and analytics platform that offers infrastructure monitoring, application performance monitoring, and log management. Key features include real-time alerts, distributed tracing, customizable dashboards, and integrations with hundreds of technologies. Pros: Scalable monitoring solution, extensive integrations. Cons: Complexity for new users.
  8. LogRocket: LogRocket is a front-end application monitoring tool that captures user sessions in real-time, allowing developers to replay and analyze user interactions to identify bugs and usability issues. Key features include session replay, error tracking, performance monitoring, and integrations with popular front-end frameworks. Pros: User session recording, detailed error insights. Cons: Limited backend monitoring capabilities.
  9. Epsagon: Epsagon is an observability platform for modern cloud applications that provides end-to-end visibility into distributed systems. Key features include distributed tracing, performance monitoring, anomaly detection, and integrations with cloud-native technologies. Pros: Cloud-native observability, automated troubleshooting. Cons: Limited on-premise support.
  10. AppDynamics: AppDynamics is an application performance management tool that offers real-time monitoring and diagnostics for cloud-native and on-premise applications. Key features include business transaction monitoring, application topology visualization, automatic baselining, and integrations with DevOps tools. Pros: Business-centric monitoring, comprehensive diagnostics. Cons: Steep learning curve for beginners.

Top Alternatives to OverOps

  • AppDynamics
    AppDynamics

    AppDynamics develops application performance management (APM) solutions that deliver problem resolution for highly distributed applications through transaction flow monitoring and deep diagnostics. ...

  • Splunk
    Splunk

    It provides the leading platform for Operational Intelligence. Customers use it to search, monitor, analyze and visualize machine data. ...

  • Sentry
    Sentry

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

  • Dynatrace
    Dynatrace

    It is an AI-powered, full stack, automated performance management solution. It provides user experience analysis that identifies and resolves application performance issues faster than ever before. ...

  • Rollbar
    Rollbar

    Rollbar is the leading continuous code improvement platform that proactively discovers, predicts, and remediates errors with real-time AI-assisted workflows. With Rollbar, developers continually improve their code and constantly innovate ra ...

  • SonarQube
    SonarQube

    SonarQube provides an overview of the overall health of your source code and even more importantly, it highlights issues found on new code. With a Quality Gate set on your project, you will simply fix the Leak and start mechanically improving. ...

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

OverOps alternatives & related posts

AppDynamics logo

AppDynamics

310
68
Application management for the cloud generation
310
68
PROS OF APPDYNAMICS
  • 21
    Deep code visibility
  • 13
    Powerful
  • 8
    Real-Time Visibility
  • 7
    Great visualization
  • 6
    Easy Setup
  • 6
    Comprehensive Coverage of Programming Languages
  • 4
    Deep DB Troubleshooting
  • 3
    Excellent Customer Support
CONS OF APPDYNAMICS
  • 5
    Expensive
  • 2
    Poor to non-existent integration with aws services

related AppDynamics posts

Farzeem Diamond Jiwani
Software Engineer at IVP · | 8 upvotes · 1.6M 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

We are evaluating an APM tool and would like to select between AppDynamics or Datadog. Our applications are largely hosted on Microsoft Azure but we would keep the option to move to AWS or Google Cloud Platform in the future.

In addition to core Azure services, we will be hosting other components - including MongoDB, Keycloak, PagerDuty, etc. Our applications are largely C# and React-based using frontend for Backend patterns and Azure API gateway. In addition, there are close to 50+ external services integrated using both REST and SOAP.

See more
Splunk logo

Splunk

621
20
Search, monitor, analyze and visualize machine data
621
20
PROS OF SPLUNK
  • 3
    API for searching logs, running reports
  • 3
    Alert system based on custom query results
  • 2
    Splunk language supports string, date manip, math, etc
  • 2
    Dashboarding on any log contents
  • 2
    Custom log parsing as well as automatic parsing
  • 2
    Query engine supports joining, aggregation, stats, etc
  • 2
    Rich GUI for searching live logs
  • 2
    Ability to style search results into reports
  • 1
    Granular scheduling and time window support
  • 1
    Query any log as key-value pairs
CONS OF SPLUNK
  • 1
    Splunk query language rich so lots to learn

related Splunk posts

Shared insights
on
KibanaKibanaSplunkSplunkGrafanaGrafana

I use Kibana because it ships with the ELK stack. I don't find it as powerful as Splunk however it is light years above grepping through log files. We previously used Grafana but found it to be annoying to maintain a separate tool outside of the ELK stack. We were able to get everything we needed from Kibana.

See more
Shared insights
on
SplunkSplunkElasticsearchElasticsearch

We are currently exploring Elasticsearch and Splunk for our centralized logging solution. I need some feedback about these two tools. We expect our logs in the range of upwards > of 10TB of logging data.

See more
Sentry logo

Sentry

14.8K
864
See performance issues, fix errors faster, and optimize code health.
14.8K
864
PROS OF SENTRY
  • 238
    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
Dynatrace logo

Dynatrace

337
28
Monitor, optimize, and scale every app, in any cloud
337
28
PROS OF DYNATRACE
  • 4
    Real User Monitoring
  • 4
    Automated RCA
  • 3
    Out-of-the-box distributed transaction tracing
  • 2
    Built on massive industry expertise (since 2005)
  • 2
    AI-powered platform
  • 2
    Extensible via SDK
  • 1
    Digital Experience
  • 1
    Easy setup
  • 1
    Accelerate software delivery
  • 1
    Infrastructure Monitoring
  • 1
    Applications & Microservices
  • 1
    Application Security
  • 1
    Built on API-first design principles
  • 1
    Automatic instrumentathird generation full stack Agents
  • 1
    Analytics vMotion events detection Discovery Performanc
  • 1
    Automation
  • 1
    Business Analytics
CONS OF DYNATRACE
  • 0
    Application Security
  • 0
    Real User Monitoring
  • 0
    Infrastructure Monitoring
  • 0
    Applications & Microservices
  • 0
    AI-powered platform

related Dynatrace posts

Farzeem Diamond Jiwani
Software Engineer at IVP · | 8 upvotes · 1.6M 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

Hi Folks,

I am trying to evaluate Site24x7 against AppDynamics, Dynatrace, and New Relic. Has anyone used Site24X7? If so, what are your opinions on the tool? I know that the license costs are very low compared to other tools in the market. Other than that, are there any major issues anyone has encountered using the tool itself?

See more
Rollbar logo

Rollbar

1.6K
531
Proactively discover, predict, and remediate errors.
1.6K
531
PROS OF ROLLBAR
  • 74
    Consolidates similar errors by impact
  • 64
    Centralize error management
  • 63
    Slack integration
  • 58
    Github integration
  • 47
    Usage based pricing
  • 32
    Insane customer support
  • 23
    Instant search
  • 21
    Heroku integration
  • 18
    Consolidate errors by OS
  • 15
    Great Free Plan
  • 15
    Trello integration
  • 13
    Flexible logging (not just exceptions)
  • 11
    Simple yet powerful error tracking tool
  • 9
    Multiple Language Support
  • 7
    Consolidate errors by browser
  • 6
    Easy setup
  • 6
    Query errors with RQL
  • 5
    Best rails exception handler
  • 5
    Deployment tracking is a nice free bonus
  • 5
    Awesome service
  • 5
    Simple and fast integration
  • 4
    Easy setup, friendly ui, demo, lots of integrations
  • 3
    Beat your users to the error report
  • 3
    Server-side + client-side
  • 3
    Errors Analysis
  • 3
    Clear and concise information.
  • 3
    Powerful
  • 2
    Mailgun integration
  • 2
    Easy integration with sails.js
  • 2
    Bitbucket integration
  • 1
    Clear errors on deploy or push
  • 1
    Easy Set up familiar UI that doesn't make you look dumb
  • 1
    Teams
  • 1
    Gitlab integration
CONS OF ROLLBAR
    Be the first to leave a con

    related Rollbar posts

    Robert Zuber

    Our primary source of monitoring and alerting is Datadog. We’ve got prebuilt dashboards for every scenario and integration with PagerDuty to manage routing any alerts. We’ve definitely scaled past the point where managing dashboards is easy, but we haven’t had time to invest in using features like Anomaly Detection. We’ve started using Honeycomb for some targeted debugging of complex production issues and we are liking what we’ve seen. We capture any unhandled exceptions with Rollbar and, if we realize one will keep happening, we quickly convert the metrics to point back to Datadog, to keep Rollbar as clean as possible.

    We use Segment to consolidate all of our trackers, the most important of which goes to Amplitude to analyze user patterns. However, if we need a more consolidated view, we push all of our data to our own data warehouse running PostgreSQL; this is available for analytics and dashboard creation through Looker.

    See more
    SonarQube logo

    SonarQube

    1.8K
    53
    Continuous Code Quality
    1.8K
    53
    PROS OF SONARQUBE
    • 26
      Tracks code complexity and smell trends
    • 16
      IDE Integration
    • 9
      Complete code Review
    • 2
      Difficult to deploy
    CONS OF SONARQUBE
    • 7
      Sales process is long and unfriendly
    • 7
      Paid support is poor, techs arrogant and unhelpful
    • 1
      Does not integrate with Snyk

    related SonarQube posts

    Simon Reymann
    Senior Fullstack Developer at QUANTUSflow Software GmbH · | 30 upvotes · 12.7M 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
    Ganesa Vijayakumar
    Full Stack Coder | Technical Architect · | 19 upvotes · 6M views

    I'm planning to create a web application and also a mobile application to provide a very good shopping experience to the end customers. Shortly, my application will be aggregate the product details from difference sources and giving a clear picture to the user that when and where to buy that product with best in Quality and cost.

    I have planned to develop this in many milestones for adding N number of features and I have picked my first part to complete the core part (aggregate the product details from different sources).

    As per my work experience and knowledge, I have chosen the followings stacks to this mission.

    UI: I would like to develop this application using React, React Router and React Native since I'm a little bit familiar on this and also most importantly these will help on developing both web and mobile apps. In addition, I'm gonna use the stacks JavaScript, jQuery, jQuery UI, jQuery Mobile, Bootstrap wherever required.

    Service: I have planned to use Java as the main business layer language as I have 7+ years of experience on this I believe I can do better work using Java than other languages. In addition, I'm thinking to use the stacks Node.js.

    Database and ORM: I'm gonna pick MySQL as DB and Hibernate as ORM since I have a piece of good knowledge and also work experience on this combination.

    Search Engine: I need to deal with a large amount of product data and it's in-detailed info to provide enough details to end user at the same time I need to focus on the performance area too. so I have decided to use Solr as a search engine for product search and suggestions. In addition, I'm thinking to replace Solr by Elasticsearch once explored/reviewed enough about Elasticsearch.

    Host: As of now, my plan to complete the application with decent features first and deploy it in a free hosting environment like Docker and Heroku and then once it is stable then I have planned to use the AWS products Amazon S3, EC2, Amazon RDS and Amazon Route 53. I'm not sure about Microsoft Azure that what is the specialty in it than Heroku and Amazon EC2 Container Service. Anyhow, I will do explore these once again and pick the best suite one for my requirement once I reached this level.

    Build and Repositories: I have decided to choose Apache Maven and Git as these are my favorites and also so popular on respectively build and repositories.

    Additional Utilities :) - I would like to choose Codacy for code review as their Startup plan will be very helpful to this application. I'm already experienced with Google CheckStyle and SonarQube even I'm looking something on Codacy.

    Happy Coding! Suggestions are welcome! :)

    Thanks, Ganesa

    See more
    New Relic logo

    New Relic

    21K
    1.9K
    New Relic is the industry’s largest and most comprehensive cloud-based observability platform.
    21K
    1.9K
    PROS OF NEW RELIC
    • 414
      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.6M 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.7K
    262
    Visualize your Elasticsearch data and navigate the Elastic Stack
    20.7K
    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 · 10.6M 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