I'm spending a lot of time with Pluralsight - actually they publish more interesting stuff than I can comprehend in my limited timeframe. Once in a while I find there a course that may not be in my (still wide, I think) area of direct interest, but ... it's either a source of inspiration / good ideas or just a redirection to something I've previously didn't find worth of my interest or simply misunderstood.
This one is a great example: "Web Applications Without a Server" by Rob Conery.
Surprised?
Honestly, I'm not much into static site generation even if stuff like Jekyll gets more popular than standard blog engines. What has amazed me is how much out-of-the-core-domain stuff has been delegated to third party components / services (in a clean, reasonably coupled way!) in this simple tutorial:
- yes, outsourcing payments is nothing new, stuff like Stripe is very well known, but ...
- ... full user management (identity, authentication, payment integration, etc.) as a service is simply a game changer - UserApp (it's much, much more than a simple identity provider service)
- ... so is full shopping cart automation with stuff like Snipcart
- just mix it with one of several ways to distribute (deliver) your (digital) products like SendOwl (presented in the course) or Gumroad (service I personally use for some time already) ...
- ... & integrate them all together in coherent, meaningful processes / workflows with service connector like Zapier
On one hand, what you get can be still (most likely) achievable with a one-stop-shop like
Shopify, but my point here is not about creating simple, tutorial style shop - Rob's course proves that if one has a great idea, something people may be actually willing to pay for, it's possible to focus on the core sole, core domain -> something that's a key, special ingredient of your idea, responsible for delivering unique or just the best value, while non-core, auxiliary services (that still have to be present to make whole thing running) can be fully outsourced outside.
It's absolutely amazing, not only because it reduces time to market & general threshold to enter this market significantly - finally you don't have to build (& support! don't forget about support & maintenance) tons of generic services on your own, you just created whatever you imagine with pre-made building blocks instead), what is more:
- many of this bricks are charged pay-as-you-go to help you during the start & proper scaling of your business (less up front investment, your operating costs grow with your business / income)
- entities (companies / service providers) do (& are accountable for) what they are the best with (their core domain) - identity providers do just that, payment service providers do just that, content deliver providers do just that, etc.
That's how the idea of componentization in business solutions finally becomes true.
Some may have an issue with that model -> they entrust their data to particular vendor (you), but they may end somewhere else / serviced by someone else (& user will learn about that when he reads carefully the very last paragraph in licensing agreement ...) - personally I still find it better than having your data multiplied & scattered through zillion of Magento on-premise instances that are never being updated ...
Pic: © destina - Fotolia.com