Saying "I'm not ready for PaaS" is like saying "I'm not ready to get my electricity from a hole in the wall, we want to see all the Tesla coils actually generating the electricity so we can be sure it's real electricity. We need to control how often the coils are cleaned."
Azure PaaS is just IIS without all the Windows bits accessible. If you're making a website, why do you care about the O/S hosting the web server? The world has been using PaaS web servers in the form of cPanel for an eon from every small hosting shop anywhere. This is not cutting edge stuff.
The good news is that you can build your site with almost no consideration for PaaS or Iaas (remember PaaS is just someone else's computer) as they are really just both IIS in the end. There are a few platform considerations you need to make if you plan to scale your environment, though. When you need to go to 2 instances, you need to treat it like 2 servers behind a load balancer with a shared file system (can you guess why? 'cause that's what it is). In this setup Solr is better than Lucene, Redis/Mongo session is better than InProc.
The remaining considerations (like the Sitecore "data" folder handling) should be managed through the platform itself. I haven't had a close look at 8.2.1 yet but I'm reliably informed the last few bit that caused complications have been re-engineered to cope properly. Either way, adding the {COMPUTERNAME}
into file system paths will usually suffice to keep instances from tripping over each other.
I'd suggest running your CM on a single instance though, unless you have very heavy publishing needs.
Don't forget that you can attach a debugger to a PaaS IIS just like you can with a VM. What else does the VM really give you that you can't give up? There's so many good reasons to go Paas:
- Automatic backups
- Multiple deployment slots
- Fast scaling
- No more Windows updates
- No O/S "hardening"
- Minimal attack surface
- No more infrastructure to configure and maintain
- NICs
- Firewalls / Network security groups
- Virtual networks
- Disks & disk space management
- Swap space
- Memory management
What's not to like?