TL;DR style notes from articles I read today.
Top 10 security best practices for MongoDB
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.
Some MongoDB operations let you execute arbitrary JavaScript expressions. Disable JavaScript execution.
Understand how queries are handled by frameworks in use and their sanitization and validation capabilities.
Full post here, 7 mins read
How to overcome 5 common database challenges
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
Practical tips for how to survive and thrive in the chaos of legacy software
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