SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
© 2015 Phase2
Drupal 8, Don’t Be Late
© 2015 Phase2
About us
Evan Liebman - Director of MSK Digital
Frank Febbraro - CTO, Phase2
Michael Le Du - Head of Strategic Accounts, Phase2
© 2015 Phase2
The time has come
to consider Drupal 8
© 2015 Phase2
Content as we know it, is changing
● Text and images (most websites)
● Multimedia (YouTube, Netflix, Spotify)
● Web Applications (Trello, Basecamp, Salesforce)
● Social Media Streams (Facebook, Twitter, etc)
● IoT (FitBit, Automatic for autos, Echobee)
© 2015 Phase2
Content consumption has changed
● PCs consuming web pages
● Mobile (iPhone, iPad, Android)
● “Over the top” (AppleTV, Xbox/PS, Smart-TV)
● Wearables (Apple Watch, Google Glass)
● IoT (Amazon Echo, Smart appliances, Automotive)
© 2015 Phase2
Dries addressed this in his keynote
● getNextBestExperience()
● Integrating with 3rd party services
● Pushing contextual content to different endpoints
● Personalized content experiences
○ No two experiences are the same
○ 100% dynamic
© 2015 Phase2
Could you be disrupted?
● Does your current CMS allow you to easily distribute
content in these channels?
● In a maintainable and extensible way?
● If you don’t make your content readily accessible
where people consume it, and relevant to their
context, someone else will (or already has).
© 2015 Phase2 Don’t be “LEFT BEHIND”
CONTENT. COLLABORATION. EXPERIENCE.
Drupal 8
Now?
CONTENT. COLLABORATION. EXPERIENCE.
Spoiler Alert!!
Drupal 8 is already being used in
production
© 2015 Phase2
Why now is the time to consider Drupal 8
● It’s being used in production
● Has stack support for all required components
● Less dependence on contrib
● Fully reap the benefits of the platform lifecycle
● Use a tool built for today and the future
● Become part of the solution
● A chance to attract the best talent
© 2015 Phase2
Memorial Sloan Kettering
Drupal 8 Case Study
© 2015 Phase2
-Jacob Rockowitz
“Drupal 8, Don’t Be Late”
© 2015 Phase2
How the MSK Culture Inspired Us to
Become an Early Adopter of Drupal 8
● A culture of innovation
● Relentless pursuit, and unmatched expertise that
results in breakthrough advances
© 2015 Phase2
Collaborative Focus at MSK
● Multi-center studies driving the generation of new
knowledge
● Cross service collaboration to aid the diagnosis and
treatment, and research
© 2015 Phase2
Why is Community important?
● We are all trying to solve similar problems
● People can leverage our work
● Can leverage other people’s work
● Allows bigger problems to be solved
● The community helps drives Innovation
© 2015 Phase2
MSK’s Strategic Priorities
● Patient Experience
● Patient Access
● Innovation and Generation of New Knowledge
● Talent Recruitment
● Financial Sustainability
© 2015 Phase2
Patient Experience and Access
● Easy access to the information the user needs
© 2015 Phase2
Innovation and Generation of New
Knowledge
● D8 cutting edge technology
© 2015 Phase2
Talent Recruitment
● Broader the talent pool
© 2015 Phase2
Financial Sustainability
● Gain the long term ROI from the investment, no need
to re-platform in a few years
© 2015 Phase2
So the Adventure Begins...and
Successfully Launches
● MSKCC.org
● SloanKettering.edu
© 2015 Phase2
This is more than a brochure site
● D6 site with 114 contrib
● D8 with 9 modules
● Serves 7 personas
● Related content
● Faceted search
● Webforms
● Online payment
● MailChimp Integration
● Prediction tools
● Multiple sites
● Multiple layouts
● PDF generation
● Multi server cluster
● LDAP authentication
● Data aggregation
● Data synchronization to
apps
© 2015 Phase2
Drupal 8’s Flexibility Simplified Problems
● Can centralize logic into services (layout logic, override
controllers without hacking core)
● We created YAML Forms because there was no Web forms
● No Panels, we used HTML template expansion
● Many D8 module upgrades were only a few days of work
○ Redis, Memcache, Redirect, Node Order
© 2015 Phase2
What else did we gain from Drupal 8?
● Developer velocity (once past the learning curve)
● MSK was able to participate in making Drupal 8
better
© 2015 Phase2
Were there any surprises?
● Core features weren’t as “done” as most people believe
them to be
● How easy it is to do powerful things with minimal code
● Lack of robust documentation
● The power of using YAML and how clean and readable it is
○ Non-programmers can create YAML docs
© 2015 Phase2
What did we trade off with Drupal 8?
● There weren’t many contrib modules
● Lack of best practices and practical knowledge
● Core wasn’t even feature complete when it started
○ Migration, Views, CMI, APIs
● Core changed very fast, took work to keep up with
breaking changes
● The project went live before a guaranteed upgrade path
© 2015 Phase2
Drupal 8 Lessons Learned
CONTENT. COLLABORATION. EXPERIENCE.
Managing Core & Contrib
© 2015 Phase2
Dedicate a person to core
● Have one person focused primarily on “Core” issues
● The ground needs to be cleared for the team
● Shepherd patches into core
● Re-roll/revive stalled community efforts
● Sometimes you have to code around bugs in core
© 2015 Phase2
Schedule for regular upgrades to core
● Either a known working HEAD or release
● Plan to pin/freeze within sight of launch
● Don’t let it go too long as debt accumulates
● Track the core changelog to understand what could
affect you
© 2015 Phase2
Don’t wait on contrib
● They might not catch up
○ Migration
○ Layout
○ Forms
○ Stack Components (memcache/redis)
○ LDAP
CONTENT. COLLABORATION. EXPERIENCE.
Addressing Risk
© 2015 Phase2
Prototype to mitigate risk
● Get a site up and prototype key features and functionality
● Get your content to migrate and render
● Don’t worry about theming in the beginning (Bartik is
fine)
● You can import using bulk insert
© 2015 Phase2
Account for the learning curve
● Give the team time to navigate the learning curve
○ You’ll make it up later
○ Modern PHP / Services / Symfony / CMI enable more
productivity
○ Teams need to learn new way
■ Learn to do things the right way via Services, etc.
■ They also need to unlearn old Drupal ways
© 2015 Phase2
Don't assume you know what would go well
● Be ready to have a plan B & C (you’ll probably need it)
● Core features may not be as “done” as you think
● Plan for potential stack issues (PHP, Memcache, etc.)
● Be ready to make stack changes if needed
○ Memcache + PHP5.4 => Memcache + PHP 5.5
CONTENT. COLLABORATION. EXPERIENCE.
Pulling It All Together
© 2015 Phase2
Take advantage of the front end separation
● TWIG let’s the front end ramp up quickly
● Leverage grunt, bower, sass and other js tools
● Services and filters make it easier to
“componentize” the frontend
© 2015 Phase2
Front end component example
© 2015 Phase2
Have tight collaboration between teams
● The frontend was built as a standalone prototype
● Once design was approved it was moved into Drupal
● Be flexible both ways
○ sometimes it’s easier to start with Drupal’s
markup
○ Sometimes it better to modify TWIG templates
© 2015 Phase2
Use testing to catch regressions
● Use PHPUnit and Behat to catch regressions
○ Custom code will break during upgrades (API
changes)
○ Make identifying regressions easy and automated
○ Especially before a beta to beta migration path exists
○ Tests are easier to build when you are extending
objects with existing test coverage
© 2015 Phase2
Use build tools
● Automate, automate, automate
● Seriously, don’t wait to do this.
● We used a combination of Drush and Grunt
● Facilitate integration of multiple repos
● Code quality, testing, deployment, migration.
© 2015 Phase2
Manage your dependencies
● Drush Make (now with YAML make file support)
● NPM for JS build dependencies
● Bower for the front end JS
● Grunt was used to materialize the site and build
the frontend
© 2015 Phase2
Make use of YAML where possible
● YAML Forms (webforms configured via YAML)
● Your users can write in YAML, seriously, ours do.
● YAML is a great format for serialization of data
● Install Symfony components to output YAML in D6/7
© 2015 Phase2
Migration shouldn’t be a 2nd class citizen
● You may not use it after launch, but it is certainly not
a throw away
● Constant migration is powerful but tricky
● Expect the migration to break across environments
○ And across core versions
CONTENT. COLLABORATION. EXPERIENCE.
Managing Environments
© 2015 Phase2
Make is easy to get developers setup
● Complex setups can be brittle across developers
● Our dev's needed VPN access, which was brittle
● Dev’s needed to run a long D6 to D8 migration
© 2015 Phase2
Don't neglect your server environments
● Focus on the platform delayed getting our
environments provisioned
● Get your servers up early
● Try to limit additional risk in the stack
● Hard to troubleshoot bugs can creep up here
© 2015 Phase2
Small environmental differences can cause issues
● “Close enough” doesn’t always work to mimic prod
● Use all layers of the stack
○ As soon as you have something testable (or before)
● Even on the same servers, the hostname can change
behavior
● HTTP vs HTTPS can cause differences
© 2015 Phase2
Load testing !== production traffic
● Load tests are great indicators potential problems
● They don't actually guarantee anything
● Production traffic will always be different
○ Even when replaying production traffic logs
● Even “low traffic” times may surprise you
○ A spider started aggressively crawling at 5AM
CONTENT. COLLABORATION. EXPERIENCE.
How can you get started?
© 2015 Phase2
Drupal 8 Considerations
● Pick D8 candidates carefully
● No short timelines
● Have the right team
○ Drupal exp, quick learners, problem solvers, profilers
● Get involved with the community
○ You'll need their help
© 2015 Phase2
Key Resources
● www.mskcc.org
● www.sloankettering.edu
● Adventures in Drupal 8: http://phase.to/1K8rKuX
● Driving Drupal 8 Adoption: http://phase.to/1cxvsQD
● Interview with Evan: http://phase.to/1K8qS9A
● Transforming Enterprises w/ Drupal 8 : http://phase.to/1K8r8Fx
● Phase2 & MSK: http://phase.to/1K8rsUI
CONTENT. COLLABORATION. EXPERIENCE.
Q&A
PHASE2TECHNOLOGY.COM

Contenu connexe

Tendances

Site building with end user in mind
Site building with end user in mindSite building with end user in mind
Site building with end user in mindPhase2
 
Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012Exove
 
Agile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native EcosystemAgile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native EcosystemCloud Study Network
 
How to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupalHow to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupalGreen For All
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design WorkflowPhase2
 
Monolithic installs VS single responsibilities networks
Monolithic installs VS single responsibilities networksMonolithic installs VS single responsibilities networks
Monolithic installs VS single responsibilities networksFedir RYKHTIK
 
Opening Keynote - DrupalCamp St. Louis 2014
Opening Keynote - DrupalCamp St. Louis 2014Opening Keynote - DrupalCamp St. Louis 2014
Opening Keynote - DrupalCamp St. Louis 2014Brad Nowak
 
Drupal 8 Initiatives
Drupal 8 InitiativesDrupal 8 Initiatives
Drupal 8 InitiativesAngela Byron
 
Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Luc Bézier
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Acquia
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedAngela Byron
 
Digital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal roleDigital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal roleDmitry Drozdik
 
Made with drupal 8
Made with drupal 8Made with drupal 8
Made with drupal 8Luc Bézier
 
The potential in Drupal 8.x and how to realize it
The potential in Drupal 8.x and how to realize itThe potential in Drupal 8.x and how to realize it
The potential in Drupal 8.x and how to realize itAngela Byron
 
Drupal's competition
Drupal's competitionDrupal's competition
Drupal's competitionAngela Byron
 
Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015:
Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015: Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015:
Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015: Exove
 
Drupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital BusinessDrupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital BusinessAcquia
 

Tendances (20)

Site building with end user in mind
Site building with end user in mindSite building with end user in mind
Site building with end user in mind
 
OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15
 
Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012Growing Drupal Organisations - Drupal Business Days 2012
Growing Drupal Organisations - Drupal Business Days 2012
 
Agile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native EcosystemAgile Architecture in a Modern Cloud-Native Ecosystem
Agile Architecture in a Modern Cloud-Native Ecosystem
 
How to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupalHow to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupal
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design Workflow
 
Monolithic installs VS single responsibilities networks
Monolithic installs VS single responsibilities networksMonolithic installs VS single responsibilities networks
Monolithic installs VS single responsibilities networks
 
Opening Keynote - DrupalCamp St. Louis 2014
Opening Keynote - DrupalCamp St. Louis 2014Opening Keynote - DrupalCamp St. Louis 2014
Opening Keynote - DrupalCamp St. Louis 2014
 
Drupal 8 Initiatives
Drupal 8 InitiativesDrupal 8 Initiatives
Drupal 8 Initiatives
 
Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths Debunked
 
Digital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal roleDigital Signage for YMCA and the Drupal role
Digital Signage for YMCA and the Drupal role
 
Made with drupal 8
Made with drupal 8Made with drupal 8
Made with drupal 8
 
The potential in Drupal 8.x and how to realize it
The potential in Drupal 8.x and how to realize itThe potential in Drupal 8.x and how to realize it
The potential in Drupal 8.x and how to realize it
 
Drupal
DrupalDrupal
Drupal
 
Drupal's competition
Drupal's competitionDrupal's competition
Drupal's competition
 
DDD In Agile
DDD In Agile   DDD In Agile
DDD In Agile
 
Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015:
Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015: Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015:
Serving the Internet of Things (IoT) with Drupal - DrupalCamp Baltics 2015:
 
Drupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital BusinessDrupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital Business
 

Similaire à Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)

Software delivery @randstad
Software delivery @randstadSoftware delivery @randstad
Software delivery @randstaddaanhorn
 
Site Building with the End User in Mind
Site Building with the End User in MindSite Building with the End User in Mind
Site Building with the End User in MindPhase2
 
Dev ops don't be left behind
Dev ops   don't be left behindDev ops   don't be left behind
Dev ops don't be left behindGunnar Menzel
 
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...Ravindra Singh
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Alan Hood
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoVMware Tanzu
 
Agile Methods and Data Warehousing
Agile Methods and Data WarehousingAgile Methods and Data Warehousing
Agile Methods and Data WarehousingKent Graziano
 
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Chipway
 
Symantec - From Early Drupal Adoption to the Latest Drupal Innovations
Symantec - From Early Drupal Adoption to the Latest Drupal InnovationsSymantec - From Early Drupal Adoption to the Latest Drupal Innovations
Symantec - From Early Drupal Adoption to the Latest Drupal InnovationsTag1 Consulting, Inc.
 
GitOps and Its tools.pptx
GitOps and Its tools.pptxGitOps and Its tools.pptx
GitOps and Its tools.pptxShivlalSharma5
 
GitOps and Its tools.pptx
GitOps and Its tools.pptxGitOps and Its tools.pptx
GitOps and Its tools.pptxShivlalSharma5
 
DevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindDevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindCapgemini
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production Matthew Reynolds
 
Replacing Lotus Notes Applications and Databases with Google
Replacing Lotus Notes Applications and Databases with GoogleReplacing Lotus Notes Applications and Databases with Google
Replacing Lotus Notes Applications and Databases with GoogleBarry Kelly
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkMediacurrent
 
How to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy CatastrophesHow to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy CatastrophesWeaveworks
 
Instant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesInstant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesYshay Yaacobi
 
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...DevOpsDays Tel Aviv
 
Apache Cassandra at Target - Cassandra Summit 2014
Apache Cassandra at Target - Cassandra Summit 2014Apache Cassandra at Target - Cassandra Summit 2014
Apache Cassandra at Target - Cassandra Summit 2014Dan Cundiff
 

Similaire à Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You) (20)

Software delivery @randstad
Software delivery @randstadSoftware delivery @randstad
Software delivery @randstad
 
Site Building with the End User in Mind
Site Building with the End User in MindSite Building with the End User in Mind
Site Building with the End User in Mind
 
Dev ops don't be left behind
Dev ops   don't be left behindDev ops   don't be left behind
Dev ops don't be left behind
 
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
 
Agile Methods and Data Warehousing
Agile Methods and Data WarehousingAgile Methods and Data Warehousing
Agile Methods and Data Warehousing
 
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
 
Symantec - From Early Drupal Adoption to the Latest Drupal Innovations
Symantec - From Early Drupal Adoption to the Latest Drupal InnovationsSymantec - From Early Drupal Adoption to the Latest Drupal Innovations
Symantec - From Early Drupal Adoption to the Latest Drupal Innovations
 
GitOps and Its tools.pptx
GitOps and Its tools.pptxGitOps and Its tools.pptx
GitOps and Its tools.pptx
 
GitOps and Its tools.pptx
GitOps and Its tools.pptxGitOps and Its tools.pptx
GitOps and Its tools.pptx
 
DevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindDevOps – Don’t Be Left Behind
DevOps – Don’t Be Left Behind
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production
 
Replacing Lotus Notes Applications and Databases with Google
Replacing Lotus Notes Applications and Databases with GoogleReplacing Lotus Notes Applications and Databases with Google
Replacing Lotus Notes Applications and Databases with Google
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
 
How to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy CatastrophesHow to Avoid Kubernetes Multi-tenancy Catastrophes
How to Avoid Kubernetes Multi-tenancy Catastrophes
 
How to sell drupal 8
How to sell drupal 8How to sell drupal 8
How to sell drupal 8
 
Instant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesInstant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositories
 
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
 
Apache Cassandra at Target - Cassandra Summit 2014
Apache Cassandra at Target - Cassandra Summit 2014Apache Cassandra at Target - Cassandra Summit 2014
Apache Cassandra at Target - Cassandra Summit 2014
 

Plus de Phase2

Phase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2
 
A Modern Digital Experience Platform
A Modern Digital Experience PlatformA Modern Digital Experience Platform
A Modern Digital Experience PlatformPhase2
 
Beyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformBeyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformPhase2
 
Omnichannel For Government
Omnichannel For Government Omnichannel For Government
Omnichannel For Government Phase2
 
Bad camp2016 Release Management On Live Websites
Bad camp2016 Release Management On Live WebsitesBad camp2016 Release Management On Live Websites
Bad camp2016 Release Management On Live WebsitesPhase2
 
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8Phase2
 
The Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkThe Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkPhase2
 
Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Phase2
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and TricksPhase2
 
NORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftNORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftPhase2
 
User Testing For Humanitarian ID App
User Testing For Humanitarian ID AppUser Testing For Humanitarian ID App
User Testing For Humanitarian ID AppPhase2
 
How, When, and Why to Patch a Module
How, When, and Why to Patch a Module How, When, and Why to Patch a Module
How, When, and Why to Patch a Module Phase2
 
Drupal Is Not Your Web Site
Drupal Is Not Your Web SiteDrupal Is Not Your Web Site
Drupal Is Not Your Web SitePhase2
 
Empathy For Idiots
Empathy For Idiots Empathy For Idiots
Empathy For Idiots Phase2
 
Open data + open government open goodness
Open data + open government open goodnessOpen data + open government open goodness
Open data + open government open goodnessPhase2
 
How 'Open' Changes Product Development
How 'Open' Changes Product DevelopmentHow 'Open' Changes Product Development
How 'Open' Changes Product DevelopmentPhase2
 
Open Source Logging and Metrics Tools
Open Source Logging and Metrics ToolsOpen Source Logging and Metrics Tools
Open Source Logging and Metrics ToolsPhase2
 
Open Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsOpen Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsPhase2
 
ReliefWeb's Journey from RSS Feed to Public API
ReliefWeb's Journey from RSS Feed to Public APIReliefWeb's Journey from RSS Feed to Public API
ReliefWeb's Journey from RSS Feed to Public APIPhase2
 
Thinking Inside the Box Inside the Box Inside the Box
Thinking Inside the Box Inside the Box Inside the BoxThinking Inside the Box Inside the Box Inside the Box
Thinking Inside the Box Inside the Box Inside the BoxPhase2
 

Plus de Phase2 (20)

Phase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2 Health and Wellness Brochure
Phase2 Health and Wellness Brochure
 
A Modern Digital Experience Platform
A Modern Digital Experience PlatformA Modern Digital Experience Platform
A Modern Digital Experience Platform
 
Beyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformBeyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience Platform
 
Omnichannel For Government
Omnichannel For Government Omnichannel For Government
Omnichannel For Government
 
Bad camp2016 Release Management On Live Websites
Bad camp2016 Release Management On Live WebsitesBad camp2016 Release Management On Live Websites
Bad camp2016 Release Management On Live Websites
 
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
 
The Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkThe Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 Talk
 
Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Fields, entities, lists, oh my!
Fields, entities, lists, oh my!
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and Tricks
 
NORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftNORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShift
 
User Testing For Humanitarian ID App
User Testing For Humanitarian ID AppUser Testing For Humanitarian ID App
User Testing For Humanitarian ID App
 
How, When, and Why to Patch a Module
How, When, and Why to Patch a Module How, When, and Why to Patch a Module
How, When, and Why to Patch a Module
 
Drupal Is Not Your Web Site
Drupal Is Not Your Web SiteDrupal Is Not Your Web Site
Drupal Is Not Your Web Site
 
Empathy For Idiots
Empathy For Idiots Empathy For Idiots
Empathy For Idiots
 
Open data + open government open goodness
Open data + open government open goodnessOpen data + open government open goodness
Open data + open government open goodness
 
How 'Open' Changes Product Development
How 'Open' Changes Product DevelopmentHow 'Open' Changes Product Development
How 'Open' Changes Product Development
 
Open Source Logging and Metrics Tools
Open Source Logging and Metrics ToolsOpen Source Logging and Metrics Tools
Open Source Logging and Metrics Tools
 
Open Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsOpen Source Logging and Monitoring Tools
Open Source Logging and Monitoring Tools
 
ReliefWeb's Journey from RSS Feed to Public API
ReliefWeb's Journey from RSS Feed to Public APIReliefWeb's Journey from RSS Feed to Public API
ReliefWeb's Journey from RSS Feed to Public API
 
Thinking Inside the Box Inside the Box Inside the Box
Thinking Inside the Box Inside the Box Inside the BoxThinking Inside the Box Inside the Box Inside the Box
Thinking Inside the Box Inside the Box Inside the Box
 

Dernier

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 

Dernier (20)

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 

Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)

  • 1. © 2015 Phase2 Drupal 8, Don’t Be Late
  • 2. © 2015 Phase2 About us Evan Liebman - Director of MSK Digital Frank Febbraro - CTO, Phase2 Michael Le Du - Head of Strategic Accounts, Phase2
  • 3. © 2015 Phase2 The time has come to consider Drupal 8
  • 4. © 2015 Phase2 Content as we know it, is changing ● Text and images (most websites) ● Multimedia (YouTube, Netflix, Spotify) ● Web Applications (Trello, Basecamp, Salesforce) ● Social Media Streams (Facebook, Twitter, etc) ● IoT (FitBit, Automatic for autos, Echobee)
  • 5. © 2015 Phase2 Content consumption has changed ● PCs consuming web pages ● Mobile (iPhone, iPad, Android) ● “Over the top” (AppleTV, Xbox/PS, Smart-TV) ● Wearables (Apple Watch, Google Glass) ● IoT (Amazon Echo, Smart appliances, Automotive)
  • 6. © 2015 Phase2 Dries addressed this in his keynote ● getNextBestExperience() ● Integrating with 3rd party services ● Pushing contextual content to different endpoints ● Personalized content experiences ○ No two experiences are the same ○ 100% dynamic
  • 7. © 2015 Phase2 Could you be disrupted? ● Does your current CMS allow you to easily distribute content in these channels? ● In a maintainable and extensible way? ● If you don’t make your content readily accessible where people consume it, and relevant to their context, someone else will (or already has).
  • 8. © 2015 Phase2 Don’t be “LEFT BEHIND”
  • 10. CONTENT. COLLABORATION. EXPERIENCE. Spoiler Alert!! Drupal 8 is already being used in production
  • 11. © 2015 Phase2 Why now is the time to consider Drupal 8 ● It’s being used in production ● Has stack support for all required components ● Less dependence on contrib ● Fully reap the benefits of the platform lifecycle ● Use a tool built for today and the future ● Become part of the solution ● A chance to attract the best talent
  • 12. © 2015 Phase2 Memorial Sloan Kettering Drupal 8 Case Study
  • 13. © 2015 Phase2 -Jacob Rockowitz “Drupal 8, Don’t Be Late”
  • 14. © 2015 Phase2 How the MSK Culture Inspired Us to Become an Early Adopter of Drupal 8 ● A culture of innovation ● Relentless pursuit, and unmatched expertise that results in breakthrough advances
  • 15. © 2015 Phase2 Collaborative Focus at MSK ● Multi-center studies driving the generation of new knowledge ● Cross service collaboration to aid the diagnosis and treatment, and research
  • 16. © 2015 Phase2 Why is Community important? ● We are all trying to solve similar problems ● People can leverage our work ● Can leverage other people’s work ● Allows bigger problems to be solved ● The community helps drives Innovation
  • 17. © 2015 Phase2 MSK’s Strategic Priorities ● Patient Experience ● Patient Access ● Innovation and Generation of New Knowledge ● Talent Recruitment ● Financial Sustainability
  • 18. © 2015 Phase2 Patient Experience and Access ● Easy access to the information the user needs
  • 19. © 2015 Phase2 Innovation and Generation of New Knowledge ● D8 cutting edge technology
  • 20. © 2015 Phase2 Talent Recruitment ● Broader the talent pool
  • 21. © 2015 Phase2 Financial Sustainability ● Gain the long term ROI from the investment, no need to re-platform in a few years
  • 22. © 2015 Phase2 So the Adventure Begins...and Successfully Launches ● MSKCC.org ● SloanKettering.edu
  • 23. © 2015 Phase2 This is more than a brochure site ● D6 site with 114 contrib ● D8 with 9 modules ● Serves 7 personas ● Related content ● Faceted search ● Webforms ● Online payment ● MailChimp Integration ● Prediction tools ● Multiple sites ● Multiple layouts ● PDF generation ● Multi server cluster ● LDAP authentication ● Data aggregation ● Data synchronization to apps
  • 24. © 2015 Phase2 Drupal 8’s Flexibility Simplified Problems ● Can centralize logic into services (layout logic, override controllers without hacking core) ● We created YAML Forms because there was no Web forms ● No Panels, we used HTML template expansion ● Many D8 module upgrades were only a few days of work ○ Redis, Memcache, Redirect, Node Order
  • 25. © 2015 Phase2 What else did we gain from Drupal 8? ● Developer velocity (once past the learning curve) ● MSK was able to participate in making Drupal 8 better
  • 26. © 2015 Phase2 Were there any surprises? ● Core features weren’t as “done” as most people believe them to be ● How easy it is to do powerful things with minimal code ● Lack of robust documentation ● The power of using YAML and how clean and readable it is ○ Non-programmers can create YAML docs
  • 27. © 2015 Phase2 What did we trade off with Drupal 8? ● There weren’t many contrib modules ● Lack of best practices and practical knowledge ● Core wasn’t even feature complete when it started ○ Migration, Views, CMI, APIs ● Core changed very fast, took work to keep up with breaking changes ● The project went live before a guaranteed upgrade path
  • 28. © 2015 Phase2 Drupal 8 Lessons Learned
  • 30. © 2015 Phase2 Dedicate a person to core ● Have one person focused primarily on “Core” issues ● The ground needs to be cleared for the team ● Shepherd patches into core ● Re-roll/revive stalled community efforts ● Sometimes you have to code around bugs in core
  • 31. © 2015 Phase2 Schedule for regular upgrades to core ● Either a known working HEAD or release ● Plan to pin/freeze within sight of launch ● Don’t let it go too long as debt accumulates ● Track the core changelog to understand what could affect you
  • 32. © 2015 Phase2 Don’t wait on contrib ● They might not catch up ○ Migration ○ Layout ○ Forms ○ Stack Components (memcache/redis) ○ LDAP
  • 34. © 2015 Phase2 Prototype to mitigate risk ● Get a site up and prototype key features and functionality ● Get your content to migrate and render ● Don’t worry about theming in the beginning (Bartik is fine) ● You can import using bulk insert
  • 35. © 2015 Phase2 Account for the learning curve ● Give the team time to navigate the learning curve ○ You’ll make it up later ○ Modern PHP / Services / Symfony / CMI enable more productivity ○ Teams need to learn new way ■ Learn to do things the right way via Services, etc. ■ They also need to unlearn old Drupal ways
  • 36. © 2015 Phase2 Don't assume you know what would go well ● Be ready to have a plan B & C (you’ll probably need it) ● Core features may not be as “done” as you think ● Plan for potential stack issues (PHP, Memcache, etc.) ● Be ready to make stack changes if needed ○ Memcache + PHP5.4 => Memcache + PHP 5.5
  • 38. © 2015 Phase2 Take advantage of the front end separation ● TWIG let’s the front end ramp up quickly ● Leverage grunt, bower, sass and other js tools ● Services and filters make it easier to “componentize” the frontend
  • 39. © 2015 Phase2 Front end component example
  • 40. © 2015 Phase2 Have tight collaboration between teams ● The frontend was built as a standalone prototype ● Once design was approved it was moved into Drupal ● Be flexible both ways ○ sometimes it’s easier to start with Drupal’s markup ○ Sometimes it better to modify TWIG templates
  • 41. © 2015 Phase2 Use testing to catch regressions ● Use PHPUnit and Behat to catch regressions ○ Custom code will break during upgrades (API changes) ○ Make identifying regressions easy and automated ○ Especially before a beta to beta migration path exists ○ Tests are easier to build when you are extending objects with existing test coverage
  • 42. © 2015 Phase2 Use build tools ● Automate, automate, automate ● Seriously, don’t wait to do this. ● We used a combination of Drush and Grunt ● Facilitate integration of multiple repos ● Code quality, testing, deployment, migration.
  • 43. © 2015 Phase2 Manage your dependencies ● Drush Make (now with YAML make file support) ● NPM for JS build dependencies ● Bower for the front end JS ● Grunt was used to materialize the site and build the frontend
  • 44. © 2015 Phase2 Make use of YAML where possible ● YAML Forms (webforms configured via YAML) ● Your users can write in YAML, seriously, ours do. ● YAML is a great format for serialization of data ● Install Symfony components to output YAML in D6/7
  • 45. © 2015 Phase2 Migration shouldn’t be a 2nd class citizen ● You may not use it after launch, but it is certainly not a throw away ● Constant migration is powerful but tricky ● Expect the migration to break across environments ○ And across core versions
  • 47. © 2015 Phase2 Make is easy to get developers setup ● Complex setups can be brittle across developers ● Our dev's needed VPN access, which was brittle ● Dev’s needed to run a long D6 to D8 migration
  • 48. © 2015 Phase2 Don't neglect your server environments ● Focus on the platform delayed getting our environments provisioned ● Get your servers up early ● Try to limit additional risk in the stack ● Hard to troubleshoot bugs can creep up here
  • 49. © 2015 Phase2 Small environmental differences can cause issues ● “Close enough” doesn’t always work to mimic prod ● Use all layers of the stack ○ As soon as you have something testable (or before) ● Even on the same servers, the hostname can change behavior ● HTTP vs HTTPS can cause differences
  • 50. © 2015 Phase2 Load testing !== production traffic ● Load tests are great indicators potential problems ● They don't actually guarantee anything ● Production traffic will always be different ○ Even when replaying production traffic logs ● Even “low traffic” times may surprise you ○ A spider started aggressively crawling at 5AM
  • 52. © 2015 Phase2 Drupal 8 Considerations ● Pick D8 candidates carefully ● No short timelines ● Have the right team ○ Drupal exp, quick learners, problem solvers, profilers ● Get involved with the community ○ You'll need their help
  • 53. © 2015 Phase2 Key Resources ● www.mskcc.org ● www.sloankettering.edu ● Adventures in Drupal 8: http://phase.to/1K8rKuX ● Driving Drupal 8 Adoption: http://phase.to/1cxvsQD ● Interview with Evan: http://phase.to/1K8qS9A ● Transforming Enterprises w/ Drupal 8 : http://phase.to/1K8r8Fx ● Phase2 & MSK: http://phase.to/1K8rsUI