DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Last call! Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • From Zero to Production: Best Practices for Scaling LLMs in the Enterprise
  • The Production-Ready Kubernetes Service Checklist
  • Challenges of Using LLMs in Production: Constraints, Hallucinations, and Guardrails
  • Efficient Artificial Intelligence: Training to Production

Trending

  • My LLM Journey as a Software Engineer Exploring a New Domain
  • While Performing Dependency Selection, I Avoid the Loss Of Sleep From Node.js Libraries' Dangers
  • Solid Testing Strategies for Salesforce Releases
  • Is Agile Right for Every Project? When To Use It and When To Avoid It

Production Server Issue: How to Solve It the RIGHT WAY

I've been in the industry for 20+ years; and this is what I learned from dealing with numerous production server issues.

By 
Alireza C user avatar
Alireza C
DZone Core CORE ·
Feb. 24, 21 · Opinion
Likes (3)
Comment
Save
Tweet
Share
9.5K Views

Join the DZone community and get the full member experience.

Join For Free

If the production server issue were a villain, it would have been Thanos. Scary and powerful—with goals beyond your understanding. But hey, even that big purple guy had his weaknesses. So, calm down, take a deep breath, and let me tell you how to deal with it.

I have been in the industry for 20+ years. So, believe me, I have faced lots of production server issues throughout my career. And the article you are reading is the outcome of hundreds (if not thousands) of battles.

Let’s Face It, Pals

It is midnight, and you are sleeping peacefully. Suddenly, your phone blows up with notifications. And guess what? That picky client’s server is down. Now, it is just an “all eyes on you” situation. You feel like a politician who wants to explain a terrorist attack on the capital. The whole situation is unpleasant, stressful, and (sometimes) traumatic. 

I hate to ask this, but what are you going to do now? 

I would forget about every horrible scenario and look for the right way to solve the production server issue. And that is what you should do, too. 

Okay, What Do I Mean by the “Right Way?”

I am afraid to say that there is no reliable runbook when it comes to server problems. Every flaw could be unique. Each case needs a separate inspection and analysis. So, the right way to solve a production issue is the one that results in the quickest reliable response—even if it is only a temporary workaround. 

Let’s get back to the Thanos example. What is the right way to stop a purple guy who is about to make half of the world’s population disappear? It is by preventing him from snapping. And I don't care how you do that; cut his fingers? Tape his arm to a tree? Glue up his fingers? Anything. Just do it.

That is the right way to deal with a production server issue as well. I am not encouraging you to forget about your developer-ish morals. What I am pointing out is that the clock is ticking. Your client does not care about all the technical benefits of having a reliable approach over a workaround. 

No running server, no money. So, face the music before it is too late.

There are three aspects of finding the best approach when solving a production server issue. (See below).


  • The Right Concern

What is the first thing you worry about when you face a downed server? Your reputation? The costs? Any upcoming client complaints? *BZZZT!* All of them are wrong answers. 

Your primary concern is (and always should be) the users. 

It is not about “you,” “your reputation,” or “your salary.” It is about an end-user who cannot make a purchase, use a service, or solve a problem.   

  • The Right Goal

A production server issue (aka Thanos!) has goals beyond your understanding. But what is yours? The right plan to face such a villain is to save as much precious stuff as possible. In this case, the bad guy wants to stop your users from accessing your software/website. So, rescuing more consumers sounds like the best objective.

I know; the most heroic target is to defeat the villain in advance. But you are not Spider-Man. So, no one is going to admire you fighting the bad guy(s). All you will get is to have others booing you off the stage. That is because the users do not care about the root cause of a production server issue. What they want is a running application. 

Your goal should be to fix things as fast and efficiently as possible. 

  • The Right Approach

Pour a cup of coffee, close your eyes, think about your happiest memories while coding, and WATCH YOUR EMPIRE FALL! This is not the right approach to fix a production server issue. Act fast—and furious. Play all your cards. Asking for help. Get your team ready. And think of it as the end game. (Pun intended).

The best approach is an all-out strategy. Keep backups handy. Extract the logs immediately and use everything you have to get the server back running. 

Production Server Issue This-or-That

As I said, there is no bible to refer to when you face a problem with your server. Of course, you still want to check every piece of information you have (e.g., software runbook). But you should be prepared to enter the land of unknowns. 

I cannot give you the roadmap. But here are some hints on how to find the right path. 

  • 1.   Finding the Root Cause vs. Implementing a Workaround

Imagine you spent two days finding the cause of the issue. And now, you are ready to solve it. Congratulations! You have done a great job. But you are fired. That is because you let the server remain down for two days. 

If it takes you a while to spot the root-cause, just do NOT do it. Instead, find the most approachable workaround to get things back going. 

Professionalism indicates that only the most dependable solutions are acceptable. But hey, Nirvana does not exist. Your desire to dive deep into the flaws is admirable. However, no one is going to pay you for that when there is no running application.

  • 2.   Keeping the Issue Private vs. Calling for an Emergency Meeting

First of all, you cannot keep a server issue private. Sooner or later, your client will receive tickets or error messages. So, calling for an emergency meeting is a much more professional tactic. Plus, you need to hear others’ analysis—to accelerate the problem-solving procedure.

Honestly, you probably have no idea what happened. However, someone might have useful information. It could be your client who accidentally did something they should not or one of the developers with reliable insights. 

Make it public before it ‘gets public.’ That way, you can hang onto your reputation while having more people to lend a hand. 

  • 3.   Relying on One Developer vs. Turning on Avengers Mode

The thing is that sometimes you manage to keep the flaws under control. So, the question is, “should you have one person handle it afterward?” 

Think of it this way: Thanos has all six stones. But you found a way to steal them. Now, should you send one superhero (say, Iron-Man) to execute your plan? Or is it best to bring back the avengers together and split the responsibilities?

Of course, having more developers (or superheroes) is a better idea. That way, you have a higher chance of success due to the variety of your team’s skills and capabilities. 

Who Is “Fury” When There Is a Production Server Issue?

Everyone is furious when there is a crisis in the software development process. However, who is “Fury?” For those who do not read comics, Fury is the former head of the Avengers. So, again, who is your boss now when there is a fire waiting to be put out?

In my experience, there should always be a case manager when it comes to server issues. It could be your SDLC head or the DevOps team manager. However, you should choose a Fury who knows how not to be furious in times of crisis.

As a DevOps engineer, I believe that Development-and-Operations experts make proper case managers. They know how to benefit from agile relationships to achieve the fastest reliable solution/product.

This is what you need when fixing a production server issue. A case manager who is good with issues knows what the product means to SDLC and cares about the ticking clock. 

Key Takeaways You Should Never Take Away

Here is a list of things to have in mind when facing a production server issue.

  • Your concern is with the customers/users.
  • Your goal is to get things back running again as soon as possible.
  • The right approach is the fastest one.
  • Workarounds are with your friends during the production server issue repair.
  • More help is better. So, make the issue public and let everyone comment on it.
  • Don't expect one developer to be the jack of all trades. 
  • Have a case manager.
  • Postpone the detailed RCA (Root Cause Analysis).
  • And finally, do not forget about the documentation.

 

What are your thoughts on this unwelcome topic? Have you ever experienced any production server issues? How did you deal with them? Let’s have some geeky chit-chat in the comments section. 

Production (computer science)

Opinions expressed by DZone contributors are their own.

Related

  • From Zero to Production: Best Practices for Scaling LLMs in the Enterprise
  • The Production-Ready Kubernetes Service Checklist
  • Challenges of Using LLMs in Production: Constraints, Hallucinations, and Guardrails
  • Efficient Artificial Intelligence: Training to Production

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!