Aloha. Happy Holidays. I hope this is the correct...
# cfml-general
n
Aloha. Happy Holidays. I hope this is the correct channel for this question. We have a client who wants to host a CF app in Canada. It has to be hosted in Canada. Our hosting provider is US based. Has anyone had good experiences with a CA based CF host. This would be for ACF, MS IIS web server, and MS SQL Server db.
s
Not CF specific but DigitalOcean has a Toronto data center. A bit tricky to get Windows on their droplets but possible (we did it before migrating off of Windows). I'm sure AWS does too
n
@sknowlton This client has an AWS account now in Canada. But, we haven't worked in that environment before and it seems like it might be overkill or expensive. That said, have you worked on CF apps in AWS? Is it difficult?
s
We don't use AWS but we do use DigitalOcean. If you're used a CF-specific host where everything is set up for you then yes, it's a significant shift, but ultimately it's more cost effective and while it's work, I wouldn't say it's difficult. We moved to DigitalOcean in 2018 and love it. They're both just giving you resources that you have to configure on your own, though, so your own licenses, etc. It's obviously going to be expensive to duplicate an entire tech stack, but if your hosting provider is off limits, that's what they're asking for
n
Well, they are saying that they could add ACF, MS IIS, and MS SQL server to their AWS deployment, and then we'd use that. Assuming they could, I don't know how similar it would be to our current (non-aws) environment. We'd need to hire an AWS consultant most likely.
s
Probably not very similar
Depends on who you have on staff who wants to get their hands dirty with devops
A CF app deployment and database is not super complicated with AWS or DO but if everyone in your shop is a CF developer used to dealing with CF hosts who do all that stuff for you, yeah, that's a jump
n
I'm glad to hear that it's not too huge of a jump, but still, that's an adventure that would require us to set aside some substantial resources, I think. So, I guess it's something that we'd need to think about.
s
Depending on what your other business(es) are, it may be worthwhile anyway Digitalocean costs us less than our 'regular' host did before (although it wasn't CF specific, it was windows servers) and it was an initial investment for one person in our shop -- me -- to familiarize myself with running a stack entirely on Linux, although you could keep Windows in IIS or DO if you really wanted to Everything also 'just works' now in a way we used to have to spend a significant amount of time putting out fires. Commandbox + CFML & MS SQL on Linux, best choice we ever made
but also, I guess don't fix what aint broke
n
right, that's the direction we'd like to go in, but all require significant resources. In that stack you mention, you stuck with MS SQL, which can be pricey. Why not move to MySQL or some other free-ish db?
q
I did a user group presentation last year about taking your apps and containerizing them for use by DO or AWS.

https://www.youtube.com/watch?v=fYQ-BBKir7Q

👍 1
s
It's not super expensive for our purposes, but on a greenfield app I probably wouldn't choose it today. We've been in business for 20 years though so our main app started out on MSSQL and it'd be tough to switch
q
But I've migrated just about all of my customers to AWS/Azure in that world.
n
@sknowlton yes, that's our situation too
@quetwo thanks!!! I will check it out.
q
For about 80% of the apps I've had to deal with, it's not as much of a lift as you might think. Where things go sideways is when people relied on doing things like cfexecute and some of those "server specific" tasks which take some time to re-jigger. Otherwise, all the major cfquery/disk stuff is easy enough to copy/replace and test.
But for most of my small-medium sized sites, you can throw those onto containers that cost between $10-$15 + the cost of the DB of your choosing.
n
@quetwo ok, thanks for that. I have been into their AWS account and poked around. It's obviously very different from logging into a server and CF and MS are right there. But, maybe they just need to be installed in AWS for it to start looking more familiar. Watching your presentation right now.
$10-$15/mth?
q
yup.
Running this stuff in containers is a very different mindset than what most CF admins do. And for some folks, it takes a while to go through the process of "this is how I used to do it", but when you get your head around it, it is very predictable and repeatable. In this last year, I've had 0 deployment failures (I think I can safely say that now we are at the end of the year). We used to have quite a few because of missing settings, files not zipped up right, inconsistent parameters or weird OS/runtime issues between versions. Plus downtime between upgrades.
n
@quetwo are there volume based pricing considerations? If the app includes a website and googlebot or similar hits it all day long, does that drive up costs on AWS?
q
It's based on bandwidth. Something like the first 750GB/month of transfer is free, and they charge pennies after that.
One of the apps I help run is a connector for 911/emergency data for our county. That app has about a million entries that gets refreshed every 10 minutes. We've not had any overages on that.
n
ok
so not too bad re: bandwidth fees
s
here's DO: https://www.digitalocean.com/pricing/droplets -- the $10/$15 mo. range will run a small CF app, we use a memory-optimized droplet for ours. bandwidth never goes above what's included.
q
Not really. If you are serving, lets say 1GB files to the world, I might worry some. But AWS, DO and RackSpace are all way up there before you start getting hit with any substantive bandwidth fees.
n
@sknowlton Just looking at the DO pricing, it sounds like you are saying that we could possibly run ACF, MS IIS, and MS SQL server there?
s
We have a 32 GB droplet for our DB that needs half of that. We run MSSQL on linux. We have another workhorse droplet for our big CFML (Lucee) app and a few other containers like redis, an smtp server, maybe one other thing. NGINX runs on a 4 GB droplet
So the whole stack is 3-4 droplets, two significant ones, two tiny ones
with the ability to scale up the cfml one as needed
n
@sknowlton Can they also run ACF? We haven't really tested on Lucee yet.
I can always ask them but you seem to know a lot of details - don't want to waste too much of your time with dumb questions
s
'they' don't run anything, they give you the droplet and you run whatever you want on it
q
When you start to go down the path of using containers/droplets, you own the whole stack. You no longer really can go to the hosting provider and ask questions on how they have things setup because you are the one who set it up.
s
We also haven't had to ask Digitalocean for anything the whole time we've been with them
Downtime tends to be a few seconds at 2 AM once a year