Drupal can also be integrated with other complex system that uses other databases such as PostgreSQL, MongoDB, MySQL Server. In the settings.php you can specify multiple data base connections so that the application can grab the information from more than one data base. I worked in a projects where Drupal was used only to store the content for the front-end and most of the heavy data was stored in a different data base. I have also been involved in headless Drupal projects where Drupal is used only to store the data and the front end use a different technology such as Angular, Jequery calls that grab the content from Drupal using a set of Drupal API web services.
Migrate drupal from version 7 to version 8 using using Migrate Drupal, Drupal Upgrade, Migrate Plus and Migrate Tools. Read this article to see a real practical example of migrating Drupal from version 7 to version 8.
Set up your portal and create your community site where users can post comments, upload pictures, enter competitions and win prizes. We handle very accurately all the permissions so that every user is allowed to perform only to certain operations and access only specific piece of content.
Set up content types, taxonomies and blocks. Classify and group your content using taxonomies and views. Views helps to group the content in a different sections such as latest news, featured articles, services and all necessary website widgets.
Integrate Drupal with other systems using the web services API module. They can be used for reading feeds, exchange data between complex systems which generally produce Jason or XML files.
If you cannot find a module that does exactly what you need then need to write a custom module. First try to find the same functionality in some existing contributed module. Sometimes it is wise to alter or extend an existing module rather then rewriting the functionality from scratch.