22
WITH CURIOSITY LEAD Qlik Sense ® DevOps Event-driven App Promotion, Approval, Alerting, & Versioning Daniel Pilla Sr. Enterprise Architect Levi Turner Enterprise Architect

LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

WITHCURIOSITYLEAD

Qlik Sense® DevOps –Event-driven App Promotion, Approval, Alerting, & Versioning

Daniel Pilla

Sr. Enterprise Architect

Levi Turner

Enterprise Architect

Page 2: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

2

Open Source Statement

• This presentation contains information about project(s) utilizing opensource. Qlik does not provide maintenance or support services for opensource projects.

• Information about open source projects may be found on the applicableopen source community, Qlik Branch® and/or Qlik Community.

• For customers and partners current on maintenance fees, Qlik doesprovide maintenance and support services relating to Qlik Sense® APIs,in accordance with Qlik’s Maintenance Policy and procedures.

Page 3: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

3

DevOps includes core practices such as planning and tracking, development, build and test, delivery, and monitoring and operations. These practices, along with DevOps tools and technologies, help automate the application lifecycle. Processes that used to be manual and slow for your teams—like updating code or provisioning a new environment—you can do quickly and continuously when you use DevOps tooling and practices.

DevOps

Page 4: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

4

Art of the PossibleDeep-dive Exploration

Page 5: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

5

• What is this project about?

• Why is it different?

• How does it work?

Page 6: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

6

Context

• Example solution

- Not intended for production use

• Built using Python

- Personal language of choice – not required

Open Source

Page 7: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

7

So What’s it Do?

Page 8: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

8

Project Scope

• Approval Management

- Ability to “approve” (promote) and “deny” (unpublish) applications

• Cross-site Application Promotion

- Promote apps cross-site to target stream(s) -- replace or duplicate options

• Roles

- Security rule definitions allowing for only certain users to approve/deny and promote apps

• Email alerts

- On new apps to streams

- On app promoted or denied

• Versioning

- Export apps without data and store in versioned S3 bucket

• Auditing

- Qlik® monitoring dashboard included that reads program’s logs

Page 9: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

9

Workflow

Sales

Approved

Denied

Published

Dev

Sales

Published

Test

Approved

Denied

owner

ownerOptional Unpublish Optional Unpublish

Unpublish Unpublish

S3

BucketS3

Bucket

Page 10: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

10

Why is it Different?

Page 11: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

11

Common Solutions

• Scheduled or triggered externally

- Do xyz nightly

- Do abc hourly

• Polling

- Is this criteria met?

- Is this criteria met?

- Is this criteria met?

• Qlik External Program Tasks (chained or scheduled)

- Ok, this one isn’t _that_ simple

And quite frankly, simpler

Page 12: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

12

The Event-Driven Difference

• Actions fire in direct response to events within Qlik Sense

- App is reloaded

- App is published

- New user added

- Task succeeds/fails

- … pretty much anything

Because we all love real-time

Page 13: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

13

How Does it Work?

Page 14: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

14

Main Concept

• QRS API

- Notification endpoint

• Definition

• “Add a change subscription that makes the QRS call a URL when the specified entity has changed.”

• Examples

• Any app update:

• /qrs/notification?name=app&changeType=update

• Any app publish:

• /qrs/notification?name=app&changeType=update&propertyName=publishTime

Notifications

Page 15: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

15

Notifications

• Name

• changeType

• (optional) filter

• (optional) PropertyName

• (optional) Condition

Parameters

Page 16: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

16

Components & Topology

Flask Flask

Page 17: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

17

DemoFinally

Page 18: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

18

Resources

• Open Source Project on GitHub: https://github.com/eapowertools/qs-event-driven-cross-site-app-promoter

• Blog on QRS Notification Endpoint: https://eablog.qlik-poc.com/2018/11/01/qlik-sense-repository-notification-api/

Page 19: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

Q&A

Page 20: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

Thank You

Stay in the know on Qlik product innovations. Register for our quarterly webinar series.

qlik.com/QlikInsider

Want to learn more? Check out these resources:

Connect with Qlik enthusiasts around the world. Learn, share and explore. Register today.

community.qlik.com

Page 21: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

21

Breakout Session Survey

We strive to improve the event each

year and are interested in hearing

your feedback on this session.

To access the session survey please

log into the mobile app and click this

session on your personal agenda.

Click the Survey button in the top

menu to complete the survey.

We thank you in advance!

Page 22: LEAD WITHCURIOSITY - Lanyon · Sales Approved Denied Published Dev Sales Published Test Approved ... •Actions fire in direct response to events within Qlik Sense - App is reloaded

Thank You