17. Poll time!
I use binary repository:
Naturally, Artifactory!
Shame on me,
but still Nexus…
18. Poll time!
I use binary repository:
Naturally, Artifactory!
Shame on me,
but still Nexus…
I don’t like features, I use Archiva
19. Poll time!
I use binary repository:
Naturally, Artifactory!
Shame on me,
but still Nexus…
I don’t like features, I use Archiva
I am a caveman, binary what?
41. What you like about it:
– No need to maintain the server
42. What you like about it:
– No need to maintain the server
– Fanatic tech support
43. What you like about it:
– No need to maintain the server
– Fanatic tech support
– Always up to date!
44. What you like about it:
– No need to maintain the server
– Fanatic tech support
– Always up to date!
What you don’t like about it:
45. What you like about it:
– No need to maintain the server
– Fanatic tech support
– Always up to date!
What you don’t like about it:
– Can’t deploy your own plugins!
46. What you like about it:
– No need to maintain the server
– Fanatic tech support
– Always up to date!
What you don’t like about it:
– Can’t deploy your own plugins!
47. What you like about it:
– No need to maintain the server
– Fanatic tech support
– Always up to date!
What you don’t like about it:
– Can’t deploy your own plugins!
61. Controversial example ahead!
You might find it inaccurate.
If you are annoyed by that feeling,
try to remember – it’s just an
example.
62. GaaE: Google as an Example
Product Self
Service
Multi-
tenant
* aaS
63. GaaE: Google as an Example
Product Self
Service
Multi-
tenant
* aaS
Gmail
Not *aaS,
web-app
64. GaaE: Google as an Example
Product Self
Service
Multi-
tenant
* aaS
Gmail
Not *aaS,
web-app
Google Apps
SaaS
65. GaaE: Google as an Example
Product Self
Service
Multi-
tenant
* aaS
Gmail
Not *aaS,
web-app
Google Apps
SaaS
Google App
Engine
PaaS
66. GaaE: Google as an Example
Product Self
Service
Multi-
tenant
* aaS
Gmail
Not *aaS,
web-app
Google Apps
SaaS
Google App
Engine
PaaS
Google Compute
Engine
IaaS
67. AaaE: Amazon as an Example
Product Self
Service
Multi-
tenant
* aaS
68. AaaE: Amazon as an Example
Product Self
Service
Multi-
tenant
* aaS
Amazon store
Not *aaS,
web-app
69. AaaE: Amazon as an Example
Product Self
Service
Multi-
tenant
* aaS
Amazon store
Not *aaS,
web-app
aStore
SaaS
70. AaaE: Amazon as an Example
Product Self
Service
Multi-
tenant
* aaS
Amazon store
Not *aaS,
web-app
aStore
SaaS
Amazon Elastic
Beantalk
PaaS
71. AaaE: Amazon as an Example
Product Self
Service
Multi-
tenant
* aaS
Amazon store
Not *aaS,
web-app
aStore
SaaS
Amazon Elastic
Beantalk
PaaS
Amazon Elastic Cloud
IaaS
105. GaaE for Multi Tenancy types
Product Multi-tenancy Type
106. GaaE for Multi Tenancy types
Product Multi-tenancy Type
Google Apps Data Separation
107. GaaE for Multi Tenancy types
Product Multi-tenancy Type
Google Apps Data Separation
Google App Engine Application Separation
108. GaaE for Multi Tenancy types
Product Multi-tenancy Type
Google Apps Data Separation
Google App Engine Application Separation
Google Compute
Engine
Process Separation
110. Strategy Pros Cons
Separating data Normal Java Application
Separating
application
Separating
processes
Let’s compare!
111. Strategy Pros Cons
Separating data Normal Java Application Manual state
separation
Complicated and
critical schema
Separating
application
Separating
processes
Let’s compare!
112. Strategy Pros Cons
Separating data Normal Java Application Manual state
separation
Complicated and
critical schema
Separating
application
Separating
processes
Let’s compare!
113. Strategy Pros Cons
Separating data Normal Java Application Manual state
separation
Complicated and
critical schema
Separating
application
Separating
processes
No shared state
Simple transition from
existing
Let’s compare!
114. Strategy Pros Cons
Separating data Normal Java Application Manual state
separation
Complicated and
critical schema
Separating
application
Separating
processes
No shared state
Simple transition from
existing
JVM per tenant!
Let’s compare!
115. Strategy Pros Cons
Separating data Normal Java Application Manual state
separation
Complicated and
critical schema
Separating
application
Separating
processes
No shared state
Simple transition from
existing
JVM per tenant!
Let’s compare!
116. Strategy Pros Cons
Separating data Normal Java Application Manual state
separation
Complicated and
critical schema
Separating
application
No shared state
Simple transition from
existing
Separating
processes
No shared state
Simple transition from
existing
JVM per tenant!
Let’s compare!
117. Strategy Pros Cons
Separating data Normal Java Application Manual state
separation
Complicated and
critical schema
Separating
application
No shared state
Simple transition from
existing
Separating
processes
No shared state
Simple transition from
existing
JVM per tenant!
Let’s compare!
118. Strategy Pros Cons
Separating data Normal Java Application Manual state
separation
Complicated and
critical schema
Separating
application
No shared state
Simple transition from
existing
Stay tuned…
Separating
processes
No shared state
Simple transition from
existing
JVM per tenant!
Let’s compare!
119. Separate WARs: Tomcat Root
┌── lib
├── webapps
│ ├── customer-name
│ ├── other-customer-name
│ └── many other customers
└── other dirs (bin, conf, log, etc)