Submind YouTube summaries
Thumbnail for Drupal SaaS: Building software as a service on Drupal

Drupal SaaS: Building software as a service on Drupal

Watch on YouTube

Video summary

The video introduces the concept of building Software as a Service (SaaS) platforms using Drupal, presented by an enterprise cloud architect and core maintainer with over a decade of experience in the ecosystem. The speaker outlines the fundamental differences between traditional project-based consulting and developing a SaaS product, emphasizing that the latter requires significant upfront investment and careful financial planning to sustain operations before recurring revenue begins. A key challenge discussed is vendor lock-in associated with proprietary hosting solutions, which often restrict data portability, limit control over infrastructure costs, and fail to support multi-site deployments efficiently. To mitigate these issues, the presentation advocates for open-source infrastructure like OpenStack, which allows for greater flexibility in data center location, easier migration between providers, and avoidance of expensive egress fees common in cloud environments like AWS. Central to the proposed SaaS architecture is Agari, an open-source platform-as-a-service tool designed to automate the provisioning, management, and scaling of Drupal sites. The speaker explains how Agari functions as a bridge between infrastructure and applications, allowing users to spin up new sites with a single click while managing updates, backups, and resource quotas centrally. The talk highlights the evolution from Drush-based provisioning to Ansible-driven workflows in newer versions of Agari, offering a technology-agnostic approach that supports various web servers and databases. Furthermore, the presentation introduces "Site Subscription," a module that integrates Drupal with payment gateways like Recurly or Stripe to handle recurring billing and dunning processes, enabling customers to subscribe directly from a dashboard while maintaining strict control over site access and permissions. To ensure security and scalability in a multi-tenant environment, the speaker details strategies for managing resource quotas and user roles, preventing customers from inadvertently modifying core system configurations or consuming excessive resources. The architecture supports distinct permission sets where site owners have limited administrative rights compared to super users, ensuring that clients cannot disable critical modules like code enforcers. Customer support is addressed through open-source issue trackers like GitLab, which can be integrated with email systems to manage tickets effectively. The session concludes by stressing the importance of community contributions and funding for advancing features such as native Drupal 8/9 support and enhanced CI/CD integration, ultimately aiming to create a robust, customizable framework that empowers organizations to deliver secure, scalable Drupal services without being constrained by proprietary limitations.
Read the full video transcript
this is Drupal sass building software as a service on Drupal the Drupal North 2019 so just introduce myself I'm an enterprise cloud architect that is like dude Drupal eager South Pass app I ask consulting all that kind of stuff I won't explain what those are cuz that'll take half an hour yeah use Wikipedia it's great so I've been on Google that org for thirteen years was Colin C L am I maintain over 40 modules not all of them actively because I know that could be a question I worked on the first release of vines how about gcta which is the Government of Canada procurement portal so a lot of your company should probably try to you know thanks for that yeah so that's so that's like anyway yeah so much alike flickering just try and pretend it's not I guess so near that site it's a cubed portal for Government of Canada a lot of your companies probably try to get government contracts you laugh does I think the first big drupal implementation in the federal government so work on that i'm a google Summer of Code mentor have been for various data encryption projects in useful to a bunch of client-side encryption and server-side encryption projects and I measured students for she's gonna need I'm a core maintainer have an acre hosting system which you can't hear in that to the speech but if anybody knows any of the media people feel free to gobbling or ping them or something cuz I don't know what's going on here I believe everything plugged in so I'll just ignore that all right so I'm the founding partner of consensus enterprises which is my new firm I have with some other folks we do a budget and things generically helping we do big things in the cloud DevOps processes documentation self hosted multi-site solutions audits site audit Application Lifecycle and continuous integration and delivery cloud infrastructure architecture and software the first engineering that's pretty much what we do some ground rules for this talk interrupt me at any time it's kind of an open source thing jump in and have your feedback ask questions all that kind of stuff you can actually follow along on the website if you want I'm assuming that site works that's my missus so I'm actually using accessing that now attach the Hugo's the static site generator waves to this so it's up there and so a lot of the slides you're going to see some of these things I'm talking about they're actually lates they're orange for those of you that aren't colorblind so feel free to yeah if you want to go there you can click on things if you want to go off and you know check out I'm certainly something I'm talking about so C to do that I've got a Creative Commons license so you can reuse some of this stuff if you want all right so how many of you are considering building it's not product anybody here one two couple well currently working on a SAS product so that's a good number that's four five great and anybody already solving one does anyone have one introduction not yet because they already know what they're doing they need to come here okay okay how are you did anyone you guys are supposed to be somewhere else in the Running Room okay excellent yeah so anybody um are there any other interesting soft require please distributions right right so dooba multi-site basically how you can run a bunch of sites together great any other yeah actually I we're doing some work for other partners so let's talk after I can tell you what we're doing yeah great cool so excellent so it's like the business aspects you have a product it's a bit different than a project so normally with you know website project you but it work you get paid you do another one you get paid if you're building a product there's a lot takes a lot more time to build something like that with a subscription model so it's different than developing contracts if you can imagine you don't you don't really get paid up front like you have to do it what would you work before money can start coming in so there's there's a you know a lot of unpaid work to get your platform built I so need to have a plan for keeping the lights on getting paid that kind of thing so what we're doing like we've actually we're actually you know working on some SAS products as well as doing consulting and we're trying to bootstrap it like funding from our consulting work now that obviously is not as fast as finding a venture capitalist or you know having a rich uncle or you know that kind of thing investors so these are just things you know you have to think about when you're when you're working on the business aspects obviously you're not all here for that but that's something to keep in mind for that use case right so like I said lots of development you may not get regular income for this type of thing yeah so it's you know money should come in if you can sell it right I mean that's what it's all about right great so let's talk a little bit about hosting now so they're a bunch of Drupal hosting companies which have some pros right so you can outsource great infrastructure you have to worry about any of that simplify site maintenance that's often done for you enough some of them either click a button you get the latest you know version of Drupal core that's great there's some cons though so vendor lock-in like you're generally stuck with a particular vendor might not always be easy to export and import somewhere else especially if you've written you know infrastructure is code that kind of thing that's not portable you don't have control over hosting cost so if you get locked in somewhere and the prices start skyrocketing what do you do right so let's think about a datacenter location so this is initially in Canada because of privacy laws for Americans it's not I guess too big of a deal but here so you don't know I mean yeah you might have control over datacenters right so if you go with one of the Drupal hosting companies usually you don't get to choose what country that's in right so I know with in Canada there gonna be times when you want you need your customer data needs to be not necessarily in Canada but you know you your users need to consent to whatever you do with that data and that won't work in the States generally because other government can get access to any data at any time and you don't even know that that's happening and users can connect to it and so you might want to think about you know having where you want to clean your datacenters so configuration is code so this is using tools like you know ansible chef puppet salt these kind of things where you know you use your code to as infrastructure to spit up the ends that kind of thing if it's if that's written for a particular vendor and you know you might get locked into that not great so what a lot of these companies they don't support multi-site and that's actually very explicitly and I'm not sure why it is but that's way it is and so like we started talking about it you imagine you know you just and you might want to run multiple fight and have a whole bunch of sites using the same code base a lot of the vendors don't don't support that or at least to do pollution companies so and also costly to not they're going to think about it so cost per site a lot of these companies will charge you say 59 per site so if you got 200 and the same code base your thanks for 200 sites where I suppose you know you you would want it to scale the more sites you have the cheaper it gets but it doesn't work that way with these folks unfortunately so infrastructure so there's proprietary infrastructure the service and by that I mean things like Amazon Web Services Google cloud services Microsoft Azure these are the things that are very popular now but again its proprietary it's not open source so OpenStack is sort of the IIF implementation that one some other options were ganodi which is a Google thing and cloud stack but OpenStack sleeps is sort of taken over now because I think Rackspace will we put a lot of effort into that so ya know vendor lock-in it's open source you can you know take it and you can install it on your own infrastructure your own datacenter if you wanna say you know you're in the government you're in a big company you don't want to go externally OpenStack is that's the big one now like I was saying so there are a lot of different hosting companies running OpenStack so you know where you'd normally you know you can go to every US or GCS they're companies that are running OpenStack and you just like any other must accompany you just pay them and it's running I'm looking stack and just do what you have to do spin up the end is that kind of thing a lot of so we're just several OpenStack with some companies and they often don't have data in and out charges so like with AWS I don't know many of you know but the law student you pay a lot of getting your data uploading your data getting it out of that kind of thing and that can be very expensive so it's a bunch of these companies the ones I've worked with at least they family turn you for storage which is great so you can save a lot of money like if you people uploading things downloading things that sort of thing your configuration is code again that would be non-taxable code that kind of thing that is a standard API for OpenStack so if you want to switch vendors it doesn't matter you can reuse that on any other open sex offender if they jack up the price you look somewhere else for as as opposed to say you can't switch from AWS they actually write usually if I your code is written for those API so something to watch out for data centers in various countries so there's actually it's gonna be open side on top of URL in front of me but if you can search for an openstack marketplace on the website you actually you can search by country by service for OpenStack providers so now have different services database in the service VM is whatever that kind of thing yeah data portability so like I said switching beam vendors you can here III infrastructure as codes right I see you can move that between vendors easily you can also do the same with your data not just your code seeing export your VM is from some company and it import them into another company that's running OpenStack which is great more control over hosting costs right so again you know you have various companies to choose from but now let's talk hosting system right the platform as a service I guess do you need to write one from scratch and you know so we've got some software that does that there's something called Haggar which you may or may not have heard of has anyone heard of ager and know about it I see a lot of hands anyone not heard of it one - okay so it's it was originally written to host and manage provision Drupal sites so the I think they loved that anniversary just went by it's been around a long time it's so it's open source it's yeah like I said ten plus years right so it's got a web services API so it can do a lot of things soon the legal hooks anything so eager three is stable right now so eager five which is currently in development which some of us were working on that the ideal is to replace the provision error so it's been historically it's been drudge which works great for to bolt but for everything else so we're actually replacing drush financeable so it should be able to provision anything so any kind of thing you want to host you should be able to do with a core 5 which is great I don't want to talk too much about that but that's where it's going good to know and all right so I did this already all right anybody using in here no just me I know you were right cool so so that's the hosting system so what that is is that that gives you sort of the backend hosting infrastructure running so you would sort of you know tell that ok I need a new site it would spin one up I want to take one down I want to upgrade my site I want to run backups on a site all that kind of stuff so often you would want in to integrate that with e-commerce you know how do you get your clients to pay if that's a thing for you your recurring billing right you have subscriptions how's that gonna work hey so so there's a mantra that I've been working on the last couple years when I have time and it's called your site subscription so that's a link so it's a drupal.org module and so that at the e-commerce to the aviary ecosystem by associating hosted sites with customer subscriptions via recurring billing there communicates with a great VI over web services so let's say you had a Drupal 8 site how that was you know your customer facing dashboard your marketing site clients would you know the customers would create an account there they would they would pick the plan they wanted they would you know enter the credit card number all that stuff you know they hit go and then you know you send a message to your back then you say yes pick up the safe to these folks or if they stop paying their credit card sales eventually then you can just delete it or if you don't want to be that mean you can keep it around again sorry subscribe it yeah that's probably safer depends on your policy right so I'm going to think about definitely so yeah I talked a little bit about this you like to plan I can you know provide your payment info provisioning the site you know can get deleted later you can keep it send it to them if they finally do pay you if not don't I guess so the way it works it's sort of it acts as a plugin manager right so it allows you to yeah okay so it allows you to choose different subscription providers so the big one that works with now that was sort of the reference implementation that I got working with is McCurley I don't know who's heard of that or not but it basically allows you to manage subscriptions online so whether you want to use PayPal or stripe or anything like that to actually do the payment processing or curly would ship between you and knows how to sort of handle the recurring billing the Dunning Dunning is basically how to handle what happens when a customer's credit card sales like you send them emails how many times you try before giving up that kind of thing so that's a dummy process yeah exactly so yeah so we're truely's done so that's great pretty much there's a prototype up and running you know more a lot more people to try and test it that kind of stuff come as your current framework so promises basis for those who don't know it's sort of the big a commerce framework in Drupal so there's a they've got a plugin called the Commerce recurring framework which tries to do a lot of that subscriptions management stuff within Drupal so that you don't need a third-party service because if you using standard currently you need to pay your payment processor they take a cut like stripe or PayPal thing Recurly takes a Kaiba plus his fee right and they need everything else in Drupal if you can do you know the subscription stuff in Drupal Drupal handles the dining subscriptions all that kind of stuff and you know you can cut down one service provider which is great that's not done yet so I'd like to work on that but I need funding so I'm not working that there's nobody's paying me right now be great to get that done at some point and there are many other options and tons of these providers and you know we lucked out I'd support for that eventually I have some things to think about it so this is a place more generally you know outside of the business use case can be applicable for government is you know how do you want to handle installation profiles which in Drupal is sort of you know different you know pre-configured versions of Drupal so you can have or yeah distributions installation profiles we kind of use those interchangeably so you can you know you can have sort of base a base configuration that can apply across all your platforms which is a curse peak for a duplicate base so you have a standard code base you can have different ones for different use cases now within each one or within multiple there's the features module in Drupal which lets you basically package configuration and we use that in different places so you could have saved set of having say multiple installation profile the district you could have one with like a common kernel and then use the features module to turn on different features within different use cases using the same installation profile so that's these are some things to think about resource quotas so one thing you may want to think about whether you're in government or private sector or whatever is well you don't want your customers to you know upload ticket clouds of data that you know you know flow through your infrastructure right so resource kotas is a thing to worry about I do have a module called site quota enforcer which right now what that does is it's a framework to have different quotas for different things but right now it cuts off your you can't have more users if you have your limit so the user quota and is a storage quota so you can set whatever you want that to be and your clients when they're using their sites they won't be able to pass that to try to add new content you'll get a nice ever meant to take sorryyou you're on a disk space basically contact your administrator bit different from a normal you know you build a site you headed up your client there the owner that kind of thing with that it works a little bit differently you typically want I guess sort of the posted company say if I've got a stops probably I'm song it to you I would be you know user one the super user on the site so I could do admit things from modules on turn them off but the site owner which isn't a great term but it kind of works would be your customer and that's subscribing subscribing to the site because you're providing it to her right so you'd want that person not to have full access to the site but some access so you have to think about things like and I was tricking the permissions you don't want you don't want your customers to go and turn on modules and turn them off they turn off your code enforcer module and then they can do it everything long right so so yeah user 1 versus owner role yeah she user want to do everything in duple so you would want probably want your customers to be user 2 and then they can delegate down from there create their own users a permission subset will pick them you know the big permissions page in Drupal and trick that to whatever you want and you can give that to your customers and then they can delegate a subset of permissions which i think is a much safer way to do it so the story with that is it's there for Drupal 7 but there's no Drupal 8 for it yet so that's another thing that would need to get done for this for this type of thing all right customer service so you know you obviously need to interact with your clients and some fashion club started providing them with the service so you know you you want a public facing issue tracker get loud have something called service desk you know everyone knows get loud for the kid hobbs for hosting code they have a service desk feature which lets you turn like emails into in particular issues that's one option there are various tools to do that that's i won't go into that too much because you know just trying to touch on these issues things to think about right yeah if you already using it loud this might not be a bad option most people are so I don't know if it's a bit of an aside but when when it was an ounce of Microsoft bought github I get loud comm actually went down because everyone's trying to move this stuff over so the gay lab actually has more features than github right now so it's getting it's getting more popular it's open source you can run it yourself release the community edition and so that's that's why it's fairly popular is any yeah anyone else have a thought about this today would it would have some good thing to do for customer service saga buddy I'm not really arty arty yeah okay so that that's like a big surprise like that's a bit around a long time a standard tool right do you open source email ticket tracking open sourcing email to track okay so just email right but it's something pretty good okay so our teens another option kitchener I think it's probably I have heard of that want to mention it so that's that's sort of the you know a little bit of a summary of all these things to think about when dealing with these kinds of issues in the Drupal ecosystem so yeah I mean I'd love to you keep talking about this we saw some time so yeah any feedbacks and questions thoughts comments you know let's let's talk about it yeah rolls OpenStack versus Pierre with hard deploys and restaurateurs it in the sack yeah so that's a good question so what I should have had was in architecture like technical architecture diagram I'll do that next time um near infrastructure-as-a-service would be things like you know OpenStack which you know you can either go with a company or you can run it yourself in your own data center on your own hardware so that's the infrastructure that would be you know in the same classes you know it's it's open stager AWS or as your digitalocean any of these services right that's all infrastructure whether it's virtual or not right and of course you can just run it on hardware and not have the virtual aspect so then I guess the platform so that kind of [ __ ] at the bottom layer right your infrastructure then your sort of platform layer would be basically agar right because that is not infrastructure but it's not the actual application that the users are running into but it it's a platform that provides the software the it hosts the software service that you care about that your clients care about then we install [Music] right so you so you would say go and take a ger and install that on a VM at digitalocean or you know AWS or whatever right so that's your platform so do you know the platform sits on the infrastructure you know you install it you can you know Edgar is pretty easy to install nowadays it's you know co-opted installing your three for example but you know depends on the setup your app that would just give you the default installation so yeah the platform you know behavior and then that would host the sites that the clients interact yeah so there's actually so negative three which is stable now they're a bunch of modules to do that I think there's a good cloud so they knew they can actually spin up GM's another um we're actually looking at when you go five which is enough yeah that'll happen much more natively right so you're willing to click on you know I want to spin up you know this this whole system with a load balancer to web heads and database and that's running a glare cluster and all this kind of stuff so um that was a mighty just spin up the next one so now we're kind of we've got some modules to kind of do it but it's not really Clerk so yeah but you can do that typically the way the way you take her now negative three is you would create a server however you would normally do it manually or you know we go and digitalocean click on all one two VMs one two database then what you do with you tell your where your servers are that's how it works more so you would say okay I wanna you know click on servers AB server okay you know here's the don't use you know domain Pssht that kind of stuff right so then once a cur knows about it you can provision sites on to provision the platform on to that server and on provision sites on to that platform and buy a platform in this context I mean like a Drupal code base so that's that's determine your users fruit so it's basically a Jibo code base without the site's directory so that's an eager platform so when you install sites on to a [ __ ] platform it's just creating a site director you're sticking it in the platform where in the code base right so that's yes your question yeah so like if you just run if you just run like pseudo map install it you're three it'll pull in PHP and by default patch me and my sequel but you know you can run Maria vbe or you can run nginx so I like nginx so you can attach it to default doctor [ __ ] damn I'm gonna save it with consensus they were calling new to this community high also mentioned do you want to mention where we're going to save your policy yeah please I do want to come up I don't know if they can hear you for the mic but just follow up on the answer to the question nice to see everybody so what we're what we're working on this kind of the next step which is so a really key thing to understand to those of you who don't know what a verb is exactly without having an architecture diagram here is that it's just a drupal application itself it just happens to be one that knows how to manipulate other people applications so what's nice about that is you get that sort of warm funky I know how to use this thing cooling if you're a group or person especially if you're familiar with brush right now that's kind of the basis for creative three however in the move towards 805 what we're doing is we're swapping out all the dress stuff with ansible and the nice thing about that is that ansible is much more platform and technology agnostic in all directions and also it's so extensible even that it's sensible and so what you can what we're working on right now is a generic way to have an ansible role that's going to be what's called an eager policy that basically just says is this sort of inspect your question I think that for this particular install of Iger we're going to be using engine ask versus a passion right so anything that's not the standard of your based config that comes out of what you would get today from the dead package let's say anything you would want any different you'll be able to package that as an eager as am as an ansible roll of your own and then you just use it you just have it as a dependency within the whatever role you're using to install bigger itself you know from another financeable you know I want these modules easy enabled maybe you want the remote site import stuff that you know allows you to move sites or to copy sites deploy sites from one acre installation to another one so that's useful for things like migrating clothes from let's say dev QA production right so there's all these different modules within your they can do that stuff whereas in production you know you might want it very stripped down closed down version of eager running that doesn't expose a lot of stuff or you may or just has a lower resource footprint so the key so far a lot of that kind configurability will be available within this kind of this interval role yeah certainly growth roles in Hanceville defined variables so one can be web server and the default might be Apache but you can change it and say oh now on enterprise so they'll be it'll be a lot more customizable and it'll also allow you so we're working on ways to support new merchant zones so we already support p8 today with an eager and we're gonna be having support for other stuff as well so yeah yeah that's exciting I think remembers the L get your policy role is not on our public facing the elaborate boat yet yeah just add to that like exit both ELISA don't know it's a command-line tool so you can tell you know on the command line you can type you know I want a provision you know these VM is that this you know listing company what so when a gives you it's sort of like a web signed end to that so the whole idea is just to backup way back Aker is basically a web front-end for DevOps so if you're using a ger you don't have to do any command line DevOps anymore like you you know in the old days you'd have to do you know drush SQL sync you know you dump your database in production update your Devon staging hagar gets you don't have to do that anymore that's that's gone because you just point click from the web front-end so it's basically two components there's a front-end Drupal site which is your point-and-click interface and then drush some bunch of custom drush commands which are your back-end provisioning system so it's also a queue so you do something in the front-end it adds a top to the queue and they're like it's provision by Josh right so in the future that will be ansible which means it can only do jubilee things that can do anything that's a booking provision whatever you want you know there's a need o say you could have an ahjumma you have a something else that Jesus tom cat doesn't matter so this is really gonna be breaking open it's worth much more yeah you could get a Goethe provision taker [Music] yeah I mean so would you wouldn't here itself isn't going to provide that right you would have whatever Travis or Circle C is but a yer it's always I mean from day one it had hooks into the like API hooks just as Drupal always had so at any point you can out like before your provisions of site there's a hook I think a hook treat provision site and you know you implement that in your custom module and you can sell it before it install a site go and do this other thing and you can say after a site is installed I want to do something so their hooks throughout the system in eager that was the oldacre and the new one obviously we're gonna do the same thing just people want to be able to do whatever they want with the system so you know you can definitely hook in your whole CI testing suite whatever you want and you can say on provisioning like pre pre site provisioning or post afterwards you can say okay run all these tests if any of them fail consider the process of fail and roll back so anchor 3 now when you try to upgrade a site and it fails it just rolls back to where it was before you don't lose anything so that's a really cool feature of it yeah right yeah so you do some staging environment for example like you know I mean that's another talk but for deaf staging probably naked you'd have three ignorances you have your debit or your staging of your product or and you know you do that kind of stuff on staging I guess right and then you know to when you move sites around there's a remote import module and you can just move sites 14-acre environments like one acre can polling sites from another one and that's how you handle the whole you know a deployment def staging pod yeah they all yeah exactly so it's all the way and that's done in a really secure way uses SSH keys so there's no funny business with Web Services and OAuth or any odd nonsense it just SSH keys yeah you set that up in the backend and on the front end to make you talk to each other I mean I mean the main goal were they here is to make stuff maybe easy stuff easy when you want it to be easy and straightforward but to also allow you to get as far into the weeds of customization and extension as you want again so we're trying to yeah like this plugin was an easy pot and then but it's also mr. Logan figure with all these tools not policy right so here's a bunch of stuff instead of having to write a bunch of scripts to you know do your DevOps we provide you know that's provided but it doesn't set policy for you whatever you decide what your policy is then you can figure a taker to do that right and so on we're gonna do that in it you're fine right so yeah are there any other means yeah sorry I was gonna go eager yeah it's just not what we meant to do yeah yeah coming up welcome back to you so yeah I mean like the most open scores yeah because I was just about to say so look normal over the church project it's whenever it's ready now whatever it's ready is determined by several factors including funding right so if we have you know clients or partners or folks who wanted it out and they provided funding for us or not funding but they provide code like you know you can either provide code or funding or whatever then it'll move along faster right the more help we have for testing exactly so you know funding code testing documentation that's a big thing right so we're we're very poor documentation so if folks are interested helping with that in various ways you know it'll get done faster right but figure 3 is stable now in the works if you're bold and actually there's some plug-ins for WordPress and suic around because we're tricking a gird that thinking it's Drupal when it's not and that's why it works it was written a long time yeah absolutely so so that's typically we didn't like for our clients they're like we're we're hosting anger for them or are helping them manage their own anger where we said if we installed it typically we'd have one platform called you know say Drupal 7 you know I had a time stamp right and so all the Drupal 7 sites will be there hosted on that one code base say for example you know they've got they're using different modules but they don't all have to be turned on for every site you know it sounds like we we needed to be here talk where we actually runs your way it seems like yeah sorry I'm a dancer but yeah there's it's check it out I mean we're not it's not a product of ours it is just it opens we happen to have a couple of four maintainer is in our team there are other coordinators in other parts of the Drupal community who also contribute and like my company on that later we're very happy to have more folks contribute because the most more folks that I can connect it better it's gonna get and a broader set of needs know what I'm digging it for that's a good question so that's the same kind of question is what happened to PHP fine mm-hmm no deep thick sorry so yeah it's kind of a long story but it's kind of like you know someone someone started going on that and kind of went a different direction and some other folks wanted to go in and that that's sort of I guess the short answer is that's not a bad solution temporarily it's it's changing a few things but we thought well let's rewrite though is the problem with ager it's got code still from peach before when it was I think like way back right so this is early days of Drupal so what what you know eager for was doing was there's replacing the backend with like doing Symphony stuff right which is great Tripoli's doing that but the front end is still just triple7 right so we're like well like let's start over the hopefully Drupal 8 you know we've got new API is we can do you know web services rest or natively all this kind of stuff so a long term dating yeah so it's kind of like like you know there's AG reform but it's there's basically one person working on it right so they go five there's a lot more interest or a few more of us looking as doing that it's a clean slate kind of starting over and yeah yeah yeah yeah sure so we talked about soothing effects right we've been enlisted and everything but we haven't touched development and the source control so it's one thing to have one site with let's see one repository bit do you have a different approach you recommend for yeah I mean the way the way these kind of things scale is if you have one code base and everybody is using it so the magic to make that work is Drupal multi-site like the fact they took the course supports multi-site that's what makes this possible if you have 200 customers they were running on you know shared code base and you know a girl lets you upgrade all of them at one to the Bundestag like you if so it depends on what you're aiming to do if they think about how you want use it in the future yeah you'd probably have a private repo with bigger customizations favoring or installation or facts like that that's meant and effective we're noticing that pattern of doing it that way over and over again was what led us to build this idea meeting the policy that's going to be something that any that and we're gonna release it generically and then hopefully customize that locally as much as they want to but that would then become something that you can use to install eager to the way you three bills and then what's nice if you can actually have multiple eager policies depending on so for example if you have five different clients and they actually have different needs in terms of a lot of the stuff we were talking about before you can customize it with the use of a different policy for each client that's saying yeah like for example by default bigger like eager takes over your web server configuration so by default it doesn't let you about blood users upload files more than like two Meg's two megabytes right so usually the first thing I do I do I'm most eager projects is okay you know a custom maker module and I like change that to like five or ten there whatever the client needs right so that's a small example but like I said you know you can write modules to change any part of the config or whatever it's doing it's just you know it's a framework right just like Drupal is a framework so this isn't you know it's a framework right so same idea yeah so I was thinking you get some of those movies you really intimately related to your SATs or so exactly right and that's where you'd have custom private Magni yeah yeah just like you know for Drupal sites you usually gonna have a custom module for that you know it's got its own theme and this kind of so same scene with the platform level right I'm never seeing it it's new so we may want to continue this conversation over lunch do we haven't told the 12 o'clock oh yeah it's all over times noon yeah ok thanks everyone yeah please come about the top [Applause]