ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Designing a Reliable Web Application

    IT Discussion
    5
    23
    3.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • mroth911M
      mroth911
      last edited by

      @scottalanmiller Ok. how can i achieve what I am looking to do.

      scottalanmillerS 1 Reply Last reply Reply Quote 0
      • mroth911M
        mroth911
        last edited by

        @scottalanmiller What kind of equipment do I need? ETC?

        1 Reply Last reply Reply Quote 0
        • scottalanmillerS
          scottalanmiller @mroth911
          last edited by

          @mroth911 said in Hp storage D2d4324 nfs slow xenserver:

          @scottalanmiller Ok. how can i achieve what I am looking to do.

          I would start a new thread for this discussion as this one is really about performance on the specific unit and not the architecture of your solution. I'll split this out to a new thread.

          1 Reply Last reply Reply Quote 0
          • scottalanmillerS
            scottalanmiller
            last edited by

            This is split from an original thread about two (or more) host nodes and a single NAS back end (for context.)

            The first thing that you do is never introduce a shared component, like storage. The NAS here would be 100% critical to everything that you do so it is a huge risk that you have no need for that would undermine your entire setup. If anything happened to the NAS you'd have nothing. That the NAS is also the most fragile component of the setup makes this even worse. That the NAS in question is a black box appliance that is out of support and no long a viable business use device takes this to a whole 'nother level of risky.

            No reliable design can use a shared storage device of this type for reliability, the shared storage is directly in opposition to your design goals. So remove any thinking around a shared device immediately as it is the polar opposite of what you want.

            1 Reply Last reply Reply Quote 0
            • scottalanmillerS
              scottalanmiller
              last edited by

              Now let's talk about your application. What are you running, what are the components that we need to protect? Presumable this is a web application front end and a database. Anything else? We need details on these. Is it Apache, NGinx, WordPress, NodeBB, MySQL, PostgreSQL, MongoDB, etc.

              1 Reply Last reply Reply Quote 0
              • mroth911M
                mroth911
                last edited by

                I am running A ms project server, Wordpress, Litespeed webserver, Cpanel, mysql, Sharpoint, Sugarcrm,

                IRJI scottalanmillerS 3 Replies Last reply Reply Quote 0
                • IRJI
                  IRJ @mroth911
                  last edited by

                  @mroth911 said in Designing a Reliable Web Application:

                  I am running A ms project server, Wordpress, Litespeed webserver, Cpanel, mysql, Sharpoint, Sugarcrm,

                  Those are all totally different applications. For example your wordpress installation may include Cpanel and mysql, but sharepoint is something different entirely.

                  What are you trying to do exactly?

                  1 Reply Last reply Reply Quote 0
                  • scottalanmillerS
                    scottalanmiller @mroth911
                    last edited by

                    @mroth911 said in Designing a Reliable Web Application:

                    I am running A ms project server, Wordpress, Litespeed webserver, Cpanel, mysql, Sharpoint, Sugarcrm,

                    @mroth911 said in Designing a Reliable Web Application:

                    I am running A ms project server, Wordpress, Litespeed webserver, Cpanel, mysql, Sharpoint, Sugarcrm,

                    Okay, that's a lot of different stuff. I assume you are running different operating systems for the different workloads?

                    cPanel, SugarCRM and WordPress are on LiteSpeed, I assume, and will be managed by a load balancer? These are static and need no HA protect other than what the load balancer handles, correct? The only risk that these face is either losing all nodes or if shared storage is introduced that they will then be at risk from that. They are naturally HA when load balanced so there is nothing to do there, correct?

                    1 Reply Last reply Reply Quote 0
                    • mroth911M
                      mroth911
                      last edited by

                      Well.. I am trying to setup HA .. One for my internal business applications for my users, My business uses ms project, Sugar Crm, 3cx Pbx server and 5 to 6 sub domains. with a wordpress site.

                      and HA for every consumer we host there website.. Via Wordpress. Html, PHP

                      scottalanmillerS 1 Reply Last reply Reply Quote 0
                      • scottalanmillerS
                        scottalanmiller @mroth911
                        last edited by

                        @mroth911 said in Designing a Reliable Web Application:

                        I am running A ms project server, Wordpress, Litespeed webserver, Cpanel, mysql, Sharpoint, Sugarcrm,

                        MySQL / MariaDB have to be handled at the database layer and cannot be safely handled for HA via the platform and can not share storage without having no chance at HA (without insanely expensive enterprise SAN shared storage that makes zero sense here and still wouldn't be any better than having nothing shared.)

                        Galera is the standard answer here. There is no other approach to HA for databases, so you need this no matter what else you do.

                        1 Reply Last reply Reply Quote 1
                        • scottalanmillerS
                          scottalanmiller @mroth911
                          last edited by

                          @mroth911 said in Designing a Reliable Web Application:

                          Well.. I am trying to setup HA .. One for my internal business applications for my users, My business uses ms project, Sugar Crm, 3cx Pbx server and 5 to 6 sub domains. with a wordpress site.

                          Why invest in HA for internal users? What does downtime cost them that would warrant this? Is this over 20,000 internal users? I've never seen Project software that had a high cost of momentary downtime.

                          3CX PBX can be handled by platform level HA. So XenServer or Hyper-V without shared storage will "just do this", nothing special needed there. These will handle the web servers too, but not as well as not doing it. So don't. The PBX is unique of these workloads in that it is easily HA'd using the platform.

                          1 Reply Last reply Reply Quote 0
                          • scottalanmillerS
                            scottalanmiller
                            last edited by

                            MS SQL Server and SharePoint are more complex and you'll need to address those individually if you really need HA for them. This will have licensing costs and other overhead. Almost never would these be candidates for HA. These will be a big deal on their own. Everything else is trivial.

                            thwrT 1 Reply Last reply Reply Quote 0
                            • mroth911M
                              mroth911
                              last edited by

                              ok .. so i am on the right track I guess. I would like to split the database .... for ms sql. have one MS sql server

                              scottalanmillerS 1 Reply Last reply Reply Quote 0
                              • scottalanmillerS
                                scottalanmiller @mroth911
                                last edited by

                                @mroth911 said in Designing a Reliable Web Application:

                                ok .. so i am on the right track I guess. I would like to split the database .... for ms sql. have one MS sql server

                                You don't have to do that. MS SQL can run on Linux now. No need for Windows for that, but SQL Server on Linux is very, very new. MySQL needs to run on Linux, of course, stability, cost and performance are all bad on windows so no production system would use that.

                                1 Reply Last reply Reply Quote 0
                                • scottalanmillerS
                                  scottalanmiller
                                  last edited by

                                  And you don't need to split the database from the web front end, that's unnecessary. I probably would as well, but nothing that I wrote here suggests that. That's a separate decision to be made.

                                  1 Reply Last reply Reply Quote 0
                                  • mroth911M
                                    mroth911
                                    last edited by

                                    My project server is so slow.. with 10gb or ram.. thats why i thought of spliting datebase.

                                    scottalanmillerS 1 Reply Last reply Reply Quote 0
                                    • scottalanmillerS
                                      scottalanmiller @mroth911
                                      last edited by

                                      @mroth911 said in Designing a Reliable Web Application:

                                      My project server is so slow.. with 10gb or ram.. thats why i thought of spliting datebase.

                                      Splitting normally introduces more slowness, it doesn't solve it. It introduces extra latency and OS overhead and network overhead. You split for scalability, but not for performance. You lose performance on a node by node basis in exchange for being able to scale larger; but if you are within the performance threshold of a single node, then putting everything onto a single node is the fastest option.

                                      1 Reply Last reply Reply Quote 1
                                      • scaleS
                                        scale
                                        last edited by

                                        You can use a high availability platform (Scale HC3 would be an example but is only one of many options) to handle the failover of the web servers which, as @scottalanmiller said, are normally read only and don't have to worry about crash consistency.

                                        For a database you would ideally want to run at least one virtual machine on two different servers or cluster nodes and use something like "pinning" to guarantee that each database instance remains on separate hardware. Then you can use the database's own replication functionality to maintain data safety in the event of a hardware failure.

                                        This would limit the effort necessary to deal with protecting the different functions leaving you with only the database as needing the additional effort. But it would not address load balancing for the application, only protection of availability.

                                        1 Reply Last reply Reply Quote 1
                                        • thwrT
                                          thwr @scottalanmiller
                                          last edited by

                                          @scottalanmiller said in Designing a Reliable Web Application:

                                          MS SQL Server and SharePoint are more complex and you'll need to address those individually if you really need HA for them. This will have licensing costs and other overhead. Almost never would these be candidates for HA. These will be a big deal on their own. Everything else is trivial.

                                          SharePoint is HA by default. At least it can be if you did a farm install (which you hopefully did? All kinds of evil things will try to eat you alive you if you did not so). In SharePoint, you basically have 3 types of server roles: DB, Backend (or "Application" role) and Frontends (which are basically just IIS). DB (should be) HA by using at least an active-passive SQL Server failover cluster, better an active-active or AlwaysOn one. You can have multiple frontends and backends by SharePoints internal mechanism. You can put a regular load balancer in front of the IIS's.

                                          If you need to go cheap, you can achieve at least active-passive failover by virtualization mechanisms, like @scale mentioned. Don't know if KVM or Xen can do active standby VM's (mirrored VMs) like VMWare, at least Hyper-V can't do that (as of 2012R2)

                                          scottalanmillerS 1 Reply Last reply Reply Quote 1
                                          • scottalanmillerS
                                            scottalanmiller @thwr
                                            last edited by

                                            @thwr said in Designing a Reliable Web Application:

                                            Don't know if KVM or Xen can do active standby VM's (mirrored VMs) like VMWare, at least Hyper-V can't do that (as of 2012R2)

                                            Do you mean shared memory where there is full fault tolerance and absolutely zero downtime and zero crash consistency issues? Then no, no one does that except for VMware right now. It's the biggest feature that I think makes VMware worth it for shops that need VMware. But it is a massively expensive feature both in terms of VMware licensing as well as in terms of performance hits, OS licensing and system overhead. Doing memory mirroring across nodes is very, very painful in terms of system resources.

                                            thwrT 1 Reply Last reply Reply Quote 1
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post