111
#atlassian

Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Embed Size (px)

DESCRIPTION

To take advantage of Atlassian Connect, the Gliffy team had to re-architect several components of our popular diagramming plugin. Learn about the challenges we faced, how we overcame them, and tips on how you can take your P2 plugin to the cloud.

Citation preview

Page 1: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#atlassian

Page 2: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

MIKE CIALOWICZ • ATLASSIAN PLUGINS LEAD • GLIFFY • @MikeCialowicz

Taking Gliffy to the CloudMoving to Atlassian Connect

Page 3: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Taking Gliffy to the Cloud

Page 4: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Taking Gliffy to the Cloud

A B O U T G L I F F Y

Page 5: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Taking Gliffy to the Cloud

A B O U T G L I F F Y

P 2 V S C O N N E C T

Page 6: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Taking Gliffy to the Cloud

A B O U T G L I F F Y

P 2 V S C O N N E C T

G L I F F Y J I R A C O N N E C T A D D - O N

Page 7: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Taking Gliffy to the Cloud

P 2 V S C O N N E C T

A B O U T G L I F F Y

G L I F F Y J I R A C O N N E C T A D D - O N

Page 8: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 9: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 10: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 11: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 12: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 13: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 14: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

10,000+ Organizations in 100+ Countries

Page 15: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Taking Gliffy to the Cloud

P 2 V S C O N N E C T

A B O U T G L I F F Y

G L I F F Y J I R A C O N N E C T A D D - O N

Page 16: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

+

Page 17: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

We’re already in Atlassian’s cloud!

Page 18: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

We’re already in Atlassian’s cloud!…formerly known as

Page 19: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

…but it’s our P2 plugin

Page 20: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

a download product in a cloud service

…but it’s our P2 plugin

Page 21: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

P2 in OnDemand: Not Ideal

Page 22: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Rely on Atlassian to push updatesP2 in OnDemand: Not Ideal

Page 23: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Rely on Atlassian to push updates• Plugins consume host resources

P2 in OnDemand: Not Ideal

Page 24: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Rely on Atlassian to push updates• Plugins consume host resources

P2 in OnDemand: Not Ideal

Page 25: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

P2 in OnDemand: Not Ideal

Page 26: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Restricted tech stack: Java

P2 in OnDemand: Not Ideal

Page 27: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Restricted tech stack: Java• OSGi = sad developers

P2 in OnDemand: Not Ideal

Page 28: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Restricted tech stack: Java• OSGi = sad developers• Constant API changes

P2 in OnDemand: Not Ideal

Page 29: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

What is Connect?

Page 30: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• A new way to build add-ons

What is Connect?

Page 31: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• A new way to build add-ons• It’s in the cloud: you host, you control

What is Connect?

Page 32: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• A new way to build add-ons• It’s in the cloud: you host, you control• Everyone can sell in OnDemand!

What is Connect?

Page 33: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Benefits

Page 34: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Continuous delivery & rapid updates

Benefits

Page 35: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Continuous delivery & rapid updates• Well-designed, well-defined API

Benefits

Page 36: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Continuous delivery & rapid updates• Well-designed, well-defined API• Choose your tech stack

Benefits

Page 37: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Continuous delivery & rapid updates• Well-designed, well-defined API• Choose your tech stack

Benefits

$$

Page 38: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Taking Gliffy to the Cloud

P 2 V S C O N N E C T

A B O U T G L I F F Y

G L I F F Y J I R A C O N N E C T A D D - O N

Page 39: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Editor launch• Diagram save

Two Gliffy JIRA Use-Cases

Page 40: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 41: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Editor Launch

Page 42: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 43: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 44: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Editor Launch Dialog

Page 45: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Editor Launch Dialog

Page 46: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 47: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 48: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Editor Launch: Components

Page 49: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• HTML5 editor

Editor Launch: Components

Page 50: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• HTML5 editor• Shape libraries

Editor Launch: Components

Page 51: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• HTML5 editor• Shape libraries• Templates

Editor Launch: Components

Page 52: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Resources in P2

Page 53: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 54: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#ToTheCloud!

Page 55: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 56: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#LensFlare

Page 57: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Web App Resource Delivery

• Fast• Cacheable

Page 58: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Web App Resource Delivery

• Fast• Cacheable} 1. Fetch using GET

2. Use GZIP3. CDN4. HTTP cache headers

Page 59: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

HTML5 Editor

Page 60: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

HTML5 Editor

STATIC

Page 61: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Shapes

Page 62: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Shapes

STATIC

Page 63: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Templates

Page 64: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Templates

STATIC

Page 65: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

•HTML5 Editor•Shapes•Templates

Gliffy JIRA Connect Resources

Page 66: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

•HTML5 Editor•Shapes•Templates } +

CDN!

S3 CloudFront

Gliffy JIRA Connect Resources

Page 67: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

CDN Cache Invalidation

S3:

CloudFront:

Page 68: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 69: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

P2: atlassian-plugin.xml

Page 70: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Connect: atlassian-connect.json

Page 71: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Editor launch• Diagram save

Two Gliffy JIRA Use-Cases

Page 72: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 73: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Diagram Save

Page 74: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Diagram CRUD

Page 75: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• RESTful Services• open• save/update• delete• history• import• export

Diagram CRUD

Page 76: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 77: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

P2: RESTful ServicesAtlassian REST Service

Page 78: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

P2: RESTful Services

Page 79: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 80: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#ToTheCloud!

Page 81: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Gliffy JIRA Connect Services

•Diagram CRUD•JWT Auth•Transform

Page 82: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Gliffy JIRA Connect Services

}}

atlassian-connect-express

Common Gliffy Service

•Diagram CRUD•JWT Auth

•Transform

Page 83: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

•Diagram CRUD•JWT Auth }

} Common Gliffy Service•Transform

Gliffy JIRA Connect Services

Page 84: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

•Diagram CRUD•JWT Auth }

} Common Gliffy Service•Transform

Gliffy JIRA Connect Servicesatlassian-connect-express

+RDSBeanStalk

+S3

Page 85: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Connect: RESTful Services

Page 86: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Connect: RESTful Services…running on our stack

Page 87: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Connect: RESTful Services…running on our stack

Page 88: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 89: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#darkIDEtheme4life

Page 90: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Save Request

Page 91: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Save Request

Page 92: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Save Request elite h4xx0r view

Page 93: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Gliffy Connect Cloud • Latest diagram• Older versions

!

• Latest diagram as attachment

Diagram Storage

Page 94: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Gliffy Connect Cloud • Latest diagram• Older versions

!

• Latest diagram as attachment

Easy migration to Server / Data Center

Diagram Storage

Page 95: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz
Page 96: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Why AWS?

Page 97: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Simplicity: easy to get started

Why AWS?

Page 98: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Simplicity: easy to get started• Power: many advanced features/services

Why AWS?

Page 99: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Simplicity: easy to get started• Power: many advanced features/services• Flexibility: grows with you

Why AWS?

Page 100: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Simplicity: easy to get started• Power: many advanced features/services• Flexibility: grows with you• Reliability: fault tolerant

Why AWS?

Page 101: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Simplicity: easy to get started• Power: many advanced features/services• Flexibility: grows with you• Reliability: fault tolerant• Economy: relatively inexpensive

Why AWS?

Page 102: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Elastic Beanstalk

Page 103: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#atlassianKey takeaways:

Page 104: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#atlassianKey takeaways:

• Using Connect, sell in OnDemand!

Page 105: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#atlassianKey takeaways:

• Using Connect, sell in OnDemand!• Use Atlassian frameworks as examples

Page 106: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#atlassianKey takeaways:

• Using Connect, sell in OnDemand!• Use Atlassian frameworks as examples• AWS / Heroku are great ways to get started

Page 107: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#atlassianKey takeaways:

• Using Connect, sell in OnDemand!• Use Atlassian frameworks as examples• AWS / Heroku are great ways to get started• CDN-ify static resources!

Page 108: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#atlassianKey takeaways:

• Using Connect, sell in OnDemand!• Use Atlassian frameworks as examples• AWS / Heroku are great ways to get started• CDN-ify static resources!• Plan for scale

Page 109: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

#atlassianKey takeaways:

• Using Connect, sell in OnDemand!• Use Atlassian frameworks as examples• AWS / Heroku are great ways to get started• CDN-ify static resources!• Plan for scale• Plan for “BTF” migration to Server / Data Center

Page 110: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

• Find me wandering around the conference• Get free stuff: visit Gliffy’s conference booth• Use the tweeters: @MikeCialowicz• Use the interbots on port 465: [email protected] !

Resources:• Connect Guide & API https://developer.atlassian.com/static/connect/docs/guides/introduction.html• Connect Express

https://bitbucket.org/atlassian/atlassian-connect-express• Connect Play

https://bitbucket.org/atlassian/atlassian-connect-play-java

Questions?

Page 111: Taking Gliffy to the Cloud – Moving to Atlassian Connect - Mike Cialowicz

Thank you!

MIKE CIALOWICZ • ATLASSIAN PLUGINS LEAD • GLIFFY • @MikeCialowicz