Categories
Careers

Some Best Practices to Take Note of as a Backend Developer

Spread the love

As a back end developer, we have a big job. We make apps that manage people’s data and we can make code that does many things to them whether they’re good or not.

In this article, we’ll look at some best practices to take note of when we’re developing back end apps.

Make Sure That We Have Backups

We got to make sure that we have backups in case we screw up any data with any manual operations or bugs in our apps.

Having backups is not enough. We got to check that actually work. This way, we can restore them if we have any issues with them.

Backups should be in multiple locations, for instance, we have some onsite and some in the cloud.

Have Scripts to Copy Data

If we’re copying the same things over and over again, we should have scripts to automate that for us.

This way, we don’t have to type in the same commands over and over again. Also, we avoid screwing things up when we type commands.

Scripts are always the same, but humans are not.

Plan Before Rolling Out Updates

If we’re in charge of managing servers, then we’ve to make sure that we plan for applying updates.

This is something that we may have to do once in a while.

Hopefully, the downtime is minimal so that we don’t have to work off-hours to apply them.

It’s also probably a good idea to apply them to non-production environments first before trying to apply the same updates to a production server.

Have Plans to Scale Up Persistence Solution

We got to have some plans in place to scale up databases if needed. If they run out of capacity, then we have to scale up disk space, memory, or both for example.

We may also do things like sharding to divide data into multiple database servers.

Managing Schema Changes

Schema changes also needed to be managed. We should make sure that they always go smoothly before running the same schema migrations in production.

Fortunately, most frameworks and ORMs have their own schema migration capabilities so that we don’t have to deal with them ourselves.

Otherwise, we’ll have to write our own scripts to do the same thing.

Add Monitoring to Verify the Health of the Persistence Solution

We got to have some way to check that our databases are working. This way, we can actually make sure that our database server is working.

If they go down or have any other issues, then we got to know about them right away.

Most web or cloud hosts have their own solutions, so we should use them.

Photo by Christiann Koepke on Unsplash

Choosing the Best Hosting Solution For Our Apps

We got to choose a good hosting solution for our apps right from the start so that we don’t have to think about migrating to a different host when the one we have isn’t good.

There’re 3 choices. We can use the software as a service, self-hosted in the cloud, or self-hosted in our own hardware.

Software as a service solution would like a web host like Siteground or Bluehost where we just click a few buttons to get things going.

This is good for simple, low traffic apps since they’re mostly shared hosting and don’t have much processing capacity.

If it’s self-hosted, then we can create our own server and change the hardware the way we like. That applies to both the cloud and our own hardware.

With cloud hosting, we use virtual servers hosted on their own hardware to host.

If it’s our own hardware, then we host the virtual servers on our own machine to do the hosting.

Of course, the most flexible is hosting our own hardware. However, that has the most responsibility and there’s no support from anyone unless we pay for someone to manage it.

All in all, we’ve to choose one that suits us. However, more and more businesses are hosting their apps on cloud-based servers because of their balance of convenience and flexibility.

Conclusion

We’ve to deal with lots of issues if we’re working on the back end. Not only do we have to deal with developing the apps, but we also have to deal with backups and servers for hosting our stuff.

This means that we actually have some server and web host knowledge as well in addition to the ability to develop back end apps.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

Your email address will not be published. Required fields are marked *