Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Resin Application Server                        Paul Cowan - InfoQ                             InterviewCaucho Home | Cont...
InfoQ - Paul Cowan Discusses the Resin                  Application Server and CloudCaucho Home | Contact Us | Caucho Blog...
About Paul Cowan     • Software Engineer working on the Resin          application server at Caucho Technology     • Focus...
“Where do you see Resin              in terms of the wider                Cloud landscape?”Caucho Home | Contact Us | Cauc...
Resin and the Cloud                     Landscape     • Resin fits on the elastic JEE application layer     • We don’t sell...
“Can you tell us a little bit          about how your Cloud         support is architected?”Caucho Home | Contact Us | Cau...
Resin Cloud Support                         Architected     • Triad hub-and-spoke          architecture     • Hub         ...
“Why did you go for a           hub-and-spoke rather          than say a peer-to-peer                 cluster?”Caucho Home...
Hub-and-Spoke vs. Peer-                to-Peer     • Most cases easier to have 3 primary servers          • IP addresses a...
Basic Hub-and-Spoke                          Configuration                                                                 ...
Basic Hub-and-Spoke                          Configuration                                                                 ...
“How do you keep the network       traffic to a reasonable level as       the number of spikes grows?”Caucho Home | Contac...
Keeping Network Traffic at         Reasonable Level as Spikes                        Grow     • Messaging based on Hessian...
New Server Dynamically Joining                     Cloud                                                            Dynami...
New Server Dynamically Joining                     Cloud            Spin up a new VM instance and add it to the cluster. I...
“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 co...
Configuring Typology of                   Cluster     • Elastic servers spun up                          (continued)       ...
“How does Resin support Cloud        deployment and distributed               versioning?”Caucho Home | Contact Us | Cauch...
Cloud Deployment and        Distributed Versioning on Resin     • Based on HMTP messaging system          • Forms basis fo...
Cloud Deployment and        Distributed Versioning on Resin                                                         (conti...
“You’ve got replicated session         state across the machines?        What’s the overhead like for      that; for actua...
Overhead for Replicated Session            State Across Machines     • Pretty low                • Only need to replicate ...
Overhead for Replicated Session         State Across Machines (continued)     • Hashing sessions and comparison with maste...
“What’s the Watchdog            system and why is that              important for Cloud                 deployment?”Caucho...
Watchdog System     • Resin always runs with two processes     • Watchdog is the secondary process that          controls ...
Watchdog System                                                         (continued)     • Cloud environment advantage     ...
“Can you describe some        of the other reports I can          get out of the health        system? You have post-     ...
Health System Reports     • Watchdog Report          • Prior to or leading up to a restart                • Produce a repo...
Health System Reports                                                         (continued)     • PDF Report (continued)    ...
“And you do JIT profiling     as well, I think I’m right in               saying?”Caucho Home | Contact Us | Caucho Blog | ...
JIT Profiling     • Health system is very configurable          • Any period of time                • From a certain end res...
“How does what you offer        compare to some of the other        JavaEE vendors? WebLogic has          some similar fea...
Comparing Resin to other                       JavaEE Vendors     • Positioned between Tomcat and WebLogic     • Enterpris...
Comparing Resin to other                     JavaEE Vendors (continued)     • For customers who want enterprise quality th...
“You also have an          anomaly detection      feature. Could you tell us     a bit about that and where        that id...
Anomaly Detection                             Feature     • Organically rose from need to support          customers      ...
Anomaly Detection                             Feature     • Monitors virtually any statistic in your JMS                  ...
Title • Caucho Technology | Home Page • Resin | Application Server • Resin | Java EE Web Profile Application Server • Resin...
Upcoming SlideShare
Loading in …5
×

Resin Application Server and Cloud discussed by Paul Cowan

4,191 views

Published on

http://www.caucho.com/resin-application-server/resin-professional-application-server/

In this interview Charles Humble talks to Paul Cowan about the Resin Application Server architecture, capabilities, and where it fits in the Cloud market.

Published in: Technology
  • Be the first to comment

Resin Application Server and Cloud discussed by Paul Cowan

  1. 1. Resin Application Server Paul Cowan - InfoQ InterviewCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  2. 2. InfoQ - Paul Cowan Discusses the Resin Application Server and CloudCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  3. 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 divisionCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  4. 4. “Where do you see Resin in terms of the wider Cloud landscape?”Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  5. 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 itCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  6. 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. 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 asCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  8. 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. 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 networkCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  10. 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. 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. 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. 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 sentCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  14. 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. 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. 16. “How do I configure the typology of the cluster?”Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  17. 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 machinesCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  18. 18. Configuring Typology of Cluster • Elastic servers spun up (continued) • Using single command line • Easy to bring them up and down as neededCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  19. 19. “How does Resin support Cloud deployment and distributed versioning?”Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  20. 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 serversCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  21. 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 applicationCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  22. 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. 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 updateCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  24. 24. Overhead for Replicated Session State Across Machines (continued) • Hashing sessions and comparison with master and spoke servers • Cuts down on network trafficCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  25. 25. “What’s the Watchdog system and why is that important for Cloud deployment?”Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  26. 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 issueCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  27. 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 issuesCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  28. 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. 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 dumpCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  30. 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” PDFCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  31. 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. 32. JIT Profiling • Health system is very configurable • Any period of time • From a certain end response to a certain issueCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  33. 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. 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 timeCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  35. 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 ProfileCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  36. 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. 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 issueCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  38. 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 debuggingCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server
  39. 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 VideoCaucho Home | Contact Us | Caucho Blog | Wiki | Application Server

×