Friday, January 30, 2015

Use DNS Entries

Today's lesson is about using DNS entries for every connection in an enterprise environment or any internal connections. It's a bit more work to do up front, but can save so much time later.


Use aliases for databases also. This is probably old news, but something that might save someone a round of headaches later.



To illustrate the purpose, consider what happens when a server's OS reaches end of life for support and it's time to upgrade. If you've written your code well and you have no hard-coded connections to servers, the upgraded server can live anywhere as long as the DNS points to it.


For example, a billing system may communicate with a number of services and have a connection to a database. The database connection should use "billingData" as the alias in the connection. The service connections might be something like "net.tcp://services.example.com/customers/" for customer data. However, this offers less flexibility than "net.tcp://customers.services.example.com/"
since the latter can be moved independently of other services in that sub-domain. The latter is partitioned better which means you can route any service to another physical location.


But if your code has a connection to server1.example.com. You'll have to hunt down every connection and update that. So from the start, add a DNS entry for every database, application or resource.

No comments:

Post a Comment