SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
Decoupling Drupal
Alex De Winne
• 15 years in the industry
• Drupal since 4.7
• Founder of Therefore
• Hacker, visionary, tech enthusiast
& musician
“Build it the best way you
know how and with the best
tools available. Don’t worry
that we’re using Drupal”
What if you could say to a front-end developer:
Use Drupal more like it’s a Content
Management System and less like it’s a
Web Publishing Tool
WPT vs CMS
The goal of a Web Publishing Tool is to capture
content with the primary purpose of publishing web
pages.
The goal of any CMS should be to allow storage of
structured content and dissemination of content to any
platform, in any presentation, at any time.
Decoupling Drupal
It means making no assumptions as to where your
content will end up.
What’s required is complete separation between
the Backend Content Model and the Front-End.
It’s about seeing Drupal as a component of a
Distributed CMS rather than a Monolith Web
Publishing Tool.
Typical Drupal Architecture
Browser
Drupal
Browser
The Monolithic Stack
In the 90’s, virtually all
applications were written using
well defined stacks of services
and deployed on a single
monolithic, proprietary server.
1995
Thick, client-server app
on thick client
Well-defined stack:
• O/S
• Runtime
• Middleware
Monolithic
Physical
Infrastructure
Does this look familiar?
The Landscape
Karen says we need…
Reusable content
Structured content
Meaningful meta data
A presentation independent CMS
COPE
• NRP has been operating a decoupled CMS for over
10 years.
• NPR credits its API with increasing page views by
80%, largely because they’re able to get their
content onto a variety of mobile devices without
custom programming.
Create Once, Publish Everywhere
NPR’s COPE Architecture
CMS
Data
Entry
Static
Data
API Cache Renders
Case Study
www.niagaracruises.com
Client
Host
Twitter
Sprints 1 - 2
Discovery
Static Design & Rebuild
AODA Single A
Launch
MySQL
Blog
Authoring
Client
Host
DocPad
Static
Site
Disqus
Twitter
Sprints 3 - 4
Drupal + Services
Node + Hapi Router
Blog CMS Coverage
Heroku
Heroku
MySQL
DocPad
Static
Site
Full
CMS
Authoring
Client
Host
Disqus
Twitter
Sprint 5
80% CMS Coverage
Heroku
MySQL
DocPad
Static
Site
Client
Host
Disqus
Twitter
Sprint 6 - 7
AODA AA
French & Spanish
Translate
Full
CMS
Authoring
Heroku
MySQL
DocPad
Static
Site
CMS
Authoring
Client
Host
Disqus
Twitter
Translate
What We Learned
&
What You Can Expect to
Change When Working in a
Decoupled CMS Architecture
You’ll start to think differently
about your CMS
• You’ll start to see your CMS as a
tool content writers and content
architects like to hang out.
• Front-end developers will see it an
API to a content repository. No
longer a system that dictates which
technologies they can or can’t use.
Workflow Optimization
• Prototypes can turn into the real
thing with no extra work. Just add
API™
• Decreased dependancies allow
teams to operate more efficiently.
• Reduces the risk that a change
made within one element will
create unanticipated changes
within other elements.
Upgradeability / Interchangeability
• Swap out front-ends, keep the back-
end as is
• Add front-end publishing end points,
keep the back-end as is
• Back-end upgrades, keep the front-
end as is.
Increased Reliability and
Security
• A full stack CMS falls apart if any
component stops working properly. It’s
pretty hard to break a static website.
• Drupal can be safely hidden behind a
corporate firewall. Only the API is
required to be exposed, and optionally
restricted to only interfacing with the
static server.
Increased Scope Flexibility
In many cases it’s not a requirement to
have 100% CMS coverage.
If we’re working towards a fixed cost
project with a flexible scope, one of the
elements that could get de-prioritized is
CMS coverage.
It can always be added later.
Speed and Scalability
• Caching of the static files in memory
• Serving files from a CDN or a load
balanced configuration
• Utilizing a distributed file system to
avoid slow disk performance
bottlenecks
It doesn’t get much faster than a static site. But, when you
need even more speed here are some options:
Multi-Channel Publishing
Multi-Channel publishing becomes a
reality.
Additional projects can be seen as
extensions to the existing
infrastructure rather than a static
implementation.
Human Resources
Doors are opened to a greater
talent pool.
Front-end designers and developers
don’t need to be Drupal developers.
Can’t All Be Rainbows
and Unicorns
Challenges
Authentication and roles are
potentially more complicated to
setup.
Reusable logic patterns become
non-reusable when moved to the
front-end.
Challenges arise with X-domain
requests.
Where Can It Go From
Here?
DevOps Service Components
Redis
PaaS
S3CDN
Content Delivery
Network module
Pantheon, Aberdeen, Acquia
Amazon Cloud
File System
Caching DB
Server
External Cloud Services
Redis
Disqus
Prediction
Twilio
Hapi
Router
PaaS
S3CDN
Translate
Google
Voice API
Comments
API Based Front-End Publishing
Redis
Disqus
Prediction
Twillio
Hapi
Router
DocPad
Static
Site
iPhone App
Print
Workflow
PaaS
S3CDN
Translate
HTTP Router
HTML Site
Native App
PDF Document
Standardized Content Model
Redis
PHPCR
Storage
API
Mongo
DB
Midgard2
Hapi
Router
DocPad
Static
Site
iPhone App
Print
Workflow
Medium
PaaS
S3CDN
Disqus
Prediction
Twillio
Translate
Standardized
Storage API
JCR
Compatible
Data Store
CouchDB
Decoupled Authoring Tools
Redis
PHPCR
Storage
API
Mongo
DB
Midgard2
Hapi
Router
DocPad
Static
Site
iPhone App
Print
Workflow
Authoring
Tools
Gather
Content
Medium
PaaS
S3CDN
Custom
iPad App
Disqus
Prediction
Twillio
Translate
Redis
PHPCR
Storage
API
Mongo
DB
Midgard2
Hapi
Router
DocPad
Static
Site
iPhone App
Print
Workflow
Authoring
Tools
Gather
Content
Medium
PaaS
S3CDN
Distributed CMS based on
Best-of-Breed Components
Custom
iPad App
Disqus
Prediction
Twillio
Translate
Is this all a bunch of blue sky
dreaming?
Maybe, but check out what prismic is up to…
It features a Writing Room for content writers to author,
manage and store content, and a Content Query API for
developers to integrate managed content into any website or
app.
REST, JSON or HTML,
effective API browser,
easy to use
Comfortable content creation
experience. Addressing
content writers’ real-life
problems.
Content is API-based.
Inject it easily into new
platforms and sites.
Questions
Thank you
Links
• http://docpad.org/
• spumko.github.io/
• http://phpcr.github.io/
• http://prismic.io
• http://www.exoplatform.com/ (CMS that uses JCR)
• http://nedonosko.blogspot.ca/2009/09/jcr-based-content-
management.html
• http://www.html5rocks.com/en/tutorials/cors/

Mais conteúdo relacionado

Mais procurados

Introduction to PaaS
Introduction to PaaSIntroduction to PaaS
Introduction to PaaS
Chris Haddad
 

Mais procurados (20)

Spring in the Cloud
Spring in the CloudSpring in the Cloud
Spring in the Cloud
 
Windows on AWS
Windows on AWSWindows on AWS
Windows on AWS
 
How to migrate workloads to the google cloud platform
How to migrate workloads to the google cloud platformHow to migrate workloads to the google cloud platform
How to migrate workloads to the google cloud platform
 
Jelastic - DevOps PaaS Business with Docker Support for Service Providers
Jelastic - DevOps PaaS Business with Docker Support for Service ProvidersJelastic - DevOps PaaS Business with Docker Support for Service Providers
Jelastic - DevOps PaaS Business with Docker Support for Service Providers
 
Cloud computing 101 with amazon web service
Cloud computing 101 with amazon web serviceCloud computing 101 with amazon web service
Cloud computing 101 with amazon web service
 
Fault Tolerance with Kafka
Fault Tolerance with KafkaFault Tolerance with Kafka
Fault Tolerance with Kafka
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with Docker
 
Designing For Multicloud, CF Summit Frankfurt 2016
Designing For Multicloud, CF Summit Frankfurt 2016Designing For Multicloud, CF Summit Frankfurt 2016
Designing For Multicloud, CF Summit Frankfurt 2016
 
Cloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - PresentationCloud computing by Google Cloud Platform - Presentation
Cloud computing by Google Cloud Platform - Presentation
 
Oracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas Kurian
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Spring Into the Cloud
Spring Into the CloudSpring Into the Cloud
Spring Into the Cloud
 
SQL Server Lift & Shift on Azure - SQL Saturday 921
SQL Server Lift & Shift on Azure - SQL Saturday 921SQL Server Lift & Shift on Azure - SQL Saturday 921
SQL Server Lift & Shift on Azure - SQL Saturday 921
 
Glynn Bird – Cloudant – Building applications for success.- NoSQL matters Bar...
Glynn Bird – Cloudant – Building applications for success.- NoSQL matters Bar...Glynn Bird – Cloudant – Building applications for success.- NoSQL matters Bar...
Glynn Bird – Cloudant – Building applications for success.- NoSQL matters Bar...
 
Introduction to PaaS
Introduction to PaaSIntroduction to PaaS
Introduction to PaaS
 
Platform as a Service (PaaS)
Platform as a Service (PaaS)Platform as a Service (PaaS)
Platform as a Service (PaaS)
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
 
Intro to Apache Kafka
Intro to Apache KafkaIntro to Apache Kafka
Intro to Apache Kafka
 
SQL Server Disaster Recovery on Azure - SQL Saturday 921
SQL Server Disaster Recovery on Azure - SQL Saturday 921SQL Server Disaster Recovery on Azure - SQL Saturday 921
SQL Server Disaster Recovery on Azure - SQL Saturday 921
 

Semelhante a Decoupling Drupal - Drupal Camp Toronto 2014

Getting Started with Drupal and Acuqia
Getting Started with Drupal and AcuqiaGetting Started with Drupal and Acuqia
Getting Started with Drupal and Acuqia
Acquia
 

Semelhante a Decoupling Drupal - Drupal Camp Toronto 2014 (20)

[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
Getting Started with Drupal and Acuqia
Getting Started with Drupal and AcuqiaGetting Started with Drupal and Acuqia
Getting Started with Drupal and Acuqia
 
Drupal by Gaurav Boudh
Drupal by Gaurav BoudhDrupal by Gaurav Boudh
Drupal by Gaurav Boudh
 
Hire Drupal Developers For Your Website
Hire Drupal Developers For Your WebsiteHire Drupal Developers For Your Website
Hire Drupal Developers For Your Website
 
Hire Drupal Developers For Your Website
Hire Drupal Developers For Your WebsiteHire Drupal Developers For Your Website
Hire Drupal Developers For Your Website
 
Webinar Docker Tri Series
Webinar Docker Tri SeriesWebinar Docker Tri Series
Webinar Docker Tri Series
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Open source based container solution in Azure - May Docker Meetup
Open source based container solution in Azure - May Docker MeetupOpen source based container solution in Azure - May Docker Meetup
Open source based container solution in Azure - May Docker Meetup
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Cloud Computing basic
Cloud Computing basicCloud Computing basic
Cloud Computing basic
 
Devops interview questions 1 www.bigclasses.com
Devops interview questions  1  www.bigclasses.comDevops interview questions  1  www.bigclasses.com
Devops interview questions 1 www.bigclasses.com
 
Azure and OSS, a match made in heaven
Azure and OSS, a match made in heavenAzure and OSS, a match made in heaven
Azure and OSS, a match made in heaven
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Cloud foundry
Cloud foundryCloud foundry
Cloud foundry
 
Drupal vs sitecore comparisons
Drupal vs sitecore comparisonsDrupal vs sitecore comparisons
Drupal vs sitecore comparisons
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
 
Pat Farrell, Migrating Legacy Documentation to XML and DITA
Pat Farrell, Migrating Legacy Documentation to XML and DITAPat Farrell, Migrating Legacy Documentation to XML and DITA
Pat Farrell, Migrating Legacy Documentation to XML and DITA
 
Why drupal should power your next web project
Why drupal should power your next web projectWhy drupal should power your next web project
Why drupal should power your next web project
 
Demystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content AuthorsDemystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content Authors
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Decoupling Drupal - Drupal Camp Toronto 2014