A microservice architecture is where the application (monolithic) is broken into sub-services loosely coupled together. Here's how you can leverage the power of microservices in your Drupal architecture
2. Index
● Introduction
● Understanding the terminology
● Tracing the roots in the UNIX world
● How good or bad are Microservices?
● The benefits of Microservices
● Challenges in Microservices
● Taking Drupal into context
● Predictions ahead
● Conclusion
3. Introduction
● The New York Times leveraged the power of Microservice Architecture
via a remodelled video publishing platform
● They also leveraged a suite of Microservices for sending emails to the
readers
Why are big enterprises like The New York Times
leaning towards microservices?
4. Understanding the Terminology
● Microservices are an architecture for splitting a monolithic application
into smaller pieces
● Each of those pieces offers a certain function through a well-defined and
carefully handled API
● Netflix is an unsurpassed example of microservices adoption
● Netflix moved from a traditional development model with several
engineers producing a monolithic DVD-rental application to a
Microservices Architecture
5. ● New Relic has compiled an interesting and brief timeline of the evolution
of Microservices
● Microservices has its roots in the Unix world that takes us back to more
than three decades ago
● Martin Fowler, among others, has said that microservices are a new spin
on SOA (Service-Oriented Architecture)
● As a term, it was first documented in 2011 by Fowler at a software
architects’ workshop
Tracing the Roots in the UNIX World
9. ● Autonomous deployments
● Autonomous development
● Small teams
● Isolation of faults
● Tech stack mixture
● Scalability at granular levels
The Benefits of Microservices are:
10. Some of the Challenges are:
● Intricacy
● Development and testing
● The dearth of administration
● Network congestion and latency
● Data integrity
● Management
● Update issues
● Team skill-set
11. Taking Drupal into the Context
● Drupal, being an amazing content management framework, provides
a great content editing experience and has been pioneering digital
innovation
● With that being said, microservices architecture can be used for
development and deployment of applications using Drupal
Drupal is a monolith. How can it survive this trend
of microservices?
12. Demonstration at DrupalCon Vienna 2017
● An effective way of integrating Drupal 8 in a Microservices Architecture was
shown
● Drupal 8 proved beneficial because of its
○ Symfony components
○ Composer to manage external dependencies
○ and the magnificent results of the Web Services and Context Core
Initiative (WSCCI)
Demonstration at DrupalCon Vienna 2017
13. ● The presentation exhibited the delegation of asynchronous work from
Drupal to a set of very reactive applications written in go with some
assistance of RabbitMq queues
● Elasticsearch was leveraged as a common data storage between
services
14. ● REST endpoints were exposed where the endpoints could notify back to
Drupal
● Methods of connecting websocket server to push and pull messages
between services were shown
● To run all these services in a controlled and replicable manner, services
of Ansible and Docker were extracted
15. ● The citizen portal of the city of Reykjavik (Iceland) was relaunched
using Drupal and Microservices
● Incorporation of more than 100 web services was performed
● This new portal integrates the services with a Microservices
architecture using JSON Schema as a communication protocol
● It allowed centralised data collection and presentation in a single
portal and incorporated a heterogeneous landscape of services
autonomously from one another
Demonstration at Drupal Developer Days
Lisbon 2018
16. ● Oracle’s Cloud Predictions 2018 report states that by 2020, the lion’s
share of new applications will be powered by Microservices Architectures
● Open source has given a whopping push to the Microservices
Architecture
● Adoption of cross-cloud containers like Docker and Kubernetes is
growing
Predictions Ahead
17. ● Market Research Future states that the Microservices Architecture
market is expected to reach $32.01 billion by 2023 with a Compound
Annual Growth Rate (CAGR) of around 16.17% during the forecast
period
● Another report on Research and Markets states that the rise in the
cloud adoption is integral for Microservices market
19. Innovation has always been something Drupal is greatly supportive of.
Adopting a Microservice Architecture for Drupal development is
possible and is extremely fruitful.
Conclusion
20. Contact us at hello@opensenselabs.com to know more about
microservices architectures and its value to your organisational
setup.