We are planing to upgrade from sp2010 on-premise [2wfe (server2008) and 1sql(2008)] to SP2016. What are the recommendation in term of architecture and hardware for less than 100 users
This very much depends on whether you want to take advantage of things like MinRole for SharePoint 2016, or whether you're happy running 'custom' role servers. Note that SharePoint 2016 has been optimised for the MinRole farm topology.
You can run a farm as you have your 2013 farm at the moment, i.e. two servers hosting all roles to provide resilience and for 100 users, that would provide enough performance.
If you want to take advantage of the MinRole topology, then you'll want at a minimum two servers running the 'front end with distributed cache' role and two servers running the 'application with search' role. Note that to get these combined roles available to you when configuring the farm, you'll need to install at least Feature Pack 1 (November 2016) or above otherwise you'll have to original MinRoles available to you only.
If you want high availability, you'll also want some sort of SQL Server HA configuration. Microsoft recommend the use of AlwaysOn Availability Groups to provide SQL HA for SharePoint, but you can also still use SQL clustering if required.
There's a good introduction to SharePoint 2016 MinRole at https://technet.microsoft.com if you've not looked into it so far.
Please follow the below steps:
-> Create a new site collection in SharePoint 2013
-> Move the site to a temporary database
-> Make a copy of database in SharePoint 2013 environment and move it to the SharePoint 2016 database
-> Test SharePoint 2013 attached database in SharePoint 2016 environment, Mount the DB and upgrade DB
->Change the site collection owner and Hit the site and test everything
Refer to the below articles about how to upgrade SharePoint 2013 to SharePoint 2016.
Hope this helps!