Managing Large Scale Drupal and Agile Culture by Dinesh Waghmare, TCS
Myself @DrupalCon Dublin 2017
What is Large Scale Drupal?
Traditional Clients Top Product organisation want to promote there product, connect with customer base and would like to manage content and customer interaction Functional Requirements UI/UX Requirements Requirements Other Requirements Ø Product Promotion section with pages Ø Home Page, Product Feature slideshow, Inner Page Product Promotion and Offer Box Ø Customers Registration Ability to log ticket, feedback, subscribe for new updates of product Ø Lead generation forms, Email newsletters for subscribed users should be available Ø Web is Focused Ø Portal should allow look and feel to match product characteristics Ø Navigations, styling should be easy to handle and update Ø Browser Based Focused Desktop, Mobile and Tablet View Ø Editor should able to draft /review / publish / unpublished content pages and promotion box, add navigations Ø Media management for Image /PDF assets Ø Guest / Role based Ø Low cost Ø Site analytics for user interaction like manage form submissions, content view/downloads Ø SEO Ø Fast Response Time Ø Security? Ø Performance? Ø Deployment / Rollout? Ø Tight Backend and Frontend Integration Ø Single Site / Multi Site
Enterprise or Digital organisations Clients Top fortune 500 organisation with multiple set of brands looking for solution to manage existing brand specific websites, launch new template for common brands, have centralised user base, Omni channel marketing with 360 degree view of data analytics Functional Requirements UI/UX Requirements Requirements Other Requirements Ø Migration Strategy for existing websites Ø Common Platform or Template for rollout Ø Single sign on with central user dashboard Ø Ability to override platform and features Ø Multi Country - Multi Language Ø Data driven Ø Omni Channel marketing experience Ø Different templates for different content like Page / News / Product / Forms etc. Ø Responsive UI, UI effects, Navigation effects, Accessibility Ø Responsive Support for Media Ø Uniformed Styling Ø Accessibility Ø Layout Ø Any Screen, Any Device Ø Editor workflow for content and media Ø Centralised content management to cater content to multiple channel Ø Personalisation Personal and Contextual Experience Ø Highly Scalability Ø Highly Secured Ø High Performance Ø Easy to Deploy and Rollout Ø Easy maintenance and Support Ø Cost Reduction Ø Automation Ø Embrace multi vendor decoupled agency Ø Agility Ø Decoupled, Distributed Architecture Ø Site Factory
How does Enterprise or Digital organisation look like? Ø Big Enterprises Ø Big Plans : Web, Mobile, Connected echo system Ø Digital Transformation Strategy : Analytics, Integration, Automation, Omni channel, 360 View Ø Multiple Stakeholders and Product Owners: Customer and Data centric strategies, Dashboards and Reporting Ø Multiple initiatives, Multiple globally distributed Partners, Multiple Projects Ø Improve Speed : Performance, Scalability Ø Reduce Cost : Reusability, Easy workflow, Optimum use of resources and infrastructure and tools Ø Innovate Fast : Faster Deployment, Frequent releases, Integrations to channels, Automation, Strategic solutions, Plans for Future Ø On time support : Easy customisation, Community releases, Security fixes Ø Focus more on strategy while collaborate on solutions Ø Share challenges - knowledge - New Opportunities Ø Multi vendor Decoupled agency
What does Enterprise or Digital organisations looks? Ø State of Drupal : Drupal scale from small to large, no longer for Simple sites (Blog/Portfolio/Brand) but for sites with medium-to-high richness (community portals, integrations sites, Omni-channel websites, multi site platform ) Ø Drupal is for addressing Ambitious Digital Experience which is much more than just enterprise Ø Big enterprises - Big Plans, Digital strategies, Multiple Stakeholders Ø Enterprise targets for Mega trends (AI, SaaS, IoT, AR, Voice Assistance, Chabot's) and Drupal is getting better with adoption of new technologies Ø Take off popular myths & facts about open e.g. security, selling data, "free" / costs Ø Lone Wolves Lose Out : Are you having active participation and collaboration in Drupal Community, DrupalCon? Ø Contribution and giving back Vs participations Ø Open Source : Thousand Eye, Faster Testing, Constant reviews Ø LSD means - Focus more on strategy while collaborate on solutions Ø Share challenges - knowledge - New Opportunities : Events, Camps, Cons, Code Sprints Ø Contributions and expertise from enterprise organization will help to keep Drupal Longer
Drupal Features Highly Scalable Multilingual Mobile First Community Integrated Applications as a Service Drupal Security LAMP stack Authoring Tools for Business Architecture Multisite
Challenges in High Scalability Highly Scalable Multilingual Mobile First as a Service Community Performance High Volume Publishing Architecture D8 Monitoring Load Testing Integrated Applications Security LAMP stack Authoring Tools for Business Architecture Multisite
Challenges in Mobile First Highly Scalable Multilingual Mobile First as a Service Community Multiple Screens and Testing Regression D8 Integrated Applications Security LAMP stack Authoring Tools for Business Architecture Multisite
Challenges in App Integration Highly Scalable Multilingual Mobile First as a Service Community API First Inventory Testing Uniformed gateway D8 for data Integrated Applications Security LAMP stack Authoring Tools for Business Architecture Multisite
Challenges in Security Highly Scalable Multilingual Mobile First as a Service Community Vulnerability Penetration Security Advisory BestD8Practices Continuous Integration Integrated Applications Security LAMP stack Authoring Tools for Business Architecture Multisite
Challenges in Authoring Highly Scalable Multilingual Mobile First as a Service Community Access Permission Workflow Continuous D8 Integration Auditing Integrated Applications Security LAMP stack Authoring Tools for Business Architecture Multisite
Challenges in Architecture Highly Scalable Multilingual Mobile First as a Service Community Managing Configuration CMI/Features BDT Optimization D8 Integrated Applications Security LAMP stack Authoring Tools for Business Architecture Multisite
Challenges in Multisite Highly Scalable Multilingual Mobile First as a Service Community LAMP stack Use Case CI/CD Brittleness of a Single Codebase D8 Single Points of Failure Illusion Vs Simplicity Integrated Applications Authoring Security Tools for Business Architecture Multisite
Challenges in Business Solutions Highly Scalable Multilingual Mobile First as a Service Community Distributions Platforms Builds Headless Automation D8 Integrated Applications Security LAMP stack Authoring Tools for Business Architecture Multisite
Challenges in Platform Stack Highly Scalable Multilingual Mobile First as a Service Community LAMP stack Provisioning Rollouts Service Provider Future D8 need? Node JS Apache Solr Varnish Memcache Integrated Applications Authoring Security Tools for Business Architecture Multisite
Challenges in as Service Highly Scalable Multilingual Mobile First as a Service Community Headless Drupal Site Inventory Stack Provisioning D8 Continuous integration Integrated Applications Security LAMP stack Authoring Tools for Business Architecture Multisite
Challenges in Community Highly Scalable Multilingual Mobile First as a Service Community Common Initiatives Contributions Collaboration Participations D8 Open Culture Integrated Applications Security LAMP stack Authoring Tools for Business Architecture Multisite
Challenges in Multilingual Highly Scalable Multilingual Mobile First as a Service Community Theming External Translation Vendor Translation D8 Hub Regression Integrated Applications Security LAMP stack Authoring Tools for Business Architecture Multisite
Big Picture
Perspective of Development Stack for LSD Process, Tools, Solutions
Process and Requirements A. Product Requirements B. Publishing and Workflow C. Architecture D. Dev Tools E. Stack F. SCM G. CI/CD H. Best Practices I. Testing J. Features K. Theming L. Translation Development Tools and Solutions A. Drupal Distributions, Profile, Builds B. Editorial Flow + Deploy, Workflow, Workbench, Layouts C. Architecture Ø Static Vs Dynamic Vs Hybrid Ø Single Site, Multi Site Ø Standalone Portal Vs Global Portal Ø API First Vs Only Ø Monolithic CMS Vs Decoupled CMS D. IDE, Drush, Composer, Drupal Console E. VM, Docker, LAMP Stack, XAMPP, MAMPP F. Git, SVN G. Jenkins, Travis H. PHPCS, Coder, JS Lint, CSS Lint I. Behat, Selenium, wraith J. Modules, Libraries, Features K. Sub Theme
Perspective of Platform Infrastructure for LSD Process, Tools, Solutions
Process and Requirements A. Continuous Integration B. SCM C. Automation D. Provisioning E. Codebase Platform F. Stack Provisioning G. Distributions H. Deployments I. Builds J. Rollouts K. High Volume L. Service Provider M. Automation Platform Tools and Solutions A. Jenkins, Travis, Pipeline B. Git, SVN C. Shell, Python, Drush D. Docker, Ansible, VM E. Codebase Platform, Sub- Platform, Custom and Contrib Tracker F. LAMP / NodeJS, / Angular, MongoDB / Couch-PouchDB G. Distributions D7 / D8 / Site Factory H. Make file / Composer + Drush + shell I. Tagging J. CI+CD Automation K. Scalability, Cloud PaaS, SaaS L. Acquia, Platformsh, Pantheon AWS etc. M. Iron.io
Perspective of DevOps for LSD Process, Tools, Solutions
Process and Requirements A. Environment Provisioning B. Environment Sync and Clone C. Sanitations of Data D. Backup Management E. Centralised Log F. Monitoring G. Security Advisory H. Inventory I. Access Permission J. Auditing K. Module Monitoring L. Communication and Tools Integrations DevOps Support and Maintenance Tools and Solutions A. Anisble, Docker B. (Code / DB / Files) Sync C. Drush sql-sanitize D. S3 Backups E. Profiler, Logstash F. Slack Bots, Wormly G. Drupal Security Announcements H. Central Access Management I. Site Audit J. review, Audit Logs, Revisions K. Hacked L. Webhooks, Bots
Perspective of Testing for LSD Process, Tools, Solutions
Process and Requirements Testing Tools A. Performance & Load Testing B. Regression Functional C. Visual testing D. Vulnerability Testing E. Penetration Testing F. Optimization Front End G. Optimization Backend A. Blaze Meter / jmeter, New Relic B. Behat, SimpleTest, Drulenium, C. Wraith, PhantomJS / PhantomCSS, backtrac D. Site Audit, Security Review, Hacked, CMSmap, Wapiti, E. fod-dev F. Drupal Cache, Compression, CDN, Varnish, Cloudflare G. Memcache, Redis
Perspective of Community Presence for LSD Process, Tools, Solutions
Process and Requirements A. Community Presence B. Common Initiatives and Trends C. Contributions D. Collaboration E. Leadership F. 3rd Party Service Providers Connect Community Tools and Solutions A. Drupal Camps, Drupal Cons, Code Sprints, blogs B. Drupal Initiatives like staging stagey, Media initiatives C. Module Sponsorship, Code Sprints, Drupal Credits D. Participation, Partnership E. Business Summits F. Open Source Forums
Integrating Agile for Large Scale Drupal Projects Ø Agile Workflow Ø Development Iterations Ø Scrum, Daily Stand-ups Ø Weekly Demos and Sprint planning, User Stories, Storing Pointing Ø Retrospectives Ø Effective Communication and collaboration Ø User Roles Ø Product Owners Ø Scrum Masters Ø Project Managers Ø Developers Ø Project Releases Ø Branching Ø Tagging Ø Critical Releases Ø Documentations Ø Tools Selection Ø JIRA, SLACK, ZENDESK Ø Global Team Structure Ø Ø Multiple Team Ø Engineering Ø Development Ø Maintenance Ø Support (L1/ L2/ L3/ L4) Documentation Ø Confluence Ø JIRA Ø Wiki Ø Communication Ø Slack / Skype Ø Meting Ø Webex Ø Hangout Ø Planning Ø JIRA, Asana, Aha Ø Planning Ø Learning Tools Ø DrupalCon / Drupal Camps / Open Source Conf Ø Lynda.com / Youtube
Digitalization for Enterprise or Digital organisations Ø Drupal Ø API First, not API only : REST, JSON API / GraphQL, OAuth, Framework / SDK s Ø hybrid, Headless CMS - Flexibility for Multi Front End, Flexi Backend development Ø Migrate Fast - D72D8, Non Drupal to Drupal 8 Ø User Experience - Workflow, Layout, Staging and Preview, Media and Forms Ø Cross Community Contribution - Process, Tools, People Ø DevOps Ø Automate Everything Ø Agile Ø Digital Ø and User Journey : Mobile to Digital ü Voice by Default ü Contextualization based on data Ø Mega Cognitive Trends Adoption ü Chatbots ü Augmented Experience, WebVR / VR ü Voice Assistance - Voice Search instead Apache Solr ü Image Recognition and Search ü Internet of Things - Connected and Data ü Micro-services / Everything as Service ü Artificial Intelligence and Big data ü Decentralized + API Ø Creative over AI
Build Small Build Smart Grow Large Ø Build Prototypes Build Small Build Smart Ø Communicate Often Ø Plan Project Tracking, Support and Ticketing Ø Plan Scope and SOP Ø Keep building KEDB Ø Reactive Vs Proactive Ø Adopt Tools Ø Local and Global Teams Ø Estimate Smart Ø Community Presence Ø Plan Governance Ø Do it Locally Work on Production as well
Common Challenges Ø Deployments ( / Configuration / Code / Files) Ø Turnaround time on Support (Sync / Backup / Environment Refresh / Rollback ) Ø Planning Reactive Ø Being Agile Ø Keeping Learning Curve with Community Trends Ø Keeping Priority and Criticality Ø Build Custom Vs Go Open Source Ø Auditing and Compliance ( / Versions / Users ) Ø Multiple Initiatives and Diversity Ø Global Development and Support
Thank You Drupal Camp Goa 2018 https://drupalcampgoa.org Drupal.org TCS Dinesh Waghmare