Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
DeCoupling Drupal
Aimee Maree Forsstrom
Software Engineer – Advocate
@aimee_maree aimee@linux.com
What is DeCoupled Drupal...
Who am I
Aimee Maree Forsstrom
Software Engineer – Drupal Community Member since 2008
@aimee_maree aimee@linux.com
Worked ...
Agenda
What is Decoupled Drupal
Traditional CMS technology stack
Decoupled CMS technology stack
Advantages of Decoupling
T...
Traditional CMS
Backend
CMS
Frontend
Content is King
Decoupled CMS
Frontend
CMS
Backend
Partial Decoupled
Frontend
CMS
Backend Frontend
Angular
Modern Pace
Front end moves faster then CMS Development can
Drupal Frontends can be messy and hard to hire
people who can ...
Front End 2005
Front End 2015
Technology Stack
CMS Backend
Content Database
PHP facilitates Data
.json .xml
JS receives data
Generates HTML
Web Services
Decoupling is achieved by enabling a Restful API
Content is output as .json or .xml
For Drupal you can enable...
Targeted Apps
Content
Xbox
Feeds
Smart
TV
Web
Mobile
Wearable
Microservices
Traditional CMS wants to deliver HTML
HTML is not good for custom Apps to consume
Drupal only provides the l...
Rapid Adaptation
Front end is typically where the most rapid
changes need to take place
By decoupling the backend the fron...
Advantages
Enables the CMS to be broken into Microservices
CMS Does what it is good at managing complex
content models
Con...
Legacy Workflow
New CMS Version Upgrade Version Upgrade
New Design Re-Design Re-Design
Drupal 6.x
2008
Drupal 7.x
2011
Dru...
New Workflow
New CMS
New Design Re-Design Re-Design
Drupal X.x
20XX
Re-Design
Management
Separation of Frontend and Backend
Enables separate smaller Development Teams
Each Team have their own repo and...
Version Control
CMS backend components can be stored in a
separate git repo that is connected and updated
via the main Dru...
From this
Your Companies
Version Control Server
One Repo
Drupal core
Custom Drupal Modules
Frontend Template
Drupal
Projec...
To this
Your Companies
Version Control Server
Many Repo's
Drupal core Repo
Frontend
Repo
Mobile App
Repo
Drupal
Project
Re...
Separation
Frontend Development happens at a rapid rate
Web App and Frontend development can take place
without the need t...
Workflow Changes
Frontend
Developers
Backend
Developers
API
Components
Enables Backend Teams to build out and work on
larger components without interfering with
Frontend release cycl...
Release Cycles
Frontend
Git Repo
Mobile
Git Repo
Now we have separate release cycles
Deploy Daily
Backend
Git Repo
Deploy ...
Stays the same
Backend can stay the same version
Removes dependence to upgrade versions to
accommodate new Frontend featur...
Future Proof
Now that our CMS has become Web Service
enabled Mobile Apps can be built and utilise our
CMS as their content...
Conclusion
Easier to Manage
Easier to hire Frontend Developers
Allows for a higher ROI on the initial CMS build
Does enfor...
Thank You
@aimee_maree
Credits
Logos of Technology projects shown are copyright
as per project guidelines
Upcoming SlideShare
Loading in …5
×

DeCoupling Drupal

494 views

Published on

What is De-Couped Drupal also known as Headless Drupal and how can it help deployment strategies

Published in: Internet
  • Be the first to comment

DeCoupling Drupal

  1. 1. DeCoupling Drupal Aimee Maree Forsstrom Software Engineer – Advocate @aimee_maree aimee@linux.com What is DeCoupled Drupal? How can it help your deployment strategies?
  2. 2. Who am I Aimee Maree Forsstrom Software Engineer – Drupal Community Member since 2008 @aimee_maree aimee@linux.com Worked in the field of Information Technology since 2000 Long list of work in Open Source Content Management Systems (PHPbb, Coppermine, Joomla, WordPress, Drupal) Drupal Community member since 2008 Drupal Solutions Designer since 2008 Drupal Community contributor (DrupalCon Copenhagen Volunteer, DrupalCon Sydney Social Media Started Learning Drupal Sydney Provided Forum and irc support for Drupa and Drupal Mentor
  3. 3. Agenda What is Decoupled Drupal Traditional CMS technology stack Decoupled CMS technology stack Advantages of Decoupling Traditional CMS Workflow Decoupled CMS Workflow
  4. 4. Traditional CMS Backend CMS Frontend
  5. 5. Content is King
  6. 6. Decoupled CMS Frontend CMS Backend
  7. 7. Partial Decoupled Frontend CMS Backend Frontend Angular
  8. 8. Modern Pace Front end moves faster then CMS Development can Drupal Frontends can be messy and hard to hire people who can rapidly work in the space Drupal8 has been in development for 5years Why? Because backends are complex systems but Frontends are display systems
  9. 9. Front End 2005
  10. 10. Front End 2015
  11. 11. Technology Stack CMS Backend Content Database PHP facilitates Data .json .xml JS receives data Generates HTML
  12. 12. Web Services Decoupling is achieved by enabling a Restful API Content is output as .json or .xml For Drupal you can enable this through services module or through the Rest API module Your CMS is now a JSON server and all nodes/content can be consumed through by a json file
  13. 13. Targeted Apps Content Xbox Feeds Smart TV Web Mobile Wearable
  14. 14. Microservices Traditional CMS wants to deliver HTML HTML is not good for custom Apps to consume Drupal only provides the logic to run the web application behind scenes
  15. 15. Rapid Adaptation Front end is typically where the most rapid changes need to take place By decoupling the backend the frontend can now keep up with modern frameworks Enables new Design needs to be implemented quickly
  16. 16. Advantages Enables the CMS to be broken into Microservices CMS Does what it is good at managing complex content models Content is consumed via JSON into separate Apps Angular JS, Web Apps, Smart TV Apps Re-Design tied into version upgrades goes away
  17. 17. Legacy Workflow New CMS Version Upgrade Version Upgrade New Design Re-Design Re-Design Drupal 6.x 2008 Drupal 7.x 2011 Drupal 8.x 2015 ?
  18. 18. New Workflow New CMS New Design Re-Design Re-Design Drupal X.x 20XX Re-Design
  19. 19. Management Separation of Frontend and Backend Enables separate smaller Development Teams Each Team have their own repo and release cycle Stops teams interfering with deployment cycles Separate CI/CD and release cycle for Backend Components to Frontend Components
  20. 20. Version Control CMS backend components can be stored in a separate git repo that is connected and updated via the main Drupal project repo Enables the Front End, Mobile App code to be maintained in their own repo
  21. 21. From this Your Companies Version Control Server One Repo Drupal core Custom Drupal Modules Frontend Template Drupal Project Repo Local Develop Repos
  22. 22. To this Your Companies Version Control Server Many Repo's Drupal core Repo Frontend Repo Mobile App Repo Drupal Project Repo Local Develop Repos
  23. 23. Separation Frontend Development happens at a rapid rate Web App and Frontend development can take place without the need to commit into main CMS Repo Separation of tasks allows development teams to focus on their own repo tests / QA checks Less interference between frontend and backend
  24. 24. Workflow Changes Frontend Developers Backend Developers API
  25. 25. Components Enables Backend Teams to build out and work on larger components without interfering with Frontend release cycles CMS feature and Module updates can be applied and tested without the need to modify frontend
  26. 26. Release Cycles Frontend Git Repo Mobile Git Repo Now we have separate release cycles Deploy Daily Backend Git Repo Deploy Weekly Deploy Monthly Code Tests Code Tests Code Tests
  27. 27. Stays the same Backend can stay the same version Removes dependence to upgrade versions to accommodate new Frontend features Security updates can be isolated and tested on the backend with no interference to the frontend repo Content Editors can continue working in a familiar environment
  28. 28. Future Proof Now that our CMS has become Web Service enabled Mobile Apps can be built and utilise our CMS as their content backend We can create new Development Teams and Release Cycles to enable rapid development and prototyping without effecting or current cycle Examples are Mobile, IOT, Wearables, Smart TV And whatever the future may hold
  29. 29. Conclusion Easier to Manage Easier to hire Frontend Developers Allows for a higher ROI on the initial CMS build Does enforce a change of approach to deployment Nothing comes with disadvantages Your can take a hybrid approach
  30. 30. Thank You @aimee_maree Credits Logos of Technology projects shown are copyright as per project guidelines

×