Salesforce best practice

What is the best practice in connecting and extracting the data from Salesforce? On-site and without any paid services.