Web registration in CiviCRM
This is easy to achieve if your website is built using Wordpress, Drupal or Joomla, as CiviCRM integrates with all three of these content management systems.

Having installed CiviCRM (https://wiki.civicrm.org/confluence/display/CRMDOC/Installation+and+Upgrades) setting up a 'profile' (a CiviCRM term for a group of fields) is pretty straightforward - lots of guidance on this in the documentation (https://docs.civicrm.org/user/en/stable/) you can then present this to users as a form on your website for a straightforward sign-up form. I don't think a simple profile form like this allows you to send an acknowledgement email to the user though.

If you are offering a membership CiviCRM has great support for this, with a full-blown membership management component supporting both free and paid-for membership schemes. The membership sign-up mechanism does support sending an acknowledgement email, and you can do much more besides, using the Scheduled Reminder mechanism.

With Drupal as your CMS you can integrate with CiviCRM to enable you to use Drupal's Webform module, giving you more control over forms on your site.

If you are not using one of these content management systems for your website then you would need to integrate using the API.