I like the idea that third part apps run at *.github.io
*.shopify.com
*.volusion.com
works, people make own pages (modify/use template), and host inside.
I'm interested in architecture, how all of this happen?
This is called multitenancy. It can be achieved in a number of ways with on many different server platforms. There are a number of pieces, for example:
*.site.com
act as site.com/users
, or something to that effect depending on your platform architectureUltimately, a tenant is just a row in a database table somewhere, and the application is written in a generic way so that each tenant uses the same "base" code. How that works and how it is implemented can vary greatly between applications.
Update: Per your comment, here are some resources specifically dealing with tenancy in ASP.NET: