DEV Community

Cover image for 10 more Rules that will help you write secure, scalable and adaptable programs
Pragyan Tripathi
Pragyan Tripathi

Posted on

10 more Rules that will help you write secure, scalable and adaptable programs

Everybody in this country should learn to program a computer because it teaches you how to think. - Steve Jobs

10 more Rules that will help you write secure, scalable and adaptable programs:

Image description

1. Use Commodity Systems:

Use small, inexpensive systems where possible. Build your systems to be capable of relying on commodity hardware and don't get caught in the trap of using high-margin, high-end servers.

2. Scale out your data centers:

Design your systems to have three or more live data centers to reduce overall cost, increase availability, and implement disaster recovery.

3. Design to leverage the cloud:

Make use of third-party cloud environments for temporary demands. Design your application to service some requests from a third-party cloud when demand exceeds a certain peak level.

4. Use databases appropriately:

Use relational databases when you need ACID properties to maintain relationships between your data. For other data storage needs consider more appropriate tools.

5. Firewalls, firewalls everywhere!

Use firewalls only when they significantly reduce risk and recognize that they cause issues with scalability and availability. Employ firewalls for critical PII, PCI compliance, and so on.

6. Actively use log files:

Use your application’s log files to diagnose and prevent problems. Make good use of your log files, and you will have fewer production issues with your system.

7. Don't check your work:

Never read what you just wrote for the purpose of validation. Store data in a local or distributed cache if it is required for operations in the near future.

8. Stop redirecting traffic:

Avoid redirects when possible; use the right method when they are necessary. If you must have them, consider server configurations instead of HTML or other code-based solutions.

9. Relax temporal constraints:

Alleviate temporal constraints in your system whenever possible. The difficulty in scaling systems with temporal constraints is significant because of the ACID properties of most RDBMSs.

10. Leverage content delivery networks:

CDNs are a fast and simple way to offset the spikiness of traffic as well as traffic growth in general. Make sure you perform a cost-benefit analysis and monitor the CDN usage.

First 10 rules:
https://dev.to/pragyanatvade/10-rules-that-will-help-you-build-secure-scalable-and-adaptable-applications-46pi

Thanks for reading this.

If you have an idea and want to build your product around it, schedule a call with me.

If you want to learn more about DevOps and Backend space, follow me.

If you want to connect, reach out to me on Twitter and LinkedIn.

Top comments (0)