We're developing a website which should be available in Europe, but also in China. If we host the website in Europe the performance in China will be bad.
So we want to host the website in both Europe and China.
For now we have 2 options.
Create 2 separate versions of the website. The first version will have it's own database and server in Europe and the second version in China. So it's the same website but they aren't linked and they have the content of their own language in their own database.
Have 2 frontend servers that connect to the same database. The database can be hosted in Europe. On the frontend server in China we can use a lot of caching so it should perform well. The frontend servers somehow need to sync. Maybe and Azure Web App.
Does anyone have a better suggestion and would it be hard to sync 2 frontend servers?
Can a frontend server in China connect to a database that's hosted in Europe or does China block that?
A third option would be to not just replicate the frontend server, but also the database. Than the frontend server and database are hosted in China. We just need to make sure that all changes are done in the database in Europe and if something needs to be written to the database from the frontend it should also go into the correct database.
You need to talk to either Fuji Kasaka (@twit_fuji) or Chris Evans (@cpevans), who have both set up web sites for Mainland china and all the attendent stuff you have to do.
no outbound connections, getting the special license etc
Ravi
China is somehow a very different experience i must say. Forget about using any jS having any relation with Google or any other social media such as twitter, fb, youtube or anything having any relation with google.
Basically what we created everything on a our Uk server . 1 instance with multiple languages. Duplicate the whole website and host only the CH / CN in china mainland. One thing you should know is the chinese have their own browser Baidu and if you use google to search anything, you will not get much.
However we added an extra step, a staging environment on our UK server itself, with all the languages but removed any social media scripts within the templates.
All changes are done on the local dev, then pushed to staging and from staging either UK or CN LIVE using courier. It does take some time to push from UK to CN. Bare in mind you website can be banned if you dont bind to local standards.
Do you have someone in China ? you will need to get an ICP licence to be able to host there. It takes 2-3 weeks to do get all the papers.
If you need anything else let me know, hope this help.
I'm doing my first in stall in china with umbraco 8 Possibly 9 on the install, I have installed sites in china before btu this is the first umbraco. Have you any suggestion or issues I may come across?
I have ICP already I've over amping the server a bit with aliyun
The bandwidth of the 10 m
8CPU
8 g memory
System disk using SSD 100GB
Server area (East China Region 2)
Windows Server 2016 database 64-bit Chinese version
D disk 150 gb SSD
Apart from disable the socal Element anything to worry about in the install?
We want to try if we can keep this simple. Pushing the content from dev to staging to live sound like a good idea, but it takes time.
Does anyone know if option 2 could work?
Have 2 frontend servers that connect to the same database. The database can be hosted in Europe. On the frontend server in China we can use a lot of caching so it should perform well. With a VPN it should be able to connect to the database.
I tried with to get started with ChinaCache and Azure solution but they are very expensive.
I can share the figures and contacts with you if you want. If you need any dedicated servers in china, let me know. The good part i have people there and they speak english.
Thanks for your reply. Currently there already is a website hosted in China on Azure. We also have a website in Europe. They are 2 different websites now. We're going to rebuild them to 1 website that should work in China and Europe. That is why we want the shared database.
Yes it's probably a good idea to first make a small test setup to see how long it takes. The project isn't that big and everything on the frontend uses IPublishedContent without any db queries (maybe some for dictionary items).
You will still need a VPN. Also hosting in Hong kong might not be a good idea if youre targeted audience is 100% China users. You will also need an ICP number and this number is only to host within China.
For another project we also need hosting in both Europe and China. To keep the performance good we want to host in both locations. So the frontend and database server will be in Europe and China.
The data between these environments needs to be synced. Since Umbraco 8 will use GUIDs for everything it should be possible to replicate with SQL Data sync once it's released.
However for members it's important that we keep the data in Europe for security reasons. We're using the default UmbracoMembershipProvider for this. Could we somehow replicate all data except the members?
Cloudflare is more feature rich than just caching scripts and images, they have a feature called "Always Online", so even when the entire server is offline your site still loads a cached version of the page. They also provide load balancing.
I have an Umbraco website which is always in use and has a very global user base (but not China) running on this service, and it performs great. I did have some issues with websockets in the past though.
Anyway, thought i'd suggest the idea, as I imagine it would be a lot less expensive and easier than applying for a Chinese IPC hosting license.
Do you know if it's possible that we keep the hosting in Azure, but Cloudflare still makes it available in China? We have a lot of user specific content behind a login so we can't do any caching or use the "Always Online" feature.
Yes it would be possible to host on Azure and let Cloudflare make the site available in China.
Cloudflare's service is all based around DNS, so after you've got the Cloudflare account, you set your domain to point at their name servers.
It is very configurable, so you can disable Always Online and caching if you need the content to be personalized.
1 thing i've found in the past, is that SignalR doesn't work behind Cloudflare, although that was a while ago, so they may of resolved that now.
I think they do free accounts (which you can upgrade later if you want), or at least used to, so you could sign up and have a look at the configuration options in their control panel.
Does anyone know of some good tools to test how a website performs in China? WebPagetest only supports Hong Kong, but it's not behind the Great Firewall of China.
Umbraco hosting in Europe and China
Hello,
We're developing a website which should be available in Europe, but also in China. If we host the website in Europe the performance in China will be bad.
So we want to host the website in both Europe and China.
For now we have 2 options.
Does anyone have a better suggestion and would it be hard to sync 2 frontend servers?
Can a frontend server in China connect to a database that's hosted in Europe or does China block that?
Jeroen
A third option would be to not just replicate the frontend server, but also the database. Than the frontend server and database are hosted in China. We just need to make sure that all changes are done in the database in Europe and if something needs to be written to the database from the frontend it should also go into the correct database.
Jeroen
You need to talk to either Fuji Kasaka (@twit_fuji) or Chris Evans (@cpevans), who have both set up web sites for Mainland china and all the attendent stuff you have to do.
no outbound connections, getting the special license etc Ravi
Hey Jeroen,
China is somehow a very different experience i must say. Forget about using any jS having any relation with Google or any other social media such as twitter, fb, youtube or anything having any relation with google.
Basically what we created everything on a our Uk server . 1 instance with multiple languages. Duplicate the whole website and host only the CH / CN in china mainland. One thing you should know is the chinese have their own browser Baidu and if you use google to search anything, you will not get much.
However we added an extra step, a staging environment on our UK server itself, with all the languages but removed any social media scripts within the templates.
All changes are done on the local dev, then pushed to staging and from staging either UK or CN LIVE using courier. It does take some time to push from UK to CN. Bare in mind you website can be banned if you dont bind to local standards.
Do you have someone in China ? you will need to get an ICP licence to be able to host there. It takes 2-3 weeks to do get all the papers.
If you need anything else let me know, hope this help.
HI Fuji,
I'm doing my first in stall in china with umbraco 8 Possibly 9 on the install, I have installed sites in china before btu this is the first umbraco. Have you any suggestion or issues I may come across?
I have ICP already I've over amping the server a bit with aliyun
The bandwidth of the 10 m 8CPU 8 g memory System disk using SSD 100GB Server area (East China Region 2) Windows Server 2016 database 64-bit Chinese version D disk 150 gb SSD
Apart from disable the socal Element anything to worry about in the install?
sorry i just recall that the staging environment is the duplicate of the LIVE (EN & CN) - so something like this
1 Main Dev --> 2 Staging Server ( UK / CN ) --> 2 Live on 2 different servers.
Hi Fuji,
Thanks for your reply. If you have 2 live environments with 2 different servers does this mean you need manage the content twice?
Jeroen
no we do everything on local dev which contains all 5 languages..... then push validated content to respective server.
But i do agree it takes time to manage though.
We want to try if we can keep this simple. Pushing the content from dev to staging to live sound like a good idea, but it takes time.
Does anyone know if option 2 could work?
Have 2 frontend servers that connect to the same database. The database can be hosted in Europe. On the frontend server in China we can use a lot of caching so it should perform well. With a VPN it should be able to connect to the database.
Jeroen
I tried with to get started with ChinaCache and Azure solution but they are very expensive.
I can share the figures and contacts with you if you want. If you need any dedicated servers in china, let me know. The good part i have people there and they speak english.
Thanks for your reply. Currently there already is a website hosted in China on Azure. We also have a website in Europe. They are 2 different websites now. We're going to rebuild them to 1 website that should work in China and Europe. That is why we want the shared database.
Bare in mind it might takes time for website to pull data from EU database db.
Yes it's probably a good idea to first make a small test setup to see how long it takes. The project isn't that big and everything on the frontend uses IPublishedContent without any db queries (maybe some for dictionary items).
Let me know if you need some help and setups.
Hi Jerome,
It seems that you need to use two server locations, one in Europe and the others on China. Other alternative is using CDN.
The hosting will be in Hong Kong. So the Great Firewall of China shouldn't be a problem. I still wonder if we need a VPN in that case.
Jeroen
You will still need a VPN. Also hosting in Hong kong might not be a good idea if youre targeted audience is 100% China users. You will also need an ICP number and this number is only to host within China.
If you are hosting in HK you dont need any ICP.
Hello,
For another project we also need hosting in both Europe and China. To keep the performance good we want to host in both locations. So the frontend and database server will be in Europe and China.
The data between these environments needs to be synced. Since Umbraco 8 will use GUIDs for everything it should be possible to replicate with SQL Data sync once it's released.
However for members it's important that we keep the data in Europe for security reasons. We're using the default UmbracoMembershipProvider for this. Could we somehow replicate all data except the members?
Jeroen
Hi Jeroen,
Have you considered hosting the Umbraco site in Europe, but use a content delivery network to improve performance in Asia?
I see that Cloudflare has a partnership with Baidu in China, to enable their CDN to work well there. (Behind the great firewall).
https://www.cloudflare.com/network/china/
Hi Dan,
It's more a webapplication than a website. So it does a lot of db calls. Not sure if a CDN will help with that.
The project is running on Azure.
Jeroen
Hi Jeroen,
Cloudflare is more feature rich than just caching scripts and images, they have a feature called "Always Online", so even when the entire server is offline your site still loads a cached version of the page. They also provide load balancing.
https://www.cloudflare.com/load-balancing/
I have an Umbraco website which is always in use and has a very global user base (but not China) running on this service, and it performs great. I did have some issues with websockets in the past though.
Anyway, thought i'd suggest the idea, as I imagine it would be a lot less expensive and easier than applying for a Chinese IPC hosting license.
Thanks for the suggestion. I'm more looking at options on how we can replicate the frontend and database to China and somehow sync the environments.
Biggest issue is that members should only be stored in Europe.
Jeroen
Hi Dan,
I'm looking at the option where all hosting (database + frontend servers) still happens in Europe, but the website should still be available in China.
I've got the following ideas:
Reverse Proxy Server Hosting https://webcertain.com/site/servicesamp/1553/Reverse-Proxy-Server-Hosting-(China)
Hosting in Cloudflare which supports the Chinese network: https://www.cloudflare.com/network/china/
Do you know if it's possible that we keep the hosting in Azure, but Cloudflare still makes it available in China? We have a lot of user specific content behind a login so we can't do any caching or use the "Always Online" feature.
Jeroen
Hi Jeroen,
Yes it would be possible to host on Azure and let Cloudflare make the site available in China.
Cloudflare's service is all based around DNS, so after you've got the Cloudflare account, you set your domain to point at their name servers.
It is very configurable, so you can disable Always Online and caching if you need the content to be personalized.
1 thing i've found in the past, is that SignalR doesn't work behind Cloudflare, although that was a while ago, so they may of resolved that now.
I think they do free accounts (which you can upgrade later if you want), or at least used to, so you could sign up and have a look at the configuration options in their control panel.
Hope that helps.
Dan
Thanks for the information. This seems like a very nice option :-).
Good to know SignalR might have issues.
Jeroen
Does anyone know of some good tools to test how a website performs in China? WebPagetest only supports Hong Kong, but it's not behind the Great Firewall of China.
Jeroen
is working on a reply...