towards customizing multi-tenant cloud applications using non- … · towards customizing...

30
Towards customizing multi-tenant Cloud applications using non- intrusive microservices Phu H. Nguyen, Hui Song, Franck Chauvel (SINTEF), Erik Levin (Visma) Microservices Conference, Dortmund, February 19th, 2019

Upload: others

Post on 05-Jul-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Towards customizing multi-tenant Cloud applications using non-intrusive microservicesPhu H. Nguyen, Hui Song, Franck Chauvel (SINTEF), Erik Levin (Visma)

Microservices Conference, Dortmund, February 19th, 2019

Page 2: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

2

Page 3: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Close working relationship

Focus on:

• R&D Results, Patents and IP

• Products and Services

• System Solutions

• Business Concepts

• Spin-off Companies

Page 4: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

OrganizationSINTEF Building and Infrastructure

SINTEF DigitalSINTEF Materials and ChemistrySINTEF Technology and Society

SINTEF Energy ResearchSINTEF Fisheries and AquacultureSINTEF Petroleum ResearchMARINTEK

Page 5: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

SINTEF Digital

Acoustics and Communication

Software engineering,Safety and Security

Microsystems and Nanotechnology

Software and Service

Innovation

Smart Sensor Systems

Mathematics and Cybernetics

HCI – Human Computer Interaction

SIS – Secure IoTSoftware

SD – Smart Data

Page 6: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Secure IoT Software Research Group Twitter @secure_iot_grp

6

Page 7: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

This talk shows 1) the problem of customization; 2) ourcustomization approaches; and 3) some lessons learned.

The problem of customization for multi-tenant SaaS

Customization with intrusive microservices or non-intrusive?

Some lessons learned

7

Page 8: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

1) The problem of customization: Why Cirrus?

• More than 60 % of businesses adapt standard systems software to their needs1

• Major2 (potential) customers will never move to the cloud if the service cannot be customised to their specific needs

1 Maintaining ERP Systems: The Cost of Change. IDC/Michael Fauscette. May 2013.2 A major customer is typically a customer with more than hundred employees.

8

Page 9: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Enterprise software needs customisation

Why

• Every company is unique

• Need to integrate with other services

• Everything is changing fast

How

• UI re-design• New business

logic• New data types

UI

Standard executable code

Custom code

Client

Server

Tables & fields

Tables & Fields

9

Page 10: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Cirrus project: SINTEF in collaboration with Super Office and Visma

10

Cirrus Project facts

SINTEF is the largest independent research organisation in Scandinavia

Funded by the Research Council of Norway + SuperOffice and Visma.

Page 11: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

The Cirrus project aims toProvide technology, tools and processes to allow customers to modify a multi-tenant cloud-based software-as-a-service with customised code without compromising the benefits of cloud computing.

11

Page 12: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Customization

12

Page 13: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Cost of ownership

Tech

nica

l ski

lls

requ

ired

Ease

of u

se /

Scal

abilit

y

Prefs &settings

VisualProgramming

Scripting

APIs

Tool-sets for customization

HighLow

Programmer(developer)

Tech. Consultant

Admin user

DeepCustomizatio

n

Low

High

13

DeepCustomization!

SalesForce's APEX language

SuperOffice's CRMScript

Page 14: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

2) Our customization approaches based onMicroservices

Towards non-intrusive customization?

14

What does customization by microservices mean?

What does "intrusive microservice" mean?

Page 15: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Customization by microservices

15

Code for customization is written and packaged as microservices that interact with the base system for customizing user interface (UI), business logic (BL), and database (DB).

Microservices for customisation purposes can be packaged and deployed (e.g., on containers) separately from the main product and each other (of different tenants).

Benefits:• Isolation, which is important for multi-tenant context.• Independent development, deployment, and operation. • Technology stack freedom.

Base system (main product)

Page 16: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

microservice

"Intrusive Microservices"

UI

Account Store ShoppingCart

asp.net core

DB

RESTExtendedfunctions

DB

Standard product-Microservice or monolithic- hotplug

Tenant manager

Register: (tenant, function) -> endpoint

Custom code as a microservice- Only the changed function- Fine-grained replacement- Not limited by APIs- No direct access to the product database- New view template to feed the standard HTML generator (Razor)Node or VM in cloud

View temp

resourcescript

16

Page 17: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Intrusive custom codeCustom code

Embedded interpreter with product context

Callback code / page query

Main code

Full context(code-level customisation)

Limited context(API and services)

How much partners can customise?

(small) code flow(large) code flow

17

Page 18: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Dynamic Linq (C#)

Javascript (or whatever language)

18Video demo: https://www.youtube.com/watch?v=IIuCeTHbcxc&t=6s

Interactions Example

Page 19: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Intrusive vs. Non-intrusive customization

19

Customization using intrusive microservices has a maindrawback: "intrusive" call-back code!

How to be non-intrusive? It depends a lot on what kind of architecture of the "base" system (main product)!• Our industrial partner Visma is migrating their ERP system

to microservices architecture, which would be much more "customization-friendly".

• We can orchestrate the non-intrusive customization using microservices via API Gateway pattern if the base system has microservices architecture.

Base system (main product)

Page 20: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Non-intrusive customization via API Gateway

20

Page 21: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

21 https://github.com/dotnet-architecture/eShopOnContainers

Page 22: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Interactions in non-intrusive customization

22

Page 23: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

3) Some lessons learned.

Some lessons learned

23

Page 24: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Summary and lessons learned

Email: phu.nguyen [at] sintef.no

Intrusive customization for multi-tenant SaaS using microservices is feasible, even for monolith!

Microservices architecture would be more customization-friendly for multi-tenant SaaS! Non-intrusive customization using microservices is also feasible then.

Microservices-based approach is only one of the main approaches of the Cirrus project. There are other approaches, e.g., based on Scripting language.

There is no one silver bullet! We should choose what's best for a specific system, and business model.

24

Page 25: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

WorkflowAutomation

Macros, Visual Programming

Customization ToolsRight Tool for the Right Job

Programmer

€€€€Cost of ownership€

ScriptingCustom Screens, Extra Tables

ConfigurationAdmin client

InProduct

Internal APIsIntrusive Microservices

Customized standard code

External API’sREST, SOAP, webHooks

Connectors, DB Mirroring

Parallell stacks

Administrator

Consultant i.e Zapier, IFTTTIntegration Platform

Action & Triggers

App StoreStandard

3rd party Platforms

25

Page 26: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

The Custom Code Challenges with multi-tenancy

Isolation

Assimilation Economy of Scale

“Private cloud”

Scripting engine

Add-in

26

Page 27: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

2727

Page 28: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Operations

Tools &Application services

Sandboxenvironment

App StoreCertificationMarketing Pricing

LicensingOrderBilling

Provisioningpackages

onboarding

OperationsMonitoring

LoggingUpgrades

AppRepository

OperationsDevelopersVendor, Partner,

Customer

DevelopersTesters

Partner & Software Vendor

Sales Customer

Partner

Different procedures for: Standard AppsCustom Apps

Support for:New customers

Existing customersMigrations

Cirr

us e

cosy

stem

For SuperOffice this is part of the

CRM Online Platform

ApplicationServices:

AuthenticationLicensing

BillingEducation

AI ServicesLogging

MonitoringTesting

etc.

28

Page 29: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Main References & Acknowledgements• The Cirrus project https://www.sintef.no/en/digital/software-and-service-innovation/secure-iot-

software/cirrus/ This project has received funding from the Research Council of Norway, in collaboration with SuperOffice, and Visma.

• https://www.expanderworld.com/ More about the Cirrus project at SuperOffice, 2018.• Song, H., F. Chauvel, and A. Solberg. Deep customization of multi-tenant SaaS using intrusive

microservices. In Proceedings of the 40th International Conference on Software Engineering: New Ideas and Emerging Results. 2018. ACM.

• Chauvel, Franck, and Arnor Solberg. "Using Intrusive Microservices to Enable Deep Customization of Multi-tenant SaaS." 2018 11th International Conference on the Quality of Information and Communications Technology (QUATIC). IEEE, 2018.

29

This work is part of the Cirrus project funded by the Research Council of Norway, SuperOffice and Visma.

Page 30: Towards customizing multi-tenant Cloud applications using non- … · Towards customizing multi-tenant Cloud applications using non-intrusive microservices. Phu H. Nguyen, Hui Song,

Technology for a better society