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

1,470

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
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,470
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n\n\n
  • \n\n\n
  • \n\n\n
  • \n\n\n
  • \n\n\n
  • \n\n\n
  • \n\n\n
  • \n\n\n
  • \n\n\n
  • \n\n\n
  • \n\n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 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
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×