SlideShare a Scribd company logo
1 of 101
Download to read offline
HOW WE TOOK OUR SERVER-
SIDE APPLICATION TO THE
CLOUD…
…and liked what we got
Agenda
 Where we started
 What we did
 Paradigm shift
First Things First




                     3
BACKGROUND
Who’s talking?
Developer who?
Developer who?
JFrog Where?
JFrog Where?
JFrog Where?
JFrog Where?
Artifactory what?
Yet Another Java Server App
Moving Forward
Moving Forward
Moving Forward
Moving Forward
Moving Forward
Artifactory SaaS
Artifactory SaaS




  etc.
Moving Forward
A load of Artifacts!
JOURNEY TO
 THE CLOUD
THE *AAS BUZZ
* As A Service
     Self Service   Multi-tenant
GaaE: Google as an Example

Product      Self      Multi-   * aaS
             Service   tenant
GaaE: Google as an Example

Product      Self      Multi-   * aaS
             Service   tenant
Gmail
                              Not *aaS, web-app
GaaE: Google as an Example

Product       Self      Multi-   * aaS
              Service   tenant
Gmail
                               Not *aaS, web-app

Google Apps
                               SaaS
GaaE: Google as an Example

Product             Self      Multi-   * aaS
                    Service   tenant
Gmail
                                     Not *aaS, web-app

Google Apps
                                     SaaS

Google App Engine
                                     PaaS
GaaE: Google as an Example

Product                 Self      Multi-   * aaS
                        Service   tenant
Gmail
                                         Not *aaS, web-app

Google Apps
                                         SaaS

Google App Engine
                                         PaaS

Google Compute Engine
                                         IaaS
AaaE: Amazon as an Example

Product     Self      Multi-   * aaS
            Service   tenant
AaaE: Amazon as an Example

Product        Self      Multi-   * aaS
               Service   tenant
Amazon store
                                Not *aaS, web-app
AaaE: Amazon as an Example

Product        Self      Multi-   * aaS
               Service   tenant
Amazon store
                                Not *aaS, web-app

aStore
                                SaaS
AaaE: Amazon as an Example

Product                    Self      Multi-   * aaS
                           Service   tenant
Amazon store
                                            Not *aaS, web-app

aStore
                                            SaaS

Amazon Elastic Beanstalk
                                            PaaS
AaaE: Amazon as an Example

Product                    Self      Multi-   * aaS
                           Service   tenant
Amazon store
                                            Not *aaS, web-app

aStore
                                            SaaS

Amazon Elastic Beanstalk
                                            PaaS

Amazon Elastic Cloud
                                            IaaS
The SaaS Pains - Overview
 Multi-tenancy
 Platform selection
  > PaaS or IaaS
 DB schema updates
Multi-tenancy
Java 9 Already!
Wait for it?!
   Two-year release cycle
   Java 7: 07 2011
   Java 8: 09 2013
   Java 9: Late 2015
Wait for it?!
   Two-year release cycle
   Java 7: 07 2011
   Java 8: 09 2013
   Java 9: Late 2015
Multi Tenancy Types

Muli-tenancy Type
Multi Tenancy Types

Muli-tenancy Type

Data Separation
Multi Tenancy Types

Muli-tenancy Type

Data Separation

Application Separation
Multi Tenancy Types

Muli-tenancy Type

Data Separation

Application Separation

Process Separation
GaaE for Multi Tenancy Types

Product          Muli-tenancy Type
GaaE for Multi Tenancy Types

Product          Muli-tenancy Type

Google Apps      Data Separation
GaaE for Multi Tenancy Types

Product             Muli-tenancy Type

Google Apps         Data Separation

Google App Engine   Application Separation
GaaE for Multi Tenancy Types

Product                 Muli-tenancy Type

Google Apps             Data Separation

Google App Engine       Application Separation

Google Compute Engine   Process Separation
Comparing the Strategies
Strategy          Pros                          Cons
Separating data      Normal Java Application      Manual state
                                                    separation
                                                   Complicated and
                                                    critical schema
Comparing the Strategies


 
Strategy          Pros                          Cons
Separating data      Normal Java Application      Manual state
                                                    separation
                                                   Complicated and
                                                    critical schema
Comparing the Strategies


 
Strategy            Pros                           Cons
Separating data         Normal Java Application      Manual state
                                                       separation
                                                      Complicated and
                                                       critical schema




Separating processes    No shared state              JVM per tenant!
                        Simple transition from
                         existing
Comparing the Strategies


 
Strategy            Pros                           Cons
Separating data         Normal Java Application      Manual state
                                                       separation
                                                      Complicated and
                                                       critical schema





Separating processes 
                     
                         No shared state
                         Simple transition from
                         existing
                                                      JVM per tenant!
Comparing the Strategies


 
Strategy            Pros                           Cons
Separating data         Normal Java Application      Manual state
                                                       separation
                                                      Complicated and
                                                       critical schema
Separating              No shared state
application               Or is it?
                        Simple transition from




                         existing
Separating processes    No shared state              JVM per tenant!
                        Simple transition from
                         existing
Comparing the Strategies



Strategy            Pros                           Cons
Separating data         Normal Java Application      Manual state
                                                       separation
                                                      Complicated and
                                                       critical schema




 
Separating              No shared state
application               Or is it?
                        Simple transition from




                         existing
Separating processes    No shared state              JVM per tenant!
                        Simple transition from
                         existing
Comparing the Strategies



Strategy            Pros                           Cons
Separating data         Normal Java Application      Manual state
                                                       separation
                                                      Complicated and
                                                       critical schema




 
Separating              No shared state              Stay tuned…
application               Or is it?
                        Simple transition from




                         existing
Separating processes    No shared state              JVM per tenant!
                        Simple transition from
                         existing
Separate Application: Tomcat Root


┌──   lib
├──   webapps
│     ├── customer-name
│     ├── other-customer-name
│     └── many other customers
└──   other dirs (bin, conf, log, etc)
Separate Application
Separate Application
Too… many… classes…
Reuse!
Is it even possible?
Is it even possible?
THE QUEST FOR
SHARED
LIBRARIES
Spring Framework
Spring Framework
public class AppCtxHolder implements ApplicationContextAware {
      private static ApplicationContext ctx;

     public AppCtxHolder() { }

     public void setApplicationContext(ApplicationContext applicationContext) {
           ctx = applicationContext;
     }

     public static ApplicationContext getApplicationContext() {
           return ctx;
     }
}
Spring Framework
public class AppCtxHolder implements ApplicationContextAware {
      private static ApplicationContext ctx;

     public AppCtxHolder() { }

     public void setApplicationContext(ApplicationContext applicationContext) {
           ctx = applicationContext;
     }

     public static ApplicationContext getApplicationContext() {
           return ctx;
     }
}
Spring Framework
public class AppCtxHolder implements ApplicationContextAware {
      private static ApplicationContext ctx;

     public AppCtxHolder() { }

     public void setApplicationContext(ApplicationContext applicationContext) {
           ctx = applicationContext;
     }

     public static ApplicationContext getApplicationContext() {
           return ctx;
     }
}
Apache Wicket
Thread Pools
Logger
Logger
CATS Software
Jackrabbit
Heap-wide Caches
THE QUEST FOR SHARED LIBRARIES:
RESULTS
Tomcat Root – Where’s the JARs?
┌──   lib
├──   webapps
│     ├── customer-name
│     │   ├── favicon.ico
│     │   ├── META-INF
│     │   └── WEB-INF
│     │       ├── web.xml
│     │       └── classes
│     │          └── DUMMY.TXT
│     ├── other-customer-name
│     │   ├── favicon.ico
│     │   │   └── META-INF
│     │   └── WEB-INF
│     └── many other customers
└──   other dirs (bin, conf, log, etc)
Tomcat Root – Where’s the JARs?
┌──   lib
├──   webapps
│     ├── customer-name
│     │   ├── favicon.ico
│     │   ├── META-INF
│     │   └── WEB-INF
│     │       ├── web.xml
│     │       └── classes
│     │          └── DUMMY.TXT
│     ├── other-customer-name
│     │   ├── favicon.ico
│     │   │   └── META-INF
│     │   └── WEB-INF
│     └── many other customers
└──   other dirs (bin, conf, log, etc)
Tomcat Root – Where’s the JARs?
┌──   lib
├──   webapps
│     ├── customer-name
│     │   ├── favicon.ico
│     │   ├── META-INF
│     │   └── WEB-INF
│     │       ├── web.xml
│     │       └── classes
│     │          └── DUMMY.TXT
│     ├── other-customer-name
│     │   ├── favicon.ico
│     │   │   └── META-INF
│     │   └── WEB-INF
│     └── many other customers
└──   other dirs (bin, conf, log, etc)
Tomcat Root – In Global Lib!

┌──   lib
│     ├── artifactory
│     │   ├── artifactory-*.jar
│     │   ├── jackrabbit-core-jfrog-2.2.8c.jar
│     │   ├── spring-core-3.1.1.RELEASE.jar
│     │   ├── wicket-core-1.5.3.jar
│     │   └── other jars
│     ├── catalina.jar
│     ├── servlet-api.jar
│     └── other jars
├──   webapps
└──   other dirs (bin, conf, log, etc)
Tomcat Root – In Global Lib!

┌──   lib
│     ├── artifactory
│     │   ├── artifactory-*.jar
│     │   ├── jackrabbit-core-jfrog-2.2.8c.jar
│     │   ├── spring-core-3.1.1.RELEASE.jar
│     │   ├── wicket-core-1.5.3.jar
│     │   └── other jars
│     ├── catalina.jar
│     ├── servlet-api.jar
│     └── other jars
├──   webapps
└──   other dirs (bin, conf, log, etc)
Tomcat Root – In Global Lib!

┌──   lib
│     ├── artifactory
│     │   ├── artifactory-*.jar
│     │   ├── jackrabbit-core-jfrog-2.2.8c.jar
│     │   ├── spring-core-3.1.1.RELEASE.jar
│     │   ├── wicket-core-1.5.3.jar
│     │   └── other jars
│     ├── catalina.jar
│     ├── servlet-api.jar
│     └── other jars
├──   webapps
└──   other dirs (bin, conf, log, etc)
Tomcat Root – In Global Lib!

┌──   lib
│     ├── artifactory
│     │   ├── artifactory-*.jar
│     │   ├── jackrabbit-core-jfrog-2.2.8c.jar
│     │   ├── spring-core-3.1.1.RELEASE.jar
│     │   ├── wicket-core-1.5.3.jar
│     │   └── other jars
│     ├── catalina.jar
│     ├── servlet-api.jar
│     └── other jars
├──   webapps
└──   other dirs (bin, conf, log, etc)
Tomcat Root – In Global Lib!

┌──   lib
│     ├── artifactory
│     │   ├── artifactory-*.jar
│     │   ├── jackrabbit-core-jfrog-2.2.8c.jar
│     │   ├── spring-core-3.1.1.RELEASE.jar
│     │   ├── wicket-core-1.5.3.jar
│     │   └── other jars
│     ├── catalina.jar
│     ├── servlet-api.jar
│     └── other jars
├──   webapps
└──   other dirs (bin, conf, log, etc)
PaaS or IaaS?
PaaS or IaaS?
What was it about DB upgrade?
THE DEVOPS
Providing Self Service
Separating Concerns
Outcome: DevOps
THE PROCESS
Diversity
Recursive Slide (w. baby picture)
Right Tools for the Job
Right Tools for the Job
Right Tools for the Job
THE PARADIGM
SHIFT
Reversing the Cycle
Reversing the Cycle
Consequences
How we took our server side application to the cloud and liked what we got, Baruch Sadogursky

More Related Content

What's hot

Agile Testing Practices
Agile Testing PracticesAgile Testing Practices
Agile Testing PracticesPaul King
 
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Arun Gupta
 
Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Shaun Smith
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsDavid Delabassee
 
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Anton Arhipov
 
Subversion Edge Overview
Subversion Edge OverviewSubversion Edge Overview
Subversion Edge OverviewLotharSchubert
 
PaaS isn't Just for Developers
PaaS isn't Just for DevelopersPaaS isn't Just for Developers
PaaS isn't Just for DevelopersGordon Haff
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on herokuAnand B Narasimhan
 

What's hot (8)

Agile Testing Practices
Agile Testing PracticesAgile Testing Practices
Agile Testing Practices
 
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
 
Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
 
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
 
Subversion Edge Overview
Subversion Edge OverviewSubversion Edge Overview
Subversion Edge Overview
 
PaaS isn't Just for Developers
PaaS isn't Just for DevelopersPaaS isn't Just for Developers
PaaS isn't Just for Developers
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on heroku
 

Viewers also liked

Continuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even HaimContinuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even HaimDevOpsDays Tel Aviv
 
One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops Uri Cohen
 
Developing Multi-tenant provider hosted apps: From Idea to Office Store
Developing Multi-tenant provider hosted apps: From Idea to Office StoreDeveloping Multi-tenant provider hosted apps: From Idea to Office Store
Developing Multi-tenant provider hosted apps: From Idea to Office StoreBiserka Cvetkovska
 
Continuous Delivery at SAP IT, Alon Aizenberg
Continuous Delivery at SAP IT, Alon AizenbergContinuous Delivery at SAP IT, Alon Aizenberg
Continuous Delivery at SAP IT, Alon AizenbergDevOpsDays Tel Aviv
 
Secure Multi Tenant Cloud with OpenContrail
Secure Multi Tenant Cloud with OpenContrailSecure Multi Tenant Cloud with OpenContrail
Secure Multi Tenant Cloud with OpenContrailPriti Desai
 

Viewers also liked (7)

Continuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even HaimContinuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even Haim
 
One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops
 
Developing Multi-tenant provider hosted apps: From Idea to Office Store
Developing Multi-tenant provider hosted apps: From Idea to Office StoreDeveloping Multi-tenant provider hosted apps: From Idea to Office Store
Developing Multi-tenant provider hosted apps: From Idea to Office Store
 
Continuous Delivery at SAP IT, Alon Aizenberg
Continuous Delivery at SAP IT, Alon AizenbergContinuous Delivery at SAP IT, Alon Aizenberg
Continuous Delivery at SAP IT, Alon Aizenberg
 
Characteristics of SaaS applications
Characteristics of SaaS applicationsCharacteristics of SaaS applications
Characteristics of SaaS applications
 
Secure Multi Tenant Cloud with OpenContrail
Secure Multi Tenant Cloud with OpenContrailSecure Multi Tenant Cloud with OpenContrail
Secure Multi Tenant Cloud with OpenContrail
 
Moving To SaaS
Moving To SaaSMoving To SaaS
Moving To SaaS
 

Similar to How we took our server side application to the cloud and liked what we got, Baruch Sadogursky

How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotBaruch Sadogursky
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotBaruch Sadogursky
 
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructureModernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructurezslmarketing
 
Next-Generation Enterprise Application Development with SpringSource dm Serve...
Next-Generation Enterprise Application Development with SpringSource dm Serve...Next-Generation Enterprise Application Development with SpringSource dm Serve...
Next-Generation Enterprise Application Development with SpringSource dm Serve...Aditya Jha
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotBaruch Sadogursky
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)Arun Gupta
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudArun Gupta
 
Tracking SLAs In Cloud
Tracking SLAs In CloudTracking SLAs In Cloud
Tracking SLAs In CloudSatish Agrawal
 
Get the Top 6 new features in Java 2019
Get the Top 6 new features in Java 2019Get the Top 6 new features in Java 2019
Get the Top 6 new features in Java 2019Aegis Softtech
 
Google app development
Google app developmentGoogle app development
Google app developmentAurel Medvegy
 
Google app developers
Google app developersGoogle app developers
Google app developersAurel Medvegy
 
Web software development
Web software developmentWeb software development
Web software developmentAurel Medvegy
 
Google app developer
Google app developerGoogle app developer
Google app developerAurel Medvegy
 
Google apps development
Google apps developmentGoogle apps development
Google apps developmentAurel Medvegy
 

Similar to How we took our server side application to the cloud and liked what we got, Baruch Sadogursky (20)

How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
 
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructureModernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructure
 
Next-Generation Enterprise Application Development with SpringSource dm Serve...
Next-Generation Enterprise Application Development with SpringSource dm Serve...Next-Generation Enterprise Application Development with SpringSource dm Serve...
Next-Generation Enterprise Application Development with SpringSource dm Serve...
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
Porting Java App To Cloud
Porting Java App To CloudPorting Java App To Cloud
Porting Java App To Cloud
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
 
Tracking SLAs In Cloud
Tracking SLAs In CloudTracking SLAs In Cloud
Tracking SLAs In Cloud
 
Spring ppt
Spring pptSpring ppt
Spring ppt
 
Get the Top 6 new features in Java 2019
Get the Top 6 new features in Java 2019Get the Top 6 new features in Java 2019
Get the Top 6 new features in Java 2019
 
Google app development
Google app developmentGoogle app development
Google app development
 
Google app developers
Google app developersGoogle app developers
Google app developers
 
Google development
Google developmentGoogle development
Google development
 
Google app
Google appGoogle app
Google app
 
Web software development
Web software developmentWeb software development
Web software development
 
Google app developer
Google app developerGoogle app developer
Google app developer
 
Google web tools
Google web toolsGoogle web tools
Google web tools
 
Google apps development
Google apps developmentGoogle apps development
Google apps development
 

More from DevOpsDays Tel Aviv

YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...
YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...
YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...DevOpsDays Tel Aviv
 
GRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, Salto
GRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, SaltoGRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, Salto
GRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, SaltoDevOpsDays Tel Aviv
 
MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...
MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...
MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...DevOpsDays Tel Aviv
 
THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...
THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...
THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...DevOpsDays Tel Aviv
 
PRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDog
PRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDogPRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDog
PRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDogDevOpsDays Tel Aviv
 
NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...
NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...
NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...DevOpsDays Tel Aviv
 
(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG
(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG
(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGGDevOpsDays Tel Aviv
 
BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...
BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...
BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...DevOpsDays Tel Aviv
 
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider SecurityTHE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider SecurityDevOpsDays Tel Aviv
 
THE PLEASURES OF ON-PREM, TOMER GABEL
THE PLEASURES OF ON-PREM, TOMER GABELTHE PLEASURES OF ON-PREM, TOMER GABEL
THE PLEASURES OF ON-PREM, TOMER GABELDevOpsDays Tel Aviv
 
CONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPack
CONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPackCONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPack
CONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPackDevOpsDays Tel Aviv
 
SOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, Develeap
SOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, DeveleapSOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, Develeap
SOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, DeveleapDevOpsDays Tel Aviv
 
OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...
OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...
OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...DevOpsDays Tel Aviv
 
HOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKH
HOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKHHOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKH
HOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKHDevOpsDays Tel Aviv
 
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearBHOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearBDevOpsDays Tel Aviv
 
FLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, Icinga
FLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, IcingaFLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, Icinga
FLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, IcingaDevOpsDays Tel Aviv
 
(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY
(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY
(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITYDevOpsDays Tel Aviv
 
SLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.io
SLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.ioSLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.io
SLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.ioDevOpsDays Tel Aviv
 
ONBOARDING IN LOCKDOWN, HILA FOX, Augury
ONBOARDING IN LOCKDOWN, HILA FOX, AuguryONBOARDING IN LOCKDOWN, HILA FOX, Augury
ONBOARDING IN LOCKDOWN, HILA FOX, AuguryDevOpsDays Tel Aviv
 
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, FireflyDON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, FireflyDevOpsDays Tel Aviv
 

More from DevOpsDays Tel Aviv (20)

YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...
YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...
YOUR OPEN SOURCE PROJECT IS LIKE A STARTUP, TREAT IT LIKE ONE, EYAR ZILBERMAN...
 
GRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, Salto
GRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, SaltoGRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, Salto
GRAPHQL TO THE RES(T)CUE, ELLA SHARAKANSKI, Salto
 
MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...
MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...
MICROSERVICES ABOVE THE CLOUD - DESIGNING THE INTERNATIONAL SPACE STATION FOR...
 
THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...
THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...
THE (IR)RATIONAL INCIDENT RESPONSE: HOW PSYCHOLOGICAL BIASES AFFECT INCIDENT ...
 
PRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDog
PRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDogPRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDog
PRINCIPLES OF OBSERVABILITY // DANIEL MAHER, DataDog
 
NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...
NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...
NUDGE AND SLUDGE: DRIVING SECURITY WITH DESIGN // J. WOLFGANG GOERLICH, Duo S...
 
(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG
(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG
(Ignite) TAKE A HIKE: PREVENTING BATTERY CORROSION - LEAH VOGEL, CHEGG
 
BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...
BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...
BUILDING A DR PLAN FOR YOUR CLOUD INFRASTRUCTURE FROM THE GROUND UP, MOSHE BE...
 
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider SecurityTHE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
THE THREE DISCIPLINES OF CI/CD SECURITY, DANIEL KRIVELEVICH, Cider Security
 
THE PLEASURES OF ON-PREM, TOMER GABEL
THE PLEASURES OF ON-PREM, TOMER GABELTHE PLEASURES OF ON-PREM, TOMER GABEL
THE PLEASURES OF ON-PREM, TOMER GABEL
 
CONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPack
CONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPackCONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPack
CONFIGURATION MANAGEMENT IN THE CLOUD NATIVE ERA, SHAHAR MINTZ, EggPack
 
SOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, Develeap
SOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, DeveleapSOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, Develeap
SOLVING THE DEVOPS CRISIS, ONE PERSON AT A TIME, CHRISTINA BABITSKI, Develeap
 
OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...
OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...
OPTIMIZING PERFORMANCE USING CONTINUOUS PRODUCTION PROFILING ,YONATAN GOLDSCH...
 
HOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKH
HOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKHHOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKH
HOW TO SCALE YOUR ONCALL OPERATION, AND SURVIVE TO TELL, ANTON DRUKH
 
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearBHOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
 
FLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, Icinga
FLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, IcingaFLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, Icinga
FLYING BLIND - ACCESSIBILITY IN MONITORING, FEU MOUREK, Icinga
 
(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY
(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY
(Ignite) WHAT'S BURNING THROUGH YOUR CLOUD BILL - GIL BAHAT, CIDER SECURITY
 
SLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.io
SLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.ioSLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.io
SLO DRIVEN DEVELOPMENT, ALON NATIV, Tomorrow.io
 
ONBOARDING IN LOCKDOWN, HILA FOX, Augury
ONBOARDING IN LOCKDOWN, HILA FOX, AuguryONBOARDING IN LOCKDOWN, HILA FOX, Augury
ONBOARDING IN LOCKDOWN, HILA FOX, Augury
 
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, FireflyDON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
 

Recently uploaded

2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIVijayananda Mohire
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Muhammad Tiham Siddiqui
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch TuesdayIvanti
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfTejal81
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptxHansamali Gamage
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024Brian Pichman
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4DianaGray10
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveIES VE
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2DianaGray10
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxSatishbabu Gunukula
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)IES VE
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsDianaGray10
 

Recently uploaded (20)

2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAI
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch Tuesday
 
SheDev 2024
SheDev 2024SheDev 2024
SheDev 2024
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptx
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projects
 

How we took our server side application to the cloud and liked what we got, Baruch Sadogursky

  • 1. HOW WE TOOK OUR SERVER- SIDE APPLICATION TO THE CLOUD… …and liked what we got
  • 2. Agenda  Where we started  What we did  Paradigm shift
  • 13. Yet Another Java Server App
  • 22. A load of Artifacts!
  • 23. JOURNEY TO THE CLOUD
  • 25. * As A Service Self Service Multi-tenant
  • 26. GaaE: Google as an Example Product Self Multi- * aaS Service tenant
  • 27. GaaE: Google as an Example Product Self Multi- * aaS Service tenant Gmail   Not *aaS, web-app
  • 28. GaaE: Google as an Example Product Self Multi- * aaS Service tenant Gmail   Not *aaS, web-app Google Apps   SaaS
  • 29. GaaE: Google as an Example Product Self Multi- * aaS Service tenant Gmail   Not *aaS, web-app Google Apps   SaaS Google App Engine   PaaS
  • 30. GaaE: Google as an Example Product Self Multi- * aaS Service tenant Gmail   Not *aaS, web-app Google Apps   SaaS Google App Engine   PaaS Google Compute Engine   IaaS
  • 31. AaaE: Amazon as an Example Product Self Multi- * aaS Service tenant
  • 32. AaaE: Amazon as an Example Product Self Multi- * aaS Service tenant Amazon store   Not *aaS, web-app
  • 33. AaaE: Amazon as an Example Product Self Multi- * aaS Service tenant Amazon store   Not *aaS, web-app aStore   SaaS
  • 34. AaaE: Amazon as an Example Product Self Multi- * aaS Service tenant Amazon store   Not *aaS, web-app aStore   SaaS Amazon Elastic Beanstalk   PaaS
  • 35. AaaE: Amazon as an Example Product Self Multi- * aaS Service tenant Amazon store   Not *aaS, web-app aStore   SaaS Amazon Elastic Beanstalk   PaaS Amazon Elastic Cloud   IaaS
  • 36. The SaaS Pains - Overview  Multi-tenancy  Platform selection > PaaS or IaaS  DB schema updates
  • 39. Wait for it?!  Two-year release cycle  Java 7: 07 2011  Java 8: 09 2013  Java 9: Late 2015
  • 40. Wait for it?!  Two-year release cycle  Java 7: 07 2011  Java 8: 09 2013  Java 9: Late 2015
  • 42. Multi Tenancy Types Muli-tenancy Type Data Separation
  • 43. Multi Tenancy Types Muli-tenancy Type Data Separation Application Separation
  • 44. Multi Tenancy Types Muli-tenancy Type Data Separation Application Separation Process Separation
  • 45. GaaE for Multi Tenancy Types Product Muli-tenancy Type
  • 46. GaaE for Multi Tenancy Types Product Muli-tenancy Type Google Apps Data Separation
  • 47. GaaE for Multi Tenancy Types Product Muli-tenancy Type Google Apps Data Separation Google App Engine Application Separation
  • 48. GaaE for Multi Tenancy Types Product Muli-tenancy Type Google Apps Data Separation Google App Engine Application Separation Google Compute Engine Process Separation
  • 49. Comparing the Strategies Strategy Pros Cons Separating data  Normal Java Application  Manual state separation  Complicated and critical schema
  • 50. Comparing the Strategies  Strategy Pros Cons Separating data  Normal Java Application  Manual state separation  Complicated and critical schema
  • 51. Comparing the Strategies  Strategy Pros Cons Separating data  Normal Java Application  Manual state separation  Complicated and critical schema Separating processes  No shared state  JVM per tenant!  Simple transition from existing
  • 52. Comparing the Strategies  Strategy Pros Cons Separating data  Normal Java Application  Manual state separation  Complicated and critical schema  Separating processes   No shared state Simple transition from existing  JVM per tenant!
  • 53. Comparing the Strategies  Strategy Pros Cons Separating data  Normal Java Application  Manual state separation  Complicated and critical schema Separating  No shared state application  Or is it?  Simple transition from  existing Separating processes  No shared state  JVM per tenant!  Simple transition from existing
  • 54. Comparing the Strategies  Strategy Pros Cons Separating data  Normal Java Application  Manual state separation  Complicated and critical schema  Separating  No shared state application  Or is it?  Simple transition from  existing Separating processes  No shared state  JVM per tenant!  Simple transition from existing
  • 55. Comparing the Strategies  Strategy Pros Cons Separating data  Normal Java Application  Manual state separation  Complicated and critical schema  Separating  No shared state  Stay tuned… application  Or is it?  Simple transition from  existing Separating processes  No shared state  JVM per tenant!  Simple transition from existing
  • 56. Separate Application: Tomcat Root ┌── lib ├── webapps │ ├── customer-name │ ├── other-customer-name │ └── many other customers └── other dirs (bin, conf, log, etc)
  • 61. Is it even possible?
  • 62. Is it even possible?
  • 65. Spring Framework public class AppCtxHolder implements ApplicationContextAware { private static ApplicationContext ctx; public AppCtxHolder() { } public void setApplicationContext(ApplicationContext applicationContext) { ctx = applicationContext; } public static ApplicationContext getApplicationContext() { return ctx; } }
  • 66. Spring Framework public class AppCtxHolder implements ApplicationContextAware { private static ApplicationContext ctx; public AppCtxHolder() { } public void setApplicationContext(ApplicationContext applicationContext) { ctx = applicationContext; } public static ApplicationContext getApplicationContext() { return ctx; } }
  • 67. Spring Framework public class AppCtxHolder implements ApplicationContextAware { private static ApplicationContext ctx; public AppCtxHolder() { } public void setApplicationContext(ApplicationContext applicationContext) { ctx = applicationContext; } public static ApplicationContext getApplicationContext() { return ctx; } }
  • 75. THE QUEST FOR SHARED LIBRARIES: RESULTS
  • 76. Tomcat Root – Where’s the JARs? ┌── lib ├── webapps │ ├── customer-name │ │ ├── favicon.ico │ │ ├── META-INF │ │ └── WEB-INF │ │ ├── web.xml │ │ └── classes │ │ └── DUMMY.TXT │ ├── other-customer-name │ │ ├── favicon.ico │ │ │ └── META-INF │ │ └── WEB-INF │ └── many other customers └── other dirs (bin, conf, log, etc)
  • 77. Tomcat Root – Where’s the JARs? ┌── lib ├── webapps │ ├── customer-name │ │ ├── favicon.ico │ │ ├── META-INF │ │ └── WEB-INF │ │ ├── web.xml │ │ └── classes │ │ └── DUMMY.TXT │ ├── other-customer-name │ │ ├── favicon.ico │ │ │ └── META-INF │ │ └── WEB-INF │ └── many other customers └── other dirs (bin, conf, log, etc)
  • 78. Tomcat Root – Where’s the JARs? ┌── lib ├── webapps │ ├── customer-name │ │ ├── favicon.ico │ │ ├── META-INF │ │ └── WEB-INF │ │ ├── web.xml │ │ └── classes │ │ └── DUMMY.TXT │ ├── other-customer-name │ │ ├── favicon.ico │ │ │ └── META-INF │ │ └── WEB-INF │ └── many other customers └── other dirs (bin, conf, log, etc)
  • 79. Tomcat Root – In Global Lib! ┌── lib │ ├── artifactory │ │ ├── artifactory-*.jar │ │ ├── jackrabbit-core-jfrog-2.2.8c.jar │ │ ├── spring-core-3.1.1.RELEASE.jar │ │ ├── wicket-core-1.5.3.jar │ │ └── other jars │ ├── catalina.jar │ ├── servlet-api.jar │ └── other jars ├── webapps └── other dirs (bin, conf, log, etc)
  • 80. Tomcat Root – In Global Lib! ┌── lib │ ├── artifactory │ │ ├── artifactory-*.jar │ │ ├── jackrabbit-core-jfrog-2.2.8c.jar │ │ ├── spring-core-3.1.1.RELEASE.jar │ │ ├── wicket-core-1.5.3.jar │ │ └── other jars │ ├── catalina.jar │ ├── servlet-api.jar │ └── other jars ├── webapps └── other dirs (bin, conf, log, etc)
  • 81. Tomcat Root – In Global Lib! ┌── lib │ ├── artifactory │ │ ├── artifactory-*.jar │ │ ├── jackrabbit-core-jfrog-2.2.8c.jar │ │ ├── spring-core-3.1.1.RELEASE.jar │ │ ├── wicket-core-1.5.3.jar │ │ └── other jars │ ├── catalina.jar │ ├── servlet-api.jar │ └── other jars ├── webapps └── other dirs (bin, conf, log, etc)
  • 82. Tomcat Root – In Global Lib! ┌── lib │ ├── artifactory │ │ ├── artifactory-*.jar │ │ ├── jackrabbit-core-jfrog-2.2.8c.jar │ │ ├── spring-core-3.1.1.RELEASE.jar │ │ ├── wicket-core-1.5.3.jar │ │ └── other jars │ ├── catalina.jar │ ├── servlet-api.jar │ └── other jars ├── webapps └── other dirs (bin, conf, log, etc)
  • 83. Tomcat Root – In Global Lib! ┌── lib │ ├── artifactory │ │ ├── artifactory-*.jar │ │ ├── jackrabbit-core-jfrog-2.2.8c.jar │ │ ├── spring-core-3.1.1.RELEASE.jar │ │ ├── wicket-core-1.5.3.jar │ │ └── other jars │ ├── catalina.jar │ ├── servlet-api.jar │ └── other jars ├── webapps └── other dirs (bin, conf, log, etc)
  • 86. What was it about DB upgrade?
  • 93. Recursive Slide (w. baby picture)
  • 94. Right Tools for the Job
  • 95. Right Tools for the Job
  • 96. Right Tools for the Job