It is perfectly possible to implement a web server on a 32F4 device. I have one running here, and even TLS/HTTPS is almost working... The libraries out there for this stuff are full of bugs, and while lots of devs have independently fixed the bugs, they aren't publishing the fixes because they were paid by their employer to do this
They probably spent a man-year just fixing ST's ethernet libs, polar SSL or EmbedTLS.
However, nearly all applications where data is being collected for retrieval elsewhere, upload data to a central server, from where it can be retrieved. This has various advantages e.g.
- simpler to run a web client than a web server
- can use a 3G/4G (or even GPRS) connection to the web
- IP doesn't have to be fixed
- no public visibility of the server port (80/443 etc) avoids constant hacking attempts by chinese/russian hackers
- no storage limit at the server
- no need to always be powered
- much more secure, due to no fixed IP, and any public network effectively placing it behind NAT
- can use nonstandard protocol to push the data to the server e.g. just bare UDP, avoiding all the TCP/IP complexity (no DHCP, etc)
- etc
You can set up your own server, which is very cheap these days, although you do need to have a backup strategy, and somebody needs to be in charge of that. But this is a well worn route - check out pricing at say Linode, for the virtual server options which most people use these days unless they need massive storage (terabytes). Or you can use e.g. Loggly
https://www.loggly.com/ for a ready made server.
The hacking issue is very real. The IP will be discovered within hours, more quickly if you publish the DNS, and the server will be hammered with thousands of attacks per day. Eventually they will find a back door in your server code, which after all was just some old code with patches applied as they were found on forums
A smart meter may need to take fast measurements because it is calculating real time power (watts, and reactive VA) by V x I multiplication and that needs a lot of samples per 50Hz cycle. But you don't need to upload the data. Only aggregated samples.