SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
How we leveraged Drupal to build
a leading SaaS product
Our story
iO1
● You’re probably using
some of our code
● Earl Miles (merlinofchaos),
Head of Research
● Established Drupal
development house
Home Office approach us...
Asked us to build them an intranet
* One catch: It must be available as a SaaS product on Gcloud
30,000
20-25 concurrent users
10,000+
content migration
Long story short
● We closed down our accounts as
iO1 and started to solely focus on
Invotra
● At the time, Invotra was around
15-20 employees
The product was launched
Basic CMS intranet using D7
Basic search for content using Solr
Matomo (formerly Piwik) for analytics
25k
unique logins
700k
visits
200k
searches
130k
downloads
HMRC come aboard
70,000
Users
100,000+
Large scale migration
HMRC come aboard
Introduced Manuals, integrated with gov.uk
68k
unique logins 2M
visits
800k
searches
600k
downloads
Home Office ‘small apps’ migration
● They were not really ‘small’
● Introduced a people directory
○ Searching people, teams & locations
● Introduced Ideas, Tickets, Forums, Document archive
DWP
90,000
Users
100,000+
Large scale migration
DWP
Introduced Feed & Notifications - more infrastructure
Introduced Groups & replaced yammer
91k
unique logins 3M
visits
1.5M
searches
1.1M
downloads
Sierra Club
Potential 2.5M users
Introduced Portal functionality
1k
unique logins 5k
visits
1k
searches
Meanwhile
● We onboard:
○ DfT
○ Reading
○ Bracknell
○ Stevenage
○ East Herts
● 45% of UK Government using our intranetproduct
Bursting at the seams
Nqobile is going to talk about some of the challenges we face
supporting this from an infrastructure perspective
200k
unique logins 4M
visits
115M
Visits / year
Infrastructure
The Current Infrastructure
● AWS ALB
● Varnish Autoscaling EC2 instances
● Web Server Autoscaling EC2 instances (Drupal 7)
● NodeJs API Autoscaling group EC2 instances
● ElastiCache (Redis/Memcache)
● Solr Cluster
● AWS RDS
● Shared tenancy - Application Level Separation
Infrastructure
Hosted in AWS/FCOs
Delivering to
200k users
Scaled to handle over
50k requests/min
Scaled to handle
3k searches/min
Challenges
● Drupal out of the box is not built to handle over 50K
requests/min
● Drupal needs to be able to index millions of documents
● Drupal brings a lot of baggage with every page load
● Bottlenecks causing major edge case issues
Handling over 50k requests/min
● We made sure to have extensive Monitoring across the
platform
○ New Relic
○ AWS CloudWatch
● Implemented Autoscaling within AWS
● Used Drupal for what it is best for - Content / Access
control
● We welcomed optimisation opportunities
Indexing Millions of documents
● We clustered our Search engine (Solr)
● We leveraged drush for indexing
● Indexed exactly what we needed
Drupal baggage
● There is so much functionality in the product
● Massive bootstrap with every page load
● Caching at every level was Key
○ Varnish
○ Opcache
○ Memcache
○ Database query cache
● With the right caching we improved page load times by up
to 40%
Reaching Bottlenecks
● Over the years, more traffic meant more edge case issues
● These issues were specific to our platform
● Through monitoring we were able to pinpoint bottlenecks
● If there was anything we could give back to the drupal
community, we would
Looking to the future
A new approach
● We realised we needed a new approach
● We know that D8 is looming
Mobile app
● A customer asked us to build a mobile app for them
● We built it solely using our API’s, with a javascript front
end
● This gave us an idea..
Replatforming
● Decided to start building out a whole new architecture
○ API’s and JS front end
○ Utilising a D8 back end
● Nqobile will talk more on this later on
Invotra labs
● Started this stream of work in parallel to replatforming
● The idea is to start replacing current D7 functionality with
JS apps that utilise API’s
● Utilising Material UI
● Here’s an example..
The vision
● Replace the product bit-by-bit, creating js apps that talk to
the API
● This helps us to seamlessly switch over to D8 as and when
we are ready
● Nqobile is now going to take us through the new
infrastructure in more detail
Future infrastructure
The new Infrastructure
● Drupal 8 for content processing
● AWS Cognito for Authentication
● GraphQL/AWS Lambda for Nodejs API calls
● ReactJs for front end delivery
● AWS ElasticSearch as the Seach engine
● AWS EFS for storing customer assets
● AWS DocumentDB
● AWS RDS Aurora
Benefits
● Moving to Serverless platform
● Deployments at pace
● Deployments without any downtime
● Taking full Advantage of AWS Expertise
Moving to a Serverless platform
● We value AWS managed Services
● We can focus on growing the product
● We only pay for what we use
● This positively affects Service availability
● We are able to Deliver a better experience to our
customers
Deployment at pace
● At the moment we deploy Invotra enhancements
fortnightly
● We have a goal of being able to deploy daily
● We do not want to compromise the user experience
● This new infrastructure will enable us to achieve this
Deployments - No Downtime
● We currently release breaking changes almost every
release - This requires downtime
● We had to rethink our deployment strategy
● With AWS managed Services this is made possible
AWS integrations
● We are always on the lookout for Integrating with AWS
Services
● We leverage Drupal to Allow us to integrate with AWS
● Example - ALB Authentication
https://www.drupal.org/project/alb_auth
● AWS Lambda / API Gateway - for backend APIs and
notifications services
Key points
● Only use Drupal for what it is best for
● Always improve your Monitoring capabilities
● Welcome Optimisation opportunities
● Do not be afraid to refactor
● Give back to the community to build a better Drupal
Thank you!
billy.clackers@invotra.com
nqobile.dube@invotra.com

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Building self service framework
Building self service frameworkBuilding self service framework
Building self service framework
 
Aws serverless architecture
Aws serverless architectureAws serverless architecture
Aws serverless architecture
 
Jhipster
JhipsterJhipster
Jhipster
 
Intro to React
Intro to ReactIntro to React
Intro to React
 
OpenShift live demo @ Bangkok Technology Forum
OpenShift live demo @ Bangkok Technology ForumOpenShift live demo @ Bangkok Technology Forum
OpenShift live demo @ Bangkok Technology Forum
 
DevOps: Coding Defines Monitoring
DevOps: Coding Defines MonitoringDevOps: Coding Defines Monitoring
DevOps: Coding Defines Monitoring
 
Introduction to Modern DevOps Technologies
Introduction to  Modern DevOps TechnologiesIntroduction to  Modern DevOps Technologies
Introduction to Modern DevOps Technologies
 
Accelerate Your Development: CI/CD using AWS and Serverless
Accelerate Your Development: CI/CD using AWS and ServerlessAccelerate Your Development: CI/CD using AWS and Serverless
Accelerate Your Development: CI/CD using AWS and Serverless
 
Kubernetes, Istio e Knative: The new cloud stack
Kubernetes, Istio e Knative: The new cloud stackKubernetes, Istio e Knative: The new cloud stack
Kubernetes, Istio e Knative: The new cloud stack
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!
 
Introduction to Serverless and Google Cloud Functions
Introduction to Serverless and Google Cloud FunctionsIntroduction to Serverless and Google Cloud Functions
Introduction to Serverless and Google Cloud Functions
 
Cloud Manthn Software Solutions Pvt Ltd - What we do ?
Cloud Manthn Software Solutions Pvt Ltd - What we do ?Cloud Manthn Software Solutions Pvt Ltd - What we do ?
Cloud Manthn Software Solutions Pvt Ltd - What we do ?
 
Integracia security do ci cd pipelines
Integracia security do ci cd pipelinesIntegracia security do ci cd pipelines
Integracia security do ci cd pipelines
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 
Key alias dev standard final
Key alias   dev standard finalKey alias   dev standard final
Key alias dev standard final
 
Kubernetes - training micro-dragons without getting burnt
Kubernetes -  training micro-dragons without getting burntKubernetes -  training micro-dragons without getting burnt
Kubernetes - training micro-dragons without getting burnt
 
Scaling Uber's Real-time Market Platform
Scaling Uber's Real-time Market PlatformScaling Uber's Real-time Market Platform
Scaling Uber's Real-time Market Platform
 
TechTalk - Building Serverless Applications with IBM Bluemix
TechTalk - Building Serverless Applications with IBM BluemixTechTalk - Building Serverless Applications with IBM Bluemix
TechTalk - Building Serverless Applications with IBM Bluemix
 
TechTalk Webinar Series - Getting Started with Apache OpenWhisk
TechTalk Webinar Series - Getting Started with Apache OpenWhiskTechTalk Webinar Series - Getting Started with Apache OpenWhisk
TechTalk Webinar Series - Getting Started with Apache OpenWhisk
 
Operations Delivery Business Value
Operations Delivery Business ValueOperations Delivery Business Value
Operations Delivery Business Value
 

Ähnlich wie How we leveraged Drupal to build a leading SaaS product

Devops Online Training.pdf
Devops Online Training.pdfDevops Online Training.pdf
Devops Online Training.pdf
SpiritsoftsTraining
 

Ähnlich wie How we leveraged Drupal to build a leading SaaS product (20)

Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 
DockerCon EU 2015: Placing a container on a train at 200mph
DockerCon EU 2015: Placing a container on a train at 200mphDockerCon EU 2015: Placing a container on a train at 200mph
DockerCon EU 2015: Placing a container on a train at 200mph
 
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...
 
Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015Triangle Devops Meetup 10/2015
Triangle Devops Meetup 10/2015
 
#RADC4L16: An API-First Archives Approach at NPR
#RADC4L16: An API-First Archives Approach at NPR#RADC4L16: An API-First Archives Approach at NPR
#RADC4L16: An API-First Archives Approach at NPR
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
 
The great migration embracing serverless first
The great migration  embracing serverless first The great migration  embracing serverless first
The great migration embracing serverless first
 
AirBNB's ML platform - BigHead
AirBNB's ML platform - BigHeadAirBNB's ML platform - BigHead
AirBNB's ML platform - BigHead
 
Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa...
 Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa... Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa...
Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa...
 
Serverless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionServerless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From Production
 
Creating a custom API for a headless Drupal
Creating a custom API for a headless DrupalCreating a custom API for a headless Drupal
Creating a custom API for a headless Drupal
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipster
 
Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017
 
Successful DevOps implementation for small teams a true story
Successful DevOps implementation for small teams  a true storySuccessful DevOps implementation for small teams  a true story
Successful DevOps implementation for small teams a true story
 
Crio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassCrio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS Masterclass
 
introduction to micro services
introduction to micro servicesintroduction to micro services
introduction to micro services
 
Netflix Open Source Meetup Season 4 Episode 1
Netflix Open Source Meetup Season 4 Episode 1Netflix Open Source Meetup Season 4 Episode 1
Netflix Open Source Meetup Season 4 Episode 1
 
Devops Online Training.pdf
Devops Online Training.pdfDevops Online Training.pdf
Devops Online Training.pdf
 
Devops Online Training.pdf
Devops Online Training.pdfDevops Online Training.pdf
Devops Online Training.pdf
 
Devops Online Training.pdf
Devops Online Training.pdfDevops Online Training.pdf
Devops Online Training.pdf
 

Mehr von Invotra

Mehr von Invotra (6)

Jamie Garrett, Intranet Now Keynote - Working together to give 90000 employee...
Jamie Garrett, Intranet Now Keynote - Working together to give 90000 employee...Jamie Garrett, Intranet Now Keynote - Working together to give 90000 employee...
Jamie Garrett, Intranet Now Keynote - Working together to give 90000 employee...
 
Invotra's History of Cyber Security
Invotra's History of Cyber SecurityInvotra's History of Cyber Security
Invotra's History of Cyber Security
 
User Experience for the 100% - making your intranet accessible to everyone!
User Experience for the 100% - making your intranet accessible to everyone!User Experience for the 100% - making your intranet accessible to everyone!
User Experience for the 100% - making your intranet accessible to everyone!
 
Why Home Office opted for an Open Source, Cloud SaaS Intranet
Why Home Office opted for an Open Source, Cloud SaaS IntranetWhy Home Office opted for an Open Source, Cloud SaaS Intranet
Why Home Office opted for an Open Source, Cloud SaaS Intranet
 
Harnessing search engines for KM
Harnessing search engines for KMHarnessing search engines for KM
Harnessing search engines for KM
 
Invotra parliament presentation
Invotra parliament presentationInvotra parliament presentation
Invotra parliament presentation
 

Kürzlich hochgeladen

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Kürzlich hochgeladen (20)

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
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
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
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 🔝✔️✔️
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
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
 
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...
 
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
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 

How we leveraged Drupal to build a leading SaaS product

  • 1. How we leveraged Drupal to build a leading SaaS product
  • 3. iO1 ● You’re probably using some of our code ● Earl Miles (merlinofchaos), Head of Research ● Established Drupal development house
  • 4. Home Office approach us... Asked us to build them an intranet * One catch: It must be available as a SaaS product on Gcloud 30,000 20-25 concurrent users 10,000+ content migration
  • 5. Long story short ● We closed down our accounts as iO1 and started to solely focus on Invotra ● At the time, Invotra was around 15-20 employees
  • 6. The product was launched Basic CMS intranet using D7 Basic search for content using Solr Matomo (formerly Piwik) for analytics 25k unique logins 700k visits 200k searches 130k downloads
  • 8. HMRC come aboard Introduced Manuals, integrated with gov.uk 68k unique logins 2M visits 800k searches 600k downloads
  • 9. Home Office ‘small apps’ migration ● They were not really ‘small’ ● Introduced a people directory ○ Searching people, teams & locations ● Introduced Ideas, Tickets, Forums, Document archive
  • 11. DWP Introduced Feed & Notifications - more infrastructure Introduced Groups & replaced yammer 91k unique logins 3M visits 1.5M searches 1.1M downloads
  • 12. Sierra Club Potential 2.5M users Introduced Portal functionality 1k unique logins 5k visits 1k searches
  • 13. Meanwhile ● We onboard: ○ DfT ○ Reading ○ Bracknell ○ Stevenage ○ East Herts ● 45% of UK Government using our intranetproduct
  • 14. Bursting at the seams Nqobile is going to talk about some of the challenges we face supporting this from an infrastructure perspective 200k unique logins 4M visits 115M Visits / year
  • 16. The Current Infrastructure ● AWS ALB ● Varnish Autoscaling EC2 instances ● Web Server Autoscaling EC2 instances (Drupal 7) ● NodeJs API Autoscaling group EC2 instances ● ElastiCache (Redis/Memcache) ● Solr Cluster ● AWS RDS ● Shared tenancy - Application Level Separation
  • 17. Infrastructure Hosted in AWS/FCOs Delivering to 200k users Scaled to handle over 50k requests/min Scaled to handle 3k searches/min
  • 18. Challenges ● Drupal out of the box is not built to handle over 50K requests/min ● Drupal needs to be able to index millions of documents ● Drupal brings a lot of baggage with every page load ● Bottlenecks causing major edge case issues
  • 19. Handling over 50k requests/min ● We made sure to have extensive Monitoring across the platform ○ New Relic ○ AWS CloudWatch ● Implemented Autoscaling within AWS ● Used Drupal for what it is best for - Content / Access control ● We welcomed optimisation opportunities
  • 20. Indexing Millions of documents ● We clustered our Search engine (Solr) ● We leveraged drush for indexing ● Indexed exactly what we needed
  • 21. Drupal baggage ● There is so much functionality in the product ● Massive bootstrap with every page load ● Caching at every level was Key ○ Varnish ○ Opcache ○ Memcache ○ Database query cache ● With the right caching we improved page load times by up to 40%
  • 22. Reaching Bottlenecks ● Over the years, more traffic meant more edge case issues ● These issues were specific to our platform ● Through monitoring we were able to pinpoint bottlenecks ● If there was anything we could give back to the drupal community, we would
  • 23. Looking to the future
  • 24. A new approach ● We realised we needed a new approach ● We know that D8 is looming
  • 25. Mobile app ● A customer asked us to build a mobile app for them ● We built it solely using our API’s, with a javascript front end ● This gave us an idea..
  • 26. Replatforming ● Decided to start building out a whole new architecture ○ API’s and JS front end ○ Utilising a D8 back end ● Nqobile will talk more on this later on
  • 27. Invotra labs ● Started this stream of work in parallel to replatforming ● The idea is to start replacing current D7 functionality with JS apps that utilise API’s ● Utilising Material UI ● Here’s an example..
  • 28. The vision ● Replace the product bit-by-bit, creating js apps that talk to the API ● This helps us to seamlessly switch over to D8 as and when we are ready ● Nqobile is now going to take us through the new infrastructure in more detail
  • 30. The new Infrastructure ● Drupal 8 for content processing ● AWS Cognito for Authentication ● GraphQL/AWS Lambda for Nodejs API calls ● ReactJs for front end delivery ● AWS ElasticSearch as the Seach engine ● AWS EFS for storing customer assets ● AWS DocumentDB ● AWS RDS Aurora
  • 31. Benefits ● Moving to Serverless platform ● Deployments at pace ● Deployments without any downtime ● Taking full Advantage of AWS Expertise
  • 32. Moving to a Serverless platform ● We value AWS managed Services ● We can focus on growing the product ● We only pay for what we use ● This positively affects Service availability ● We are able to Deliver a better experience to our customers
  • 33. Deployment at pace ● At the moment we deploy Invotra enhancements fortnightly ● We have a goal of being able to deploy daily ● We do not want to compromise the user experience ● This new infrastructure will enable us to achieve this
  • 34. Deployments - No Downtime ● We currently release breaking changes almost every release - This requires downtime ● We had to rethink our deployment strategy ● With AWS managed Services this is made possible
  • 35. AWS integrations ● We are always on the lookout for Integrating with AWS Services ● We leverage Drupal to Allow us to integrate with AWS ● Example - ALB Authentication https://www.drupal.org/project/alb_auth ● AWS Lambda / API Gateway - for backend APIs and notifications services
  • 36. Key points ● Only use Drupal for what it is best for ● Always improve your Monitoring capabilities ● Welcome Optimisation opportunities ● Do not be afraid to refactor ● Give back to the community to build a better Drupal