SlideShare a Scribd company logo
1 of 39
Resin Application Server
                        Paul Cowan - InfoQ
                             Interview
Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
InfoQ - Paul Cowan Discusses the Resin
                  Application Server and Cloud
Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
About Paul Cowan
     • Software Engineer working on the Resin
          application server at Caucho Technology

     • Focusing on dependency injection,
          concurrency, high-speed messaging, and
          distributed caching

     • 11 years of experience
          • Started with NetDynamics
          • Prior to Caucho worked as Senior Architect
                with NAVTEQ
                • Traffic.com division


Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“Where do you see Resin
              in terms of the wider
                Cloud landscape?”



Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin and the Cloud
                     Landscape
     • Resin fits on the elastic JEE application layer
     • We don’t sell the service or provide it to you
          • Not PaaS
          • Not SaaS
     • We are a infrastructure provider/vendor
          • You get the Resin software
          • You build your Cloud on it




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“Can you tell us a little bit
          about how your Cloud
         support is architected?”



Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Resin Cloud Support
                         Architected
     • Triad hub-and-spoke
          architecture

     • Hub
          • Three Primary Servers
                • Constantly
                    communicating with
                    each other

     • Spoke
          • Elastic Spoke Servers
                • Add or Remove as


Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“Why did you go for a
           hub-and-spoke rather
          than say a peer-to-peer
                 cluster?”

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Hub-and-Spoke vs. Peer-
                to-Peer
     • Most cases easier to have 3 primary servers
          • IP addresses are known
                • No need for auto-discovery
                    • Creates problems in EC2 environments

     • Hub architecture with 3 primary servers
          • Responsible for caching data
          • Maintaining the knowledge of Cloud architecture
          • Eliminates a lot of issues you get with true peer-to-
                peer network




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Basic Hub-and-Spoke
                          Configuration

                                                                     Dynamic&&
                                                                      Spoke&
                                                                      Server&
                   Triad&                  Triad&
                                                                        A&
                  Server&                 Server&
                     1&                      2&


                               Triad&
                              Server&                                Dynamic&&
                                 3&                                   Spoke&
                                                                      Server&
                                                                        B&




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Basic Hub-and-Spoke
                          Configuration
                                                                                             Load(increases.(
                                                                                             Spin(a(new(server((
                                                                     Dynamic&&   Dynamic((   up(
                                                                      Spoke&      Spoke(
                                                                      Server&     Server(
                   Triad&                  Triad&
                                                                        A&          C(
                  Server&                 Server&
                     1&                      2&


                               Triad&
                              Server&                                Dynamic&&
                                 3&                                   Spoke&
                                                                      Server&
                                                                        B&




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“How do you keep the network
       traffic to a reasonable level as
       the number of spikes grows?”




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Keeping Network Traffic at
         Reasonable Level as Spikes
                        Grow
     • Messaging based on Hessian Network Protocol
          (HMTP)

     • During distributed sessions
          • Only update your session data when the data
                changes
          •     Hashing session
                • Triad master will have a hash of what current data is
          • Spoke server verifies latest data
                • “Here is my hash, do I have the latest data?”
                • If hashes match very little data needs to be sent


Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
New Server Dynamically Joining
                     Cloud



                                                            Dynamic((
                                                             Spoke(
             Triad&Server&1&                                 Server(
              192.168.1.10&                                    A(

                                   Triad&Server&2&
                                    192.168.1.11&




                 Triad&Server&3&
                  192.168.1.12&




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
New Server Dynamically Joining
                     Cloud
            Spin up a new VM instance and add it to the cluster. It talks to the triad to
            join




                                                            Dynamic((
                                                             Spoke(
                                                                        Dynamic((
                                                                         Spoke(
                                                                                    Ask for latest
             Triad&Server&1&
              192.168.1.10&
                                                             Server(     Server(
                                                                           B(
                                                                                    application
                                                                                    versions
                                                               A(

                                   Triad&Server&2&
                                    192.168.1.11&




                 Triad&Server&3&
                  192.168.1.12&




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“How do I configure the
         typology of the cluster?”




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Configuring Typology of
                   Cluster
     • Resin keeps it simple
          • Primarily a single JAR file with configuration file
          • Same configuration file
                •   Triad
                •   Web tier
                •   Any cluster tiers
                •   Spokes

     • Triad servers spun up
          • Usually static on different machines



Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Configuring Typology of
                   Cluster
     • Elastic servers spun up
                          (continued)

          • Using single command line
     • Easy to bring them up and down as needed




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“How does Resin support Cloud
        deployment and distributed
               versioning?”




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Cloud Deployment and
        Distributed Versioning on Resin
     • Based on HMTP messaging system
          • Forms basis for distributed cache
          • Distributed versioning based in Git
     • Internal version of Git library
          • Pushing a WAR or an application to Triad servers
                    • Git is used to internally push out to all other servers




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Cloud Deployment and
        Distributed Versioning on Resin
                                                         (continued)
     • Sessions in Cloud are tied to Git version of
          application
          • A number of sessions running off one version of
                application
          •     Push a new version
          •     Resin keeps that version of application until all
                sessions are over
          •     New sessions coming in will get new version of
                application




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“You’ve got replicated session
         state across the machines?
        What’s the overhead like for
      that; for actually replicating the
                  session?”


Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Overhead for Replicated Session
            State Across Machines
     • Pretty low
                • Only need to replicate to the server that is handling that
                    session

     • Using sticky sessions
                • With a lease
                • Same session goes to the same server and push session
                    update to Triad

     • Configurable
                • When to Push
                • Push after every update


Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Overhead for Replicated Session
         State Across Machines (continued)
     • Hashing sessions and comparison with master
          and spoke servers
          • Cuts down on network traffic




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“What’s the Watchdog
            system and why is that
              important for Cloud
                 deployment?”

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Watchdog System
     • Resin always runs with two processes
     • Watchdog is the secondary process that
          controls Resin

     • When you start up a Resin server
          • Watchdog starts up first and starts up Resin for you
     • Monitors health of Resin system
          • Automatically restarts if there is an issue




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Watchdog System
                                                         (continued)


     • Cloud environment advantage
          • Watchdog system maintains health of servers
                • Prevents losing track of elastic servers
                • Reports any noticed issues
          • Health system is external process
                • Can detect when Resin is having issues




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“Can you describe some
        of the other reports I can
          get out of the health
        system? You have post-
           mortem reports for
                instance.”
Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Health System Reports
     • Watchdog Report
          • Prior to or leading up to a restart
                • Produce a report from the data we were tracking at the
                    time

     • PDF Report
                •   Tread dump
                •   Heap dump
                •   Stack dump
                •   JMX dump




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Health System Reports
                                                         (continued)


     • PDF Report (continued)
                • Goes through all JMX
                    • Dump out attributes and values
                    • Can do profiling if you want
                      • Internal native profiling library
                         • Can profile for a period of time
                •   Monitoring other attributes in system, for example:
                    • CPU Usage
                    • Memory usage
                    • File descriptors
                • Produces a “snapshot” PDF



Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“And you do JIT profiling
     as well, I think I’m right in
               saying?”



Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
JIT Profiling
     • Health system is very configurable
          • Any period of time
                • From a certain end response to a certain issue




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“How does what you offer
        compare to some of the other
        JavaEE vendors? WebLogic has
          some similar features, for
                  instance.”


Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Comparing Resin to other
                       JavaEE Vendors
     • Positioned between Tomcat and WebLogic
     • Enterprise quality server
          •     Elastic
          •     Health System
          •     Administration System
          •     More lightweight
                • Only 23 MB download
                • 6 second start-up time




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Comparing Resin to other
                     JavaEE Vendors (continued)
     • For customers who want enterprise quality that
          don’t need the heavyweight full JEE stack

     • Support JEE 6 Web Profile




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
“You also have an
          anomaly detection
      feature. Could you tell us
     a bit about that and where
        that idea came from?”
Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Anomaly Detection
                             Feature
     • Organically rose from need to support
          customers
          • As well as a lot of our health system
     • Result from an actual customer having thread
          spike issues
          • Noticed the issue in produced graphs
          • Unable to tell what was happening
          • Needed a snapshot at the time of issue




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Anomaly Detection
                             Feature
     • Monitors virtually any statistic in your JMS
                          (continued)

          • i.e. number of threads
                • Sees unusual spike in amount of threads
                    • Snapshot report is triggered

     • Invaluable in providing support
          • Detecting something unusual happening while its
                happening
          •     Creating a snapshot of the system to use for
                debugging




Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
Title
 • Caucho Technology | Home Page
 • Resin | Application Server
 • Resin | Java EE Web Profile Application Server
 • Resin - Cloud Support | 3G - Java Clustering
 • Resin | Java CDI | Dependency Injection / IoC
 • Resin - Health System | Java Monitoring and Server
      Monitoring

 • Download Resin | Application Server
 • Watch Resin | Application Server Featured Video
Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server

More Related Content

Recently uploaded

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Featured

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 

Featured (20)

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 

Resin Application Server and Cloud discussed by Paul Cowan

  • 1. Resin Application Server Paul Cowan - InfoQ Interview Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 2. InfoQ - Paul Cowan Discusses the Resin Application Server and Cloud Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 3. About Paul Cowan • Software Engineer working on the Resin application server at Caucho Technology • Focusing on dependency injection, concurrency, high-speed messaging, and distributed caching • 11 years of experience • Started with NetDynamics • Prior to Caucho worked as Senior Architect with NAVTEQ • Traffic.com division Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 4. “Where do you see Resin in terms of the wider Cloud landscape?” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 5. Resin and the Cloud Landscape • Resin fits on the elastic JEE application layer • We don’t sell the service or provide it to you • Not PaaS • Not SaaS • We are a infrastructure provider/vendor • You get the Resin software • You build your Cloud on it Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 6. “Can you tell us a little bit about how your Cloud support is architected?” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 7. Resin Cloud Support Architected • Triad hub-and-spoke architecture • Hub • Three Primary Servers • Constantly communicating with each other • Spoke • Elastic Spoke Servers • Add or Remove as Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 8. “Why did you go for a hub-and-spoke rather than say a peer-to-peer cluster?” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 9. Hub-and-Spoke vs. Peer- to-Peer • Most cases easier to have 3 primary servers • IP addresses are known • No need for auto-discovery • Creates problems in EC2 environments • Hub architecture with 3 primary servers • Responsible for caching data • Maintaining the knowledge of Cloud architecture • Eliminates a lot of issues you get with true peer-to- peer network Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 10. Basic Hub-and-Spoke Configuration Dynamic&& Spoke& Server& Triad& Triad& A& Server& Server& 1& 2& Triad& Server& Dynamic&& 3& Spoke& Server& B& Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 11. Basic Hub-and-Spoke Configuration Load(increases.( Spin(a(new(server(( Dynamic&& Dynamic(( up( Spoke& Spoke( Server& Server( Triad& Triad& A& C( Server& Server& 1& 2& Triad& Server& Dynamic&& 3& Spoke& Server& B& Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 12. “How do you keep the network traffic to a reasonable level as the number of spikes grows?” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 13. Keeping Network Traffic at Reasonable Level as Spikes Grow • Messaging based on Hessian Network Protocol (HMTP) • During distributed sessions • Only update your session data when the data changes • Hashing session • Triad master will have a hash of what current data is • Spoke server verifies latest data • “Here is my hash, do I have the latest data?” • If hashes match very little data needs to be sent Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 14. New Server Dynamically Joining Cloud Dynamic(( Spoke( Triad&Server&1& Server( 192.168.1.10& A( Triad&Server&2& 192.168.1.11& Triad&Server&3& 192.168.1.12& Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 15. New Server Dynamically Joining Cloud Spin up a new VM instance and add it to the cluster. It talks to the triad to join Dynamic(( Spoke( Dynamic(( Spoke( Ask for latest Triad&Server&1& 192.168.1.10& Server( Server( B( application versions A( Triad&Server&2& 192.168.1.11& Triad&Server&3& 192.168.1.12& Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 16. “How do I configure the typology of the cluster?” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 17. Configuring Typology of Cluster • Resin keeps it simple • Primarily a single JAR file with configuration file • Same configuration file • Triad • Web tier • Any cluster tiers • Spokes • Triad servers spun up • Usually static on different machines Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 18. Configuring Typology of Cluster • Elastic servers spun up (continued) • Using single command line • Easy to bring them up and down as needed Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 19. “How does Resin support Cloud deployment and distributed versioning?” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 20. Cloud Deployment and Distributed Versioning on Resin • Based on HMTP messaging system • Forms basis for distributed cache • Distributed versioning based in Git • Internal version of Git library • Pushing a WAR or an application to Triad servers • Git is used to internally push out to all other servers Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 21. Cloud Deployment and Distributed Versioning on Resin (continued) • Sessions in Cloud are tied to Git version of application • A number of sessions running off one version of application • Push a new version • Resin keeps that version of application until all sessions are over • New sessions coming in will get new version of application Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 22. “You’ve got replicated session state across the machines? What’s the overhead like for that; for actually replicating the session?” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 23. Overhead for Replicated Session State Across Machines • Pretty low • Only need to replicate to the server that is handling that session • Using sticky sessions • With a lease • Same session goes to the same server and push session update to Triad • Configurable • When to Push • Push after every update Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 24. Overhead for Replicated Session State Across Machines (continued) • Hashing sessions and comparison with master and spoke servers • Cuts down on network traffic Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 25. “What’s the Watchdog system and why is that important for Cloud deployment?” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 26. Watchdog System • Resin always runs with two processes • Watchdog is the secondary process that controls Resin • When you start up a Resin server • Watchdog starts up first and starts up Resin for you • Monitors health of Resin system • Automatically restarts if there is an issue Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 27. Watchdog System (continued) • Cloud environment advantage • Watchdog system maintains health of servers • Prevents losing track of elastic servers • Reports any noticed issues • Health system is external process • Can detect when Resin is having issues Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 28. “Can you describe some of the other reports I can get out of the health system? You have post- mortem reports for instance.” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 29. Health System Reports • Watchdog Report • Prior to or leading up to a restart • Produce a report from the data we were tracking at the time • PDF Report • Tread dump • Heap dump • Stack dump • JMX dump Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 30. Health System Reports (continued) • PDF Report (continued) • Goes through all JMX • Dump out attributes and values • Can do profiling if you want • Internal native profiling library • Can profile for a period of time • Monitoring other attributes in system, for example: • CPU Usage • Memory usage • File descriptors • Produces a “snapshot” PDF Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 31. “And you do JIT profiling as well, I think I’m right in saying?” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 32. JIT Profiling • Health system is very configurable • Any period of time • From a certain end response to a certain issue Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 33. “How does what you offer compare to some of the other JavaEE vendors? WebLogic has some similar features, for instance.” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 34. Comparing Resin to other JavaEE Vendors • Positioned between Tomcat and WebLogic • Enterprise quality server • Elastic • Health System • Administration System • More lightweight • Only 23 MB download • 6 second start-up time Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 35. Comparing Resin to other JavaEE Vendors (continued) • For customers who want enterprise quality that don’t need the heavyweight full JEE stack • Support JEE 6 Web Profile Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 36. “You also have an anomaly detection feature. Could you tell us a bit about that and where that idea came from?” Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 37. Anomaly Detection Feature • Organically rose from need to support customers • As well as a lot of our health system • Result from an actual customer having thread spike issues • Noticed the issue in produced graphs • Unable to tell what was happening • Needed a snapshot at the time of issue Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 38. Anomaly Detection Feature • Monitors virtually any statistic in your JMS (continued) • i.e. number of threads • Sees unusual spike in amount of threads • Snapshot report is triggered • Invaluable in providing support • Detecting something unusual happening while its happening • Creating a snapshot of the system to use for debugging Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  • 39. Title • Caucho Technology | Home Page • Resin | Application Server • Resin | Java EE Web Profile Application Server • Resin - Cloud Support | 3G - Java Clustering • Resin | Java CDI | Dependency Injection / IoC • Resin - Health System | Java Monitoring and Server Monitoring • Download Resin | Application Server • Watch Resin | Application Server Featured Video Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n\n\n
  14. \n\n\n
  15. \n\n\n
  16. \n\n\n
  17. \n\n\n
  18. \n\n\n
  19. \n\n\n
  20. \n\n\n
  21. \n\n\n
  22. \n\n\n
  23. \n\n\n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n