TL;DR style notes from articles I read today.
Enable & configure role-based access control. Configure TLS.
Restrict network exposure - ensure the instance is only listening on the localhost interface.
Configure system auditing. Stay updated with MongoDB security fixes.
Understand how queries are handled by frameworks in use and their sanitization and validation capabilities.
Full post here, 7 mins read
When choosing a database, consider the following 5 DB challenges and how your choice of DB tackles these.
- Data Security: use the database’s built-in security features; or use what your company is already using for security purposes; or reinforce both in your application.
- Performance: Great performance by a database means deployment with good defaults, being able to recognize an operational environment and scaling up the performance automatically as needed.
- Data Safety: there must be ACID guarantees both across the database and throughout the cluster.
- Resource Utilization: a good DB must get 100% from the resources it is working on.
- High Availability: A DB must provide high availability. It should have assignment failover mechanisms.
Full post here, 4 mins read
Treat legacy software as the 3rd party software, take its output and convert it into a form that can be consumed by a new application or a system that you’re migrating to.
Change only what must be changed. Never underestimate the dependencies in legacy software.
Rely on TDD. Write a test that fails, write the code so that your test passes, refactor the code, re-run the test to ensure it passes.
“Always leave the code you are editing a little better than you found it.”
Don’t cut too many corners and try to maintain projects. Show some TLC to legacy software.
Full post here, 6 mins read