Drupal SaaS
Building software as a service on Drupal
Consensus Enterprises
Helping you do big things in the cloud
- DevOps processes & documentation
- Self-hosted multisite solutions & audits
- Application lifecycle management
- Continuous integration/delivery (CI/CD)
- Cloud infrastructure
- Software-as-a-service engineering
Ground Rules
- Please interrupt at any time!
- Ask questions & share knowledge
- Feel free to follow along in your own browser
- Presentation is licensed for reuse
Interested in Drupal SaaS?
How many of you are…
- considering building a SaaS product?
- currently working on a SaaS product?
- already selling a SaaS product?
- just realizing you're in the wrong room?
<span class=‘fragment '
Other interests?
Project vs. Product
- Different than development contracts
- Lots of unpaid work to build platform
- Have a plan for keeping the lights on
- Consulting? Investors? Rich relative?
- Now: Lots of development. No regular income.
- Later: Little development. Lots of regular income.
<span class=‘fragment '
…but only if you’re successful.
Drupal Hosting Companies
<span class=‘fragment '
Pros
- Outsource infrastructure
- Simplify site maintenance
<span class=‘fragment '
Cons
- Vendor lock-in
- No control over hosting costs
- No control over data centre locations
- Non-portable configuration as code
- Don't support multisite
- Costs may not scale well for many sites
Infrastructure
<span class=‘fragment '
Proprietary IaaS
- Amazon Web Services (AWS)
- Google Cloud Services (GCS)
- Microsoft Azure
<span class=‘fragment '
Open-source IaaS
- [OpenStack](https://en.wikipedia.org/wiki/OpenStack)
Infrastructure
OpenStack
- No vendor lock-in
- Often no data in & out charges
- Portable configuration as code: standard API
- Data centres in various countries
- Data portability (e.g. export & import VMs)
- More control over hosting costs
But you still need a hosting system!
Do you need to write one from scratch?
<span class=‘fragment '
No!
Why?
<span class=‘fragment '
Aegir!
Aegir Hosting System
- Designed for hosting Drupal sites
- Open source
- 10+ years!
- Web services API
…and will soon host anything
How many of you…
- Have heard of Aegir?
- Are using Aegir?
- Were using Aegir?
So you now have a hosting system…
<span class=‘fragment '
How do you integrate it with:
- e-commerce
- recurring billing
- subscription services
Adds e-commerce to the Aegir ecosystem by associating hosted sites with customer subscriptions via recurring billing. Communicates with the Aegir API over Web services.
Aegir Site Subscriptions
Process
- Customer selects a plan
- Subscription service takes payment info
- Customer's site gets provisioned
- Site gets deleted on payment failures
Aegir Site Subscriptions
Subscription Providers
Plug-ins
- [Recurly](https://www.drupal.org/project/recurly) (done)
- [Commerce Recurring Framework](https://www.drupal.org/project/commerce_recurring) (ideal, needs funding)
- Others (need funding)
Customer site issues
- [Installation profiles](https://www.drupal.org/docs/8/creating-distributions/how-to-write-a-drupal-8-installation-profile) (distros) vs. [Features](https://www.drupal.org/project/features)
- Resource quotas
- [Site Quota Enforcer](https://www.drupal.org/project/quenforcer)
- Site admin access
- User 1 vs. Owner role
- [Permissions Subset](https://www.drupal.org/project/subpermissions) (needs D8 port)
Customer Service
<span class=‘fragment '
Public-facing issue tracker
- [GitLab](https://about.gitlab.com/)'s [Service Desk](https://about.gitlab.com/features/service-desk/)
- Associates customer tickets with project issues
- Good option if already using GitLab
- Other good options?
Feedback
- Questions?
- Comments?
- Thoughts?
1.1
Drupal SaaS
Building software as a service on Drupal
Colan Schwartz