The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

cPanel and the future of Cloud Linux?

Discussion in 'CloudLinux' started by nibb, Feb 1, 2012.

  1. nibb

    nibb Well-Known Member

    Joined:
    Mar 22, 2008
    Messages:
    301
    Likes Received:
    1
    Trophy Points:
    18
    Think about it. You can already limit process in in apache directly. Same for mysql and the same for email. More and more softwares and platforms will slowly align to the cloud usage, pay per usage, and a multi tenant scenario.

    I know Cloud Linux does this inside the kernel, but why would you need it, if you can actually limit most stuff directly?

    The thing as I see it is that cPanel just did not integrated this limits and features in their software. This is why people rely in Cloud Linux and I have to admit it that being able to see exactly from WHM which account consumes resources is nice for an admin, and from the customer side is also very nice.

    Now the question I have is, why is cPanel not building this management features in their control panels? I mean, they can be a truly cloud control panel this way. Im not talking about modifying the kernel like Cloud Linux does. Im talking about putting the same tools you can manage from the command line.

    This means, in WHM you can already see which accounts consumes most processes, but a user cannot see this from their control panel side. Recently I had a customer asking me, but if I cannot see how much CPU im using from my account, then when I will know if its to much? He is right.

    The customer should be able to see how much process, cpu and memory he is hitting, right from inside his cPanel. Cloud Linux has an addon for this. But you don´t need Cloud Linux to bring this stats to the customer cPanel side. So why isnt cPanel doing this?

    Also, from WHM if could actually manage this features and set them per sever wide and per account, for example RLimitNPROC for Apache you could actually turn cPanel into a resource cloud shared hosting.

    People don´t have a problem with shared hosting. They like it. Recently I was asked if shared hosting has a future in todays cloud and servers world. I answered, yes 100% but it depends on provider giving users what they want.

    My experience with customers is that they want something that works. They don´t care if its running on a cloud server, or a in shared hosting. It has to work. They want to pay as low as possible and focus on their business, not managing a server. The problem is that shared hosting is so oversold and so destroyed with unlimited hosting that most people that just get a peak of traffic hit the wall and need to leave to a VPS or server to be able to be online again.

    History showed that this is a disaster. People that jump from their cPanel to suddenly being on a full server, end up with downtimes, servers hackeds, and spending more hours that they would like too. This customers usually scream and beg to go back to a shared hosting, even telling me "please, I just want cPanel access and I will pay more, but the VPS is just to complicated"

    So, yes my answer is, shared hosting will succeed even more then cloud will be if its done right. Customers don´t want to manage a server, they don´t even want a hosting. They want their web app to run. Regardless where it runs.

    The problem for us shared hostings is always the same. Some users use nothing, and others use just allot. This is why Cloud Linux is working for them. But what if you could take this a step further and truly assign 1 customers more CPU and more process or more RAM then another customer that pays less? This would mean it would be like shared cloud service. You could even assign half of the server resources to a single client if he is willing to pay and he will pay that over a VPS because he gets his usually very easy to use cPanel control panel and doesnt need to bother with the operating system or server.

    The biggest problems for shared customers and shared clients, is the jump from being on a shared server to be in its own server.

    If cPanel could start to focus on this, they could truly be a cloud solution in terms of pay per usage and resources. People would gladly pay more if they see their website and script is using more CPU and they would be more conscious with resources. If they are on their VPS and they hit the resources its ok. If they are on a shared server and they hit the limit, usually the hosting provider sucks. Why? Well, because they assume the server lies, or just has a crappy server, or is just to overloaded, because when he moves his account to another new server that has 0 clients on it, it works fine, until that server is full again.

    The customer cannot actually track any resources from this cPanel account. And that is bad. cPanel should start developing tools or integrate the ones that exists already too:
    Let resources limits in WHM for what can be done today, like apache, email, etc. Not everything can be limited, but more and more software are approaching the multi tenant environment, so more and more they are developed with this in mind.

    Let admins see good stats about customers resources.

    Let users see basic stats on their account. Send email notification when they are reaching the limits and see historical view.

    With all this in mind, in the future, hosters could charge per CPU, RAM and process, being truly closer to a cloud provider. This means Hosting plan A can use 10% of CPU, costs 10$, Hosting Plan B can use 25% and costs 20$, etc. You get the idea.

    If the tracking from cPanel is good developed, and cPanel providers API for this in the future, providers could even sell shared hosting per hour. As a customer you could then hire 50% of a CPU in a shared account for 1 day. Or a normal customer could be charged for CPU peaks or hire more capacity when he needs it.

    Searching in Google you can find tools that show customers stats like CPU on their cPanel side. No, it doesnt limit them like Cloud Linux does, its just information but that is a start and its better then not doing anything.

    I never understood why cPanel is not looking into this approach, because more and more hosters are moving back from the unlimited to the fixed resources, and want to charge customers per usage. So cPanel should attack this need. Their control panel should be prepared to the future and integrate all kind of resources limits you have today in your hands, at least if you use the standard configuration like Exim, Apache, MySQL, etc.

    Will it be a truly rock solid isolation? No. But so isn't Cloud Linux. cPanel markets is shared hosting. But tomorrow it should be shared cloud hosting.

    Example, one of the features people have asked for years, are very basic, like being able to export WHM settings to apply them on another server, or have a centralized one that applies to a cluster. Have the DNS management working with the Windows Servers, most people that don´t use Enkompass dont, because they cannot use the infrastructure they have today, this means they need to setup a new DNS cluster, and new stuff even when its the same control panel.

    Don´t get me wrong. cPanel is the best control panel in the industry, but you can always be even better and go where others don´t even venture yet. When a customers ask me about cPanel, he doesn´t care about the sever or the software, he just wants to things as easy as possible and have the tools in their hands. Yes, I can use a server and setup a hosting account without cPanel. You can do everything from the command line, but I even install cPanel on servers that host 1 website, why? Well, I dont mind the extra costs because I have all tools on hand, and I can update everything and configure everything with simples clicks rather then having to type each one in the command line and forgetting something.
     
  2. cPanelTristan

    cPanelTristan Quality Assurance Analyst
    Staff Member

    Joined:
    Oct 2, 2010
    Messages:
    7,623
    Likes Received:
    21
    Trophy Points:
    38
    Location:
    somewhere over the rainbow
    cPanel Access Level:
    Root Administrator
    Just a suggestion--while you raise some valid points, you may wish to narrow down the focus to features you want and point them out in a more terse fashion. This would make it easier to know specifically what you would like to see implemented.

    Additionally, posting what features you would like to see into the feature request forum directly would be more beneficial.
     
  3. cPanelAP

    cPanelAP cPanel Chief Business Officer
    Staff Member

    Joined:
    Sep 24, 2001
    Messages:
    35
    Likes Received:
    0
    Trophy Points:
    6
    Greetings,

    The CloudLinux partnership was established for a couple of reasons that we really thought made sense.

    1.) They had technology we believe is useful to the hosting industry.
    2.) They had already established a customer base and we were seeing an increase in the number of cPanel & WHM servers with CloudLinux already installed.

    In evaluating their technology we found it met the needs of shared hosting providers and was very useful in many aspects. We also found that with a former partnership we would be able to dive deeper into better integrations, better support, and simplified licensing.

    CloudLinux does many of the things you have posted about and I have requested their CEO to jump on this thread and provide some more details.

    We will also be looking through this thread to help dissect some of the features you have suggested and adding them to our formal feature request procedure.

    I believe many of the points you are discussing are worthy of further evaluation and we look forward to building a product that meets the needs of the future web hosting provider.
     
  4. iseletsk

    iseletsk Well-Known Member

    Joined:
    Mar 3, 2010
    Messages:
    163
    Likes Received:
    1
    Trophy Points:
    18
    Location:
    Princeton, New Jersey, United States
    Please, let me split my answer in two posts. This one will address why it is not easy/feasible today to do what CloudLinux does using CentOS/RHEL. The second will address where CloudLinux with the help of cPanel is going.

    It is possible to limit the number of seconds a process runs via apache RlimitNPROC directive. It is about as useful for shared hosting, as ability to limit the size of individual file.

    It is not the time individual process is running – it is amount of CPU individual account is using. Such numbers are very hard and expensive to get via regular user land tools. You need to record CPU spent by each process, and each child process, and each grand child process, log it somewhere, and then sum/assign to each user, average across time. And you need to do it for web, cron, shell...

    More then that – you have to do it for all users, multiple times a second, all while keeping in mind the limits and comparing it to those collected values. And what happens if user goes “over the limit”? Do you kill the process? Do you make it “nice”? Do you do it to all processes for that user? Such solutions are expensive to maintain, prone to failures (process you are killing/making nice might already forked a child you know nothing about), and hard to implement.

    There are companies running such systems – I spoke with many of them. They complain that their systems were hard to do, that they are flaky, and far from perfect – and we are migrating quite a few of such systems to CloudLinux. This is the major reason you don't see any popular plugins that show CPU usage – none of them work well enough. There are few very big companies that implemented systems in a way similar to CloudLinux – like HostGator and BlueHost. They spent years to get there, and lots of $$ to implement it – and they made it only for the way they run their business. It might not work for 75% of the installs due to different ways to run PHP, or some other configuration options. The way we designed the system – it should work no matter how you configured your servers.

    The situation is even harder for MySQL – you cannot set rlimit in MySQL on per customer bases – it just doesn't work that way. Setting it for the whole MySQL server is meaningless. The best thing so far is UserStats patch. It collects usage numbers, but needs some analytics to make it useful. Yet, even that is not included by default in MySQL and we had to patch it to get it working with latest versions of MySQl. And in the end, it is nor very well suited for hosting (due to accounting being done after query completes, not while it runs).
     
  5. iseletsk

    iseletsk Well-Known Member

    Joined:
    Mar 3, 2010
    Messages:
    163
    Likes Received:
    1
    Trophy Points:
    18
    Location:
    Princeton, New Jersey, United States
    What we are providing is a platform for shared hosting. Not a control panel, nor a billing solution. cPanel is amazing control panel that makes it easy to administer Linux server and easy for your customers to host their sites. WHMCS and other billing systems let you sell "resources", be it domains, mailboxes, disk space or traffic.

    Yet, until CloudLinux there were no CPU or memory resources in shared hosting. What CloudLinux is working on, is to bring shared hosting to age of cloud – where you can sell CPU/memory/IO resources, provide high grade security and improve overall stability and availability. Generic linux, the way it is done right now is just not there yet. I would estimate we are about 3-4 years ahead of where RHEL is in addressing shared hosting needs, and we plan to continue working to move the industry forward. If you look back – 2 years ago no shared hosting companies would be selling hosting based on amount of CPU. Today there are lots of CloudLinux hosts who do it. In two years, it will become industry standard to provide resource based, secure shared hosting.

    We are waiting for cPanel 11.34 that will feature ability to extend plans, so that you could setup resource limits on per plan bases. We also plan to add integration into WHMCS so that people could upgrade their CPU/memory on the fly. We have a few customers who use their own, in-house billing system who already implemented that. CageFS will bring virtualized file system and security on par with VPS servers - making it possible to provide PCI grade hosting on a multi tenant cPanel server.
    We are also looking in a few other directions such as high availability, clustered filesystems, and virtualized MySQL instances to increase the availability and security of the shared hosting without changing underlying approach to manage and provision shared hosting.
     
  6. nibb

    nibb Well-Known Member

    Joined:
    Mar 22, 2008
    Messages:
    301
    Likes Received:
    1
    Trophy Points:
    18
    Ok let me try to explain better my point of view.

    What iseletsk explained in his second reply is what I was trying to describe. Hostings selling plans per CPU, Memory usage, etc.

    I completely agree that cPanel is a control Panel and something like WHMC is a billing solution. In no way I want cPanel to do this, neither Cloud Linux. I always believe that the best companies in the world focus mainly on 1 single product, tops 2 products, but very related. Usually you cannot have all things that shine under the sun and this is why cPanel is cPanel today, because they only focus on control panels and WHCMS only focus on billing. I actually prefer another billing tool which I consider better than WHMCS but that is another story.

    I completely agree with this. A billing software should stay there, and a control as well. I always tell this to people in other forums when I see requests in features that say "please put a support ticket system" in this billing software, or please allow billing from cPanel. I always reply the same. Its not possible for developers to waste time and resources to put something there where others solutions already do this far better and are exclusively focused on that already. So just focus on your main core and you will success. Just like hosting companies that try to sell absolutely everything that exists on the Internet, the more have the less you can hard press on a specific products so you end sucking in everything instead of just focusing on 1 strong service.

    "Jack of all trades, master of none"

    What I want to resume with this point is that of course the billing and selling of the plan will and has to be made from a billing software like WHMCS, but this can only be done via an API system connecting to the control panel, and for this to work. cPanel has to advertise their APIs which lets you create/limit/upgrade plans per CPU, RAM or Process.

    A billing systems cannot invent this. Its the control panel that has to support it by default. What iseletsk said what I was trying to describe. I would also like to sell plans based on resources. This would really kill the need of people having to upgrade to a server or VPS when they outsell shared, why? Well because I can just sell them the specific needs they require for CPU, RAM, etc. And it will still cheaper then putting them on his own VPS which like I said is a disaster. As this customers knows how to manage their website and cPanel, but they don't know how to secure a server, make backups, upgrade the kernel, manage the firewall, etc. They usually end blowing their VPS costing Tech Staff time and us money and the client as well. He would pay a premium just to have this usually cPanel access but with the power of the whole server.

    So what do hosts do? Some offer a fully managed cPanel server. This is just plain stupid if you ask me. You are putting a whole cPanel / WHM server for 1 single website, the customer doesn't even has access to his WHM and now you have a whole server using space in rack, power and extra costs for a completely underused server, where the website now consumes maybe 30% of the CPU and 50% of RAM, the rest in idle all time. Efficiency zero.

    90% of this customers, are exactly in the middle between shared and dedicated. Dedicated is to much, to costly and unnecessary, but shared is to small because a provider needs to put other customers as well on the server to actually make some money.

    The solution would be able to sell a plan with fixed resources in terms of CPU, RAM, etc. Besides the usual space and transfer limits. I never sold unlimited plans because I consider them a gimmick and after 10 years I start to see hosting companies moving back to fixed resources to better align with their new cloud offerings. At least I was right. More and more people understand that unlimited is just a gimmick. Customers need to understand that resources costs, and the more you use the more you need to pay. Its just common sense in terms of servers and hardware. The more CPU power a server draws, the more power it will use and by this its costly for the provider, as CPU, drives, and ram sticks are all limited by the motherboard.

    This leads to my second point. Being able to sell plans per resources which include CPU, Ram, etc makes you earn more money and have more balanced servers. Example, you have 3 hosting plans, each one with bigger space and transfer features over the next one. This are all the selling limits you have, but the truth is that the customer from the smallest plan can use the same CPU and RAM as the one in the biggest one which is very unfair as they pay less. When customers ask me, I tell them, the bigger plan is for more intensive websites, which require more CPU and RAM usage, but the truth is that the smallest one can use the same. Of course you can manually make him upgrade or suspend an account, as you can verify in real time which one is leading the way in resources. But in real life most people will stay on the smallest plan, using sometimes more resources then customers on the biggest ones. What would be fair, is that truly the customers that pays more can use more, so you can really up sell the smallest ones and you will have better balanced servers in terms of incomes per usage.

    Also, if cPanel works this way, being able to create and limit plans based on CPU, Process and RAM besides the current limits, you could sell this plans via any billing system and the billing system could manage time services with this. This means the billing system could allow you to sell a hosting plan for 1 day. Or a customer could upgrade to double his CPU share for 24 hours, and then it goes back normal, or he could upgrade to 5 times more RAM for 7 days, or you could truly sell unlimited (I prefer to call it unmetered) plans and charge him at the end of the month his CPU usage, his RAM usage, his Process usage, space used, and bandwidth. This would be like a truly cloud service.

    As a customer I could sign up for a cPanel account, and pay at the end of the month what I used, even if it was 80% of the servers CPU, sure I would get a huge bill but the options is there. A true shared cloud service. You could sell fixed plans or pay per usage plans. Today this is not possible because the only factors for selling you have are usually space and bandwidth.

    I will address my other concerns in a second reply.
     
  7. nibb

    nibb Well-Known Member

    Joined:
    Mar 22, 2008
    Messages:
    301
    Likes Received:
    1
    Trophy Points:
    18
    I understand completely what Aaron posted. It makes sense to support and offer what customers where requesting. But the reason more and more people started to use Cloud Linux was exactly because cPanel by itself does not have any features which can limits resources on a client account.

    I completely appreciate and I congratulate Igor for Cloud Linux but as a business owner myself there are some concerns about this approach.
    on
    Cloud Linux is not a cPanel product. Its a product which can be used on any other control panel. This means its not a core advantage of cPanel vs cPanel implemented similar features themselves. Its not a competitive feature and I even read some people having problems with cPanel processes not working correctly. It will never be the same as a product developed or integrated in the cPanel core.

    I used some addons like skins for some cPanel servers for a couple of years and even when the developer made this best efforts to put features there that cPanel by default did not had, it was a disaster. Every cPanel upgrade broke it costing hours to fix it. It was buggy, insecure and just to hard and costly to maintain. Dropping it and just using default cPanel features was the best decision ever, just like dropping Pesky control panel was as I have the worst experience ever with Sw Soft and now Parallels.

    Now here comes my concerns about Cloud Linux. At first I thought that Cloud Linux modified the kernel in order to get and measure process and resources from an account regardless of what it did. It works on the OS level I said, great, this is what I was looking and it supports cPanel.

    But then I started to dig. Its not so fancy like I thought it was. First, Tristan replied one of my biggest concerns:
    http://forums.cpanel.net/f391/cpanel-future-cloud-linux-255742.html

    Cloud Linux does this only for Apache process. It even actually depends on how Apache is compiled if I understand correctly. This means its just a patch on to Apache and measure calculations tools on the Kernel. And just recently it can do MySQL. Reading further in Igor website I even found out that it really doesn't work well for RAM calculations either.

    Which leads to my point. Is it worth to pay extra just to have an apache process isolation feature? And not only this, the extra money is ok, but the extra software layer and the potential problems it can bring are they worth for this single feature?

    In my personal point of view its not. Because this just brings us to the same spot we where before. It doesn't really calculate resources used by a customer, it only does for this website and not even 100% on that either.

    I have very intensive email customers, Cloud Linux will not work here. How about FTP users? Nop. How about MySQL, they are working on it. How about other process which don´t exactly are executed via Apache? Nop. How about Tomcat or PostgreSQL, or you name it. Nop.

    I thought Cloud Linux was a kernel product that would calculate user process regardless of what they did. No, it doesn't, it only works for what it was made to calculate, in this case Web server process.

    So now we have:
    2 costs, cPanel costs plus Cloud Linux costs for 1 single isolation feature.
    We now have an extra software layer to manage
    We now have potential problems with other software that requires CPU calculations to work. Cloud Linux messes that up.
    We now have to learn new configs, everything has to be tested and made sure it works with it.
    It doesn't do RAM calculation or memory well, at least its disabled by default.
    It doesn't guarantee calculate or isolates every process on an account, just for Apache.

    Allot of things can break or don´t play nice.

    Is this all worth? If you ask me. No. If you happen to be a hosting company that jacks 1500 unlimited websites in a server, its does miracles. But if you happen to be a hosting company that sell fixed plans, monitors all process via a NOC center 24/7 every 60 seconds, this means Apache, email, Databases, etc. It does nothing.

    It does nothing because you rarely have a downtime and if you have a CPU spike caused by a customer you get alerted in real time and log to the server and see what is the problem. And most of the times the problem is not related to a user account but it can be something else like R1soft agent crashing, so Cloud Linux doesn't replace staff having to monitor servers and services 24/7 at all. Of course they don't advertise that either but if you already need and have staff controlling servers and babysitting them, you don't need an extra tool to do it either.

    Cloud Linux is not cPanel. It just address things that cPanel doesn't today. I don´t want Igor to take this bad either. I respect his work and I could even potentially start using Cloud Linux. I know it will get better and better and support seems to be great. But do they have the men power and resources to actually support every single Linux software that exists? Im not sure. The single issue that it messes load stats, means on a NOC center all stats from years are now completely off, and everything you where trained to watch and monitor now is messed with new CPU point numbers you need to calculate.

    Also, one of the biggest disadvantages if you ask me, is the slowing of process and websites. This is not acceptable for a customer paying a premium service. I honestly prefer his website to be completely down vs starting to take 1 minute to load. Because the blame would be on the provider. I could not use a product that basically renders all the quality you offer to a service offered by the most overloaded and slowest servers available.

    I completely understand that Igor said that its not that simple to do with addons but that is more or less what Cloud Linux actually does today. It has to talk directly to Apache or MySQL to get the data, so its not more then a fancy patch or plugin. And yes, cPanel already has CPU calculation for some process. My point was that more and more softwares are going to a multi tenant environment. Apache is already working on more and more limits per process and per account and more softwares are approaching the cloud age where limits and calculations per usage is a must.

    cPanel could today calculate allot of CPU process, and RAM usage, without modifying the OS, talking directly to the softwares its running today. Would be perfect? No. But its better than nothing. You don´t need isolation like Cloud Linux does. This is why I think Cloud Linux is rather more complicated. Because it actually isolates the stops the user when he reaches a limit. Im not talking about this. Im talking that cPanel could very simple calculations for accounts and advertise them on the API, the billing software could put the limit and suspend the account. For example, if a hosting plan has 10% assigned, and its measured at 12% cPanel could just suspend the account or the billing software could do this. Then it can be reactivated again, lets say in 5 minutes, if he again goes over, it can be suspended account. This is very simple, but you see, you are actually not isolation resources, of course one account can crash the server, but like I said more people I talked with had very, but very strange downtimes regarding one single account. I still yet have to see, this because my NOC logs in the server 3 minutes after the load increases, so they can actually act before that happens. And with the process I explained cPanel would be even faster suspending the account then a person doing this. It does something similar now when a process crashes with the watchdog. Something similar could be done with resources.

    If this is still not possible I would suggest cPanel to purchase Cloud Linux and make it a default cPanel product, not an extra addon. This would you give you a core advantage over competitors it would talk natively with cPanel and customers would not have a choice if they go with it or not. It would be directly with cPanel setup integrated. The big question would be if that is affordable vs just developing their own similar features. I guess that is only something they can answer themselves. Im sure most people actually don´t care about the isolation feature, but they would love to be able to make more money, this means sell plans based on resources for CPU, RAM, etc.

    But only 2 things can happen. cPanel has to develop similar features to stay in the market and compete with future cloud services, this means people would not feel the need to use Cloud Linux anymore, or they will start to lose customers over other control panels, because they will all work fine with Cloud Linux and what people are going to look and lean to the future is for hosting plans which can be sold per CPU, RAM and Process usages, besides the current features.

    Lets face it. Cloud is a gimmick marketing term. But its here to stay and its what sells and brings food on our tables. So lets embrace it.
     
  8. electric

    electric Well-Known Member

    Joined:
    Nov 5, 2001
    Messages:
    697
    Likes Received:
    1
    Trophy Points:
    18
    Hi nibb,

    I think the "short" answer to your question of why doesn't cpanel just do this "cloud linux" stuff themselves "in house" and "built in" to cpanel...

    ... is because it is technically extremely difficult.

    cpanel is in the business of creating a "control panel" for web hosting. They are not in the business of creating or modifying a brand new linux kernel.

    In other words, it is technically a nightmare to create and develop the Cloud Linux software. Many other hosting companies have tried and failed to do this. As was pointed out, bluehost and hostmonster have done it, but it cost them a lot of money, time, and resources.

    Cpanel has decided to partner with a company that does it.. so they don't have to spent that time/money/resources to do it themselves.

    As time goes on, I'm sure the integration between cpanel and cloud linux will get better, and also as the linux kernel is further developed with shared hosting requirements so that the features we want can be added.

    I hope that makes sense?

    You could argue the same point with regard to softaculous/fantastico/installatron, etc. Shouldn't cpanel include an auto-installer as "built-in" to their control panel? Sure.. it makes sense. And they do, actually, but I have yet to meet even one hosting provider that ONLY offers the built-in cpanel software installer system and not also fantastico/installatron/softaculous.

    Why is that? It's because the software installer system is not a "core" feature or part of cpanel. And it should not be, since that market is served very well and much better by independent developers who provide their products that can very nicely integrate into cpanel.

    Cloud Linux is the same. I would hate to see cpanel side-tracked into trying to develop their out "cloud linux" kernel modifications. It would waste so much time and effort and money that could otherwise be spent on developement of their core product.

    In my opinion, it is a good idea to partner with cloud linux (and softaculous/installatron/fantastico, etc.) for these sorts of additional features and functionality when they exist already as well-developed and solid services.

    cpanel should not try to be the "everything you ever need" software for web hosting.

    Also... the same thing goes for billing software. Doesn't it make sense for cpanel to "build-in" a billing system that looks and works just like WHMCS or AWBS or ClientExec? Yes, it does. It's natural and every hosting company needs a billing system.

    So why doesn't cpanel do it?

    Because there are already well developed software that can integrate into cpanel, so it makes no sense for cpanel to do it themselves. Since if they did it themselves, they would be required to take time/effort/resources from their core product.

    You see the problem?
     
  9. nibb

    nibb Well-Known Member

    Joined:
    Mar 22, 2008
    Messages:
    301
    Likes Received:
    1
    Trophy Points:
    18
    Why are you repeating what I said already? You are just saying exactly what I said, and I said cPanel cannot possible be all things that shine under the sun.

    "Jack of all trades, master of none"

    It seems you are quoting me and then just saying exactly what I said and its not bringing anything to the discussion.

    You think CL is some kind of miracle new Kernel of Linux which it isn't. It takes the current CentOS/RHEL kernel and just adds some modifications to it, so its not a new kernel like you pointed out and if 1 person could develop it I don´t see how a bigger company like cPanel with more staff and developers could not do the same. Even so this is not what I want or even suggested.

    You are completely out of the picture here with your reply. Please read again, I don´t want cPanel to side track Cloud Linux. And this is not what Im saying.

    So based on your reply that cPanel is only a control panel then the features that limit how many emails an customer can send per hour should not be there either right? Or how much space a user account can use, as their are user quotas should not be in the control panel either?

    What do you think actually defines a control panel? Its just a web interface to do things you can already do in the command line and it introduces a layer of bundling all this nice and together, and plus support, patches and updates, and extras to manage the OS. So I think you have a complete wrong picture of what a hosting control panel is.

    WHM already does huge stuff that others don´t do, and this is one of the success of cPanel in the first place. You can do yum updates, and software updates years ahead of Plesk, and WHM has features that usually can only be done from the command line, so you can be sure its a control panel and its a control panel for administrators just like cPanel is for end users. And one of the biggest features of cPanel is limiting features for their clients. Not sure if you notice it already but the main reason for people using is to create LIMITED hosting plans for their customers. So it makes sense they look into the future to limit other things besides just bandwidth and space. Actually limit bandwidth per account was very complicated years back, and they did it, actually every control panel did it eventually. Calculating and limiting network traffic per account is just the same login of doing it with local resources like CPU or RAM.

    This has nothing to do with software installers like Fantastico like you pointed out or billing softwares. cPanel is a control panel, and control panel is a interface, one of its jobs is to limit stuff, and it does this already with space, bandwidth, databases numbers, email account numbers, etc. And its build for hosting companies. And this companies use them to provide a service for their end users. Said, this, they will buy anything that makes their business easier. If its easier for an admin to own a server with WHM, they will install it and pay the extra for having the tools there, to manage the server plus the support and updates they get from cPanel.

    And cPanel as a company already has developed allot of limits you can configure on a customer account for shared hosting. So I don´t see why putting more features that limit accounts is something completely unrelated to a control panel like you mention. Based on your logic it makes no sense that cPanel limits transfer and bandwidth per account and not only it does this but it lets user see their usage, and suspends account per usage. And guess how the bandwidth flows? It goes trough 1 NIC card, or 2 with bonding depending on how you use it but its the same as taking parameters for hardware stuff that is there already which is CPU and RAM.

    My point is very clear and I think cPanel understand this. There are tools and features already here, that can limit account with almost any services. Some are already in WHM and others are not.

    cPanel limits disk space. Drives are hardware.
    cPanel limits bandwidth. NIC cards are hardware, and so are the routers and switches in the other side.
    Of course it uses the OS to do this.
    But said this, it makes sense that in the future it can limit or calculate the same way CPU and RAM, which are also hardware in a server, and which can already be talking to using the OS.

    I can give you 50 examples and Im not even a developer but it can be done.

    I thought Cloud Linux was indeed a Kernel Limiting Feature and I don´t want to blow up your ballon but its not. Its not taking all process and isolating them per user account. It does this only for Apache and this is why it also works with other control panels besides cPanel.

    My point is very clear. cPanel needs to find a way to make their customers easier to sell shared hosting without the troubles they have today. And if this is Cloud Linux so lets welcome it, if its not, they have to figure out some others way. Maybe developing their own Apache limiting module, or their own Exim limiting module, etc. Which again like WHM and cPanel they would all talk and work together acting like a big limit feature on user resources. Or just taking "top" snapshots in real time per USER or PID. I don´t know, but if they could do it for bandwidth and space, they can do it for other stuff.

    Cloud Linux isolates. This means the process cannot affect another one and this is something most providers don´t even need. They would be happy and fine if they could limit them only, hard limit, like killing it would also work. And this is something you can do in Linux and Windows and other OS already with several tools. Its not really hard to see which process are using more CPU and kill them. And it would not be something out of another world to actually measure this process per user account, as in Linux you can already run almost anything under a user account. Said this, its quite possible to calculate process used by a user, in terms of CPU and RAM. Maybe with some overhead but is possible and once you have this metrics you can do anything you want with them. This includes suspending an account when reaching limits. Or giving the user stats of usage in their cPanel accounts.

    So cPanel can pretty much develop and implement features that most hosters would use and bring shared hosting to a field level where they would not need to sell VPS or servers to clients and possible bring them customers from other companies like Parallels, because this people would not need Virtuozzo with Plesk if they can sell shared hosting which are very powerful and customized to a client without affecting other customers.

    The reason Parallels doesn't do this with Plesk is because they want to upsell people to Virtuozzo. They have done this for years. Even when I was a customer from them they started to show Virtuozzo banners on each Customer Plesk control panel without any warning or way to turn it off (you had to edit core files directly to remove their big banner spams). It was spam, for a control panel which you paid 1500$ and suddenly a big Banner from Virtuozzo sending customers to their page. It was an insult to their customers. This decisions and others made me drop it completely but they where pushing this very hard, putting all their work in Virtuozzo and leaving Plesk as an addon product.

    Now, the reason people use Virtuozzo is because its a solution for customers that outgrow shared. This is the only reason and even so its a mess, because this people need to host their website and application, they don't need access to a full OS and all the work it implies. Even so, Virtuozzo as virtualization sucks. Its not really virtualization at all and most people using VPS on their plataform still suffer from other VPS affecting them, its like a big shared hosting, so people which are serious will go with Xen or VmWare.

    Today servers are huge in power. You can run multi core and over 100 GB RAM. You can put shared accounts that are quite more powerful than small VPS´s. The problem is that nobody has a way to sell them with a fixed slice and fair share for each customer.

    I don´t even care if 1 customer can affect for a few seconds a server. Lets say he is hitting his CPU slice, going over it, cPanel would take a little time to figure this out and suspend it, so yes, one account can still affect others, its not virtualization and isolation but its better then nothing. This is what im talking about. Their features that limit space or bandwidth are not visualization either and not really isolation as well. And usually customers will go a bit over their space or bandwidth before being suspended. Its not rocket science but nobody complaints.

    Once the trigger is executed it would suspend the account and the load would be back to normal in a 3 minutes if a user account is abusing his CPU share.

    This is something hosts can live with if they can actually limit accounts per CPU, RAM and process. And sell hostings plans with this limits.

    This can be done today with Linux. And if it can be done, cPanel as a control panel which is just a web GUI can build the tools to manage this.

    You cannot possible imagine how much customers it would bring them. Hosting companies would jump in masses from other control panels.

    Why? Simple.

    You don't need 2 products anymore, like Shared hosting for small websites, and servers/VPS or cloud for bigger sites.

    You can have it all with the same service. And boy would customers love it. They would just pay their shared plan and get cPanel access. No OS updates, not server reboots, not kernel upgrades, no firewall management, nothing. Just pay your hosting and upload your web app. Pay your share of CPU, RAM, etc.

    And yes, you can have the whole server if you want it, it would just mean bigger limits and a heavier price tag. But its still keeping things very simple. You could have 1 customer per server and make the same money as having 100 because every one gets their fair share of what they are paying.

    This is the future. And the only reason why Cloud will never be an option for this customers is because Cloud does this already but a OS level and people don´t need such a complex layer of softwares. They just need their FTP access and their usual cPanel access. Or any web GUI that lets them point and click and configure their services.

    Im talking from experience here. People that outgrow their shared are very uncomfortable with their own VPS and server. They beg to go back a shared where the provider manages the whole server, upgrades, backups, OS updates, etc. They even want to pay more, but there is no solution for this customers today. And they are most of the hosting customers. There are the ones that stay small, never with problems and the ones that grow. The ones that grow usually are not Tech Admins to manage their own servers. So there is no solution for them except get a fully managed server or VPS which is out of their budget as they don´t understand either what they are paying and why they could run in cheap shared and now they can´t.

    A solution to this customers would be "Pay more" and assign them bigger CPU and RAM limits."

    How its done? I don´t care. The end result would be the same. Accounts suspended if they go over their limits.
     
  10. electric

    electric Well-Known Member

    Joined:
    Nov 5, 2001
    Messages:
    697
    Likes Received:
    1
    Trophy Points:
    18
    Ok, I'm glad we agree.

    I do know that at the moment, the stock/default linux kernel does not have the necessary "reporting" capability to do what you think is so easy to do.

    That's why cloud linux has their own custom kernel. It adds the necessary reporting features, and then uses that to do the limiting.

    Kernel development is not something the average programmer can do (without also creating a huge amount of unintended consequences and bugs). This is why cpanel doesn't just do it themselves.

    The various "cloud" systems (and prior to that, the various mainframe systems) that are able to allocate specific resources to specific users, etc.. are the result of many millions of $$ of development. There are some linux kernel developers who are working on these new features, but it takes a lot of time to do it correctly, then go through all the testing, approved by linux community, etc. The fact is that these features are not important to the linux kernel developers (a very small group), and so these features have never been implemented.

    We all want the same thing. The ability to slice up a server based on cpu/memory/io usage would be fanastic. I have been asking for this "feature" since 2001. (You can check my old posts in the forums here.) But just because we want it does not mean it is going to happen. Someone has to actually figure out how to do it, technically, and then make it reliable.

    By all means, if you think there is a better way to do this then through kernel improvements/modification, then feel free to post your thoughts.
     
  11. nibb

    nibb Well-Known Member

    Joined:
    Mar 22, 2008
    Messages:
    301
    Likes Received:
    1
    Trophy Points:
    18
    Yes I do have ideas. How about the Daily Process Log feature in WHM?

    It does this for everything, not just user accounts (when running under suexec) but also for mysql, roundcube, cphulkd, eximstats, etc.

    How about this?

    You set a limit in WHM for CPU% and MEM%

    Once the daily log process is processed, and one account is over the limits its suspended.

    Even better, this could be run in more frequent schedules. If it's optimized and it doesn't cause too much overhead if could do this every 5 minutes or even 1 minute. For now 1 day is ok. As it means one account is using too much RAM or CPU at least in the last 24 hours.

    Of course if you need to stop in the moment it does this to avoid server performance hits it has to run in 1 minutes periods.

    This would work very nicely if you ask me.

    You can sell a package with a fixed CPU and RAM, if the client is passing this XX times he is suspended XX times.

    Now a provider could set this limit by themselves, in terms of CPU and RAM, etc.

    And they could also set how much days or checks have to pass to suspend it.

    So if you have it running 1 once per day, like the daily process logs runs now and you have the config to 1, it will suspend the account if it passes the numbers 1 time. Or day.

    If you set it to 3, it will mean the account has passed the limits for the last 3 days and is then suspended.

    If its running in 1 minute, and you set it to 10, then it means the account is passing it for the last 10 minutes.

    Now this can be set for CPU, RAM or both.

    And you could also set if the suspension is lifted or not. So it means the can be lifted lets say after XX time or you can leave it suspended.

    So an account could be suspended for 1 day and then be reactivated, if it passes one limit again the next day its suspended again, or the provider could decide not to lift suspension and make the client upgrade or investigate the issue.

    Now, this doesn't isolate process but its a start and would do exactly what I have asked in this thread.

    Allow providers to sell packages with resources limiting.

    Now this could be also be integrated in the API, so you can actually do the suspension or reactivation for the account not from cPanel but from your billing software. This means a client can upgrade to a package with more CPU and the billing system would set this via the API in WHM and send a reactivation command.

    Of course for starting its way easier to set this limits in WHM and do it manually.

    Now, the other feature would be that customers could look up this stats from their cPanel accounts, this means their daily CPU, RAM and process usage.

    Now this would be even more easy to integrate and should be the first thing cPanel should do, even if you cannot limit them yet or sell plans based on this it would at least prepare clients for this and they could also check their usage in a more transparent way.

    If cPanel doesn't do it, other control panels will do it eventually. Is not a matter of how, but when.

    The way current hosting companies work in a business model is usually this way:

    Providers small with not enough servers:

    Sell more expensive plans where usually clients use more CPU, etc, then other providers and have less account per server.
    Or, they suspended and kick all customers with more decent CPU usage and only target websites with almost no performance hit or very small customers.

    Providers big or with enough servers:
    Usually balance servers, and send more heavy users to new servers they provision or add, so they rotate clients, and try to balance servers.

    All this could be avoided with what I say, as WHM would do the balancing when suspending account and allowing you to up sell them for more XX$$ for their consumption.

    Now, in the future, im talking about crazy ideas. WHM could do this balancing even automatically or per admin confirm. This means if you have WHM clusters, it could send accounts with more CPU usage to another servers which is less loaded. This could work similar to have the DNS cluster works where you can edit DNS records from all servers in the cluster from any WHM interface.

    So what do you think?
     
    #11 nibb, Feb 22, 2012
    Last edited: Feb 22, 2012
  12. nibb

    nibb Well-Known Member

    Joined:
    Mar 22, 2008
    Messages:
    301
    Likes Received:
    1
    Trophy Points:
    18
    Some of the things I said in this post are already becoming true. Platforms and softwares are moving into the cloud approach so its a matter of time before this software like email software, database software, web server software, etc, allow resource limitation in multi user enviroment.

    Just one example.

    Apache 2.4 was just released and some of the new features:
    More granular timeout and rate/resource limiting capability
    Reduced memory usage
    Improved performance (lower resource utilization and better concurrency)
    More finely-tuned caching support, tailored for high traffic servers and proxies.

    And how do they advertise this new release?

    They advertise is as ready for the cloud and this are some comments "This release delivers a host of evolutionary enhancements throughout the server that our users, administrators, and developers will welcome. We've added many new modules in this release, as well as broadened the capability and flexibility of existing features"

    Notice "users"

    And the fine tuning granularity means we are not far from being able to set Apache per customer or even domain settings in terms of process, ram usage, etc. There are more and more fine tuning limits you can benefit per account.

    Now if you can manage this from WHM it would be another story.
     
  13. Kurieuo

    Kurieuo Well-Known Member

    Joined:
    Dec 13, 2002
    Messages:
    98
    Likes Received:
    0
    Trophy Points:
    6
    Location:
    Australia
    I heard about CloudLinux quite a while ago, and really didn't investigate it at the time.

    However, now I have, and finding out cPanel and CloudLinux have joined up (great move I think! and yes I'm a behind but been focusing on more things than my server/hosting)... I see it is all about managing memory and CPU. Something I really desired in the past.

    But, for me, "Cloud" also went hand-in-hand with clustered servers which also provides high availability. One server can only provide so much memory and CPU resources, and yes, it is great to manage these things on one server -- but if you need more then that's where a real headache begins.

    As a host, I really hate the idea of having to get a more powerful server and move accounts across, and pray cPanel moves them correctly and it doesn't fall back on me to do some manual moving because something failed. Not to mention certain configurations I've made and not tracked, which will have to be re-setup on the new server as issues occur because the configurations are no longer there. Yes, you can get another server, but now you're managing two environments. And yes, you can get server admins, but then you're at their mercy to do things right also. The situation just becomes quickly complicated.

    So, I really want to move to a clustered "cloud" server environment that has sharing of mem/cpu resources across servers. Not someone elses, but my own.

    It's be great if like clustering DNS, cPanel allowed easy clustering of memory/CPU resources (now there is CloudLinux). Just install cPanel on two boxes and quickly share the resources, and if you are running out of memory/cpu then you can add another server. Likewise, if you don't like one box because it is getting old, then you can easily remove it from your cluster knowing you won't have to transfer accounts off it because they exist on the greater "cloud/cluster".

    Maybe it is already possible but requires much configuration to get right. I'd much prefer an easy solution within cPanel itself. Is this something on the agenda, and if so how far off would a solution like this be?

    PS. If there is a solution available with cPanel/CloudLinux I'm oblivious to, please point me to it.
     
    #13 Kurieuo, Aug 15, 2012
    Last edited: Aug 15, 2012
  14. wzd

    wzd Well-Known Member

    Joined:
    Dec 16, 2005
    Messages:
    118
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    South Africa
    cPanel Access Level:
    Root Administrator
    I'd like to throw my hat into the ring here to say that although most of the features of the proposed future shared hosting systems sound very appealing there are some problems (aside from the technical challenges) I can forsee.

    As much as one would think that customers would like to pay per usage this poses significant hurdles. Besides the capturing of the data it would also need to be exported into a web based view for the customer to see "live" - A customer who is paying say 10c for 10% CPU usage and his CPU usage stays at 50% for some time would want to know this sort of information.

    No cPanel or layered management panel is perfect. There is a possibility that a process or a child process does not terminate properly and ends up using excessive amounts of RAM / CPU. You now have a battle with your customer as to who is to blame and even if you decide to credit them you will have a tough time with the administration.

    From a psychological viewpoint: I believe that customers would rather know how much they are paying every month (Ceiling limit) than have an unexpected bill at the end of the month. Even if you provide the web GUI that i spoke of at the beginning of my post most customers will not monitor it at all. They will get a bill at the end of the month which they will query and fight about. Ultimately in trying to provide a better service you will have a more insecure and angry customer.

    Naturally there are some possible implementations which takes into account the above and still has some form of "pay per use". Maybe even something along the lines of a Razor Blade model. The razor is free but the blades cost you a pretty penny. Ideally I would say that the ideal solution lies somewhere in the middle
     
  15. nibb

    nibb Well-Known Member

    Joined:
    Mar 22, 2008
    Messages:
    301
    Likes Received:
    1
    Trophy Points:
    18

    But that is your personal point of view on the subject and this depends on every single business model which can be quite different. And your concern is very easy to solve.

    Some providers want to charge consumers at the end of the month based on usage. Others not. And I don´t see a problem with this. You can offer limited packages like the hosting world works today or charge per use, like the cloud world works today. Some cloud providers actually have a model for this, in case you as the customer are afraid of receiving a huge bill, then you can just make a credit model like some cloud providers. Where your customers buys a fixed amount of credits which are used for this cloud services. So there are not surprises at the end of the month. This depends completely on your business model and actually applies more to a discussion on billing and how to bill for services rather on the cloud linux technology. My concerns about this topic is that Cloud Linux as it works today was rather build for solving stability issues and isolation on shared accounts rather than being more faithful to its name "cloud". With the technology in Cloud Linux is already a step into what hosts want and they will jump to Cloud Linux in masses if they develop features for hosts in order to be able to offer plans per resources. For those that do not like this, they can still use Cloud Linux like it works today with standard shared plans and fixed CPU and resources. My idea was rather to use Cloud Linux to sell shared plans which are more like Cloud plans, where customers can increase their CPU and resources based on what they need.
     
  16. nibb

    nibb Well-Known Member

    Joined:
    Mar 22, 2008
    Messages:
    301
    Likes Received:
    1
    Trophy Points:
    18
    Today I read on the Cloud Linux forum there is a LVE Manager out which seems to let you assign different CPU and resources per package.

    This is excellent news because I think Cloud Linux is going exactly the approach I mentioned in this and other topics.

    First let us set different limits per packages. On the future lets increase this per customer.

    This is what I think will make Cloud Linux really attractive for me and others in the future:

    1. Limit resources per hosting package/plan
    2. Limit per customer or account (in case someone needs some specifics which are not in a fixed plan)
    3. Let customers auto upgrade limits on the fly or downgrade (could also be automated via API from the company side)
    4. Be able to send reports or stats on resources consumed by a customer on XX time or pull them via API
    5. Hard limits. If resources are used, instead of slowing down the customer, let you show a message. This could work with a specific % burst set by the host.

    Cloud Linux is not able to limit everything on cPanel, but I may be very interested on setting specific cPanel servers with Cloud Linux where I disable services manually which do not work with cloud linux. This means, I could only offer "Apache and MYSQL". No email, etc.

    Since I know this work with Cloud Linux, this could be the start to offer site cloud plans. Where a customers pay on his % of CPU, RAM he needs.

    If Cloud Linux could at the end of the month also send a report or stats to a billing software, you could even charge the customer on what he used, in case you don´t set hard limits, or have very high limits.

    The only point where I think could be a problem in the future, is probably disk access. If Cloud Linux can also (not limit) but just report, then it could really be a true cloud solution just for websites. I understand isolation is very complex, but reporting is not. So if there are features which just report and do not isolate yet, I would prefer them to have them vs not have them at all.

    The need to offer cloud type of plans just for single websites in my case is extremely important. Today, I need to sell a VPS or servers to the same type of customer. This is very complicated and annoying to the customer, because he has absolutely no idea how to manage a server, he wants to manage his site, not backups, not services, not anything else. Shared plans are to small as well. So if I could set up some Cloud Linux servers where I can charge or assign different needs per different clients this could work very nice and providers which do not use Cloud Linux today.

    Like I said before. The isolation issue is nice. But its not the biggest attractive in my case. Making money is. The reporting is. This customers would hardly take a servers down, and if you set up Apache, MYSQL, etc in a cluster, even a cloud type cluster, they could scale almost in way where it would be extremely rare to take down a full cluster of servers, in this case, this type of customers do not even belong on this type of services. My problem and most of us in shared hosting are the ones that are in the middle, they need more than shared, but probably not full servers either.

    Cloud Linux could work here very nice, if I could see exactly what the customers has used, in order to charge him for that. This has nothing to do with standard shared plans which would still work for most people and you can still use them fine with Cloud Linux. But in order for Cloud Linux to be more faithful to its name, you should be able to offer more services based on pay per use, where each customers ends probably using complete different resources than others. Each one pays only for what they really need, no more, no less.

    I agree that fixed plans makes you as the provider more money. But this also means you cannot be flexible enough. If your plans are very budget, you cannot give each one to much resources. And if you only put a few sites per server to give huge amount of resources, your plans will be so costly that you will not be able to compete. This is why I think Cloud Linux could solve this. You could still have your standard shared plans, and VPS or servers but have an extra service for this customers in the middle. This could be similar to cloud offerings, where they pay what they need, but instead of paying for the server or VPS like cloud services work today, they pay for the service. They upload their data, and just use lets say Apache and MYSQL, and pay for the usage of this services.
     
    #16 nibb, Sep 9, 2012
    Last edited: Sep 9, 2012
  17. electric

    electric Well-Known Member

    Joined:
    Nov 5, 2001
    Messages:
    697
    Likes Received:
    1
    Trophy Points:
    18
    This is now possible with the latest version of CloudLinux and the cpanel LVE Manager plugin. You can specify what CPU and/or Memory limits you want for each cpanel package.

    We're already testing this out in the real world to see how customers react. What we decided is to create a few plans based on cpu and memory allocation, and then have very high disk and bandwidth limits. The idea is that this is more along the lines of "paying for what you use" then the traditional method of limiting based only on disk space and bandwidth.

    (Essentially, disk space and bandwidth are cheap commodities, and with so many "unlimited" hosts out there... most customers are reticent to pay an increased price based only on those two factors. So differentiating the plans based on cpu and memory limits seems to make more sense.)

    It's only been a week since we rolled out the new plans, but so far most customers seem to agree it is a better way to charge...

    The few customers who don't like it are the ones who are using a large amount of cpu or memory.. which they were getting for "free" previously. Those customers will probably have the option of staying (grandfathered) in their current plan.

    I hope that helps?
     
  18. eminos

    eminos Member

    Joined:
    Oct 26, 2011
    Messages:
    13
    Likes Received:
    0
    Trophy Points:
    1
    cPanel Access Level:
    Root Administrator
    +1 everything you said.
    An easy to setup multi server environment that shares resources, and therefore works as a load balancer, would be INCREDIBLE! To be able to add/remove servers (=resources) "on the fly" ..... that's just .. wow.

    Any thoughts from Cloud Linux or cPanel on this?
     
  19. narkoz_39

    narkoz_39 Registered

    Joined:
    Oct 17, 2012
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    1
    cPanel Access Level:
    Website Owner
    thanks all thinks..
     
Loading...

Share This Page