Putting sites online
To answer your question: Yes. All you should need is your code sitting on a web server and your data sitting in a database for your Drupal site to go live.

As for suggestions, I have a few regarding workflow. Drupal has a lot of pain points with deployment because not only is the content stored in the database, but most of the configuration is as well. So while you can upload modules, the settings need to be manually set on production, automatically deployed with the Features module, or automatically deployed with update hooks in modules. 

Uploading your site for the first time via FTP will work, but it's usually a lot more complicated when deploying updates. Here are a few things that you should learn to help combat this:

My first suggestion would be that you set up a development server (your local dev will work), a staging server to test your deployments, and a production server which will host your live site. It's crucial to have this (or something similar) so you can catch any problems and avoid a production down situation.

Second, you should learn how to use Git for version control to manage and deploy your code. You should use it for all projects, actually, even if you're not deploying them. I cannot tell you how many times I've rolled a change to production that broke the site and was able to roll back with one command. I'm not going to try and convince you why using version control is a good idea because there is an entire internet that says you should. Here is just one article: http://www.git-tower.com/learn/git/ebook/mac/basics/why-use-version-control

Third, assuming that you're using Drupal 7, you should use the Features module to store your settings in code and deploy them via git. Features is a necessary evil in order to accomplish this, and there are a ton of quirks that give it a huge learning curve, but it's worth it in the long run. This answer seems pretty solid. A more advanced and custom approach is to use calls to hook_update_n in your modules to automatically deploy database updates and settings. This article Does a good job explaining it.

Fourth, and probably most importantly, BACK UP YOUR DATABASE AND YOUR CODE. As I mentioned before, Drupal makes heavy use of the database. If you lose that, you lose your site. Make sure you have scheduled backups for your database (and your code if it isn't in Git).

I'm not trying to scare you, but I'll be honest: if you do decide to go this route (and I believe I'm not the only one who thinks you should), there will be a lot to learn and a ton of frustration at first. I can tell you that you're going to have a maintenance nightmare on your hands if you plan to deploy updates by uploading files via FTP. 

I have been to a lot of talks and training on this subject at Drupal Camps, Drupal Cons, and Drupal meet-ups, and I'm still learning how to manage deployment. Once you learn the tools and get your workflow down, things will go a lot smoother and you'll be able to recover quickly if anything bad happens. 

I hope this helps. Let me know if you have any questions!