MESSAGE
DATE | 2024-08-08 |
FROM | Mithun Bhattacharya
|
SUBJECT | Re: [Hangout - NYLXS] reasons for modperl declines?
|
From hangout-bounces-at-nylxs.com Thu Aug 8 15:30:12 2024 Return-Path: X-Original-To: archive-at-mrbrklyn.com Delivered-To: archive-at-mrbrklyn.com Received: from www2.mrbrklyn.com (www2.mrbrklyn.com [96.57.23.82]) by mrbrklyn.com (Postfix) with ESMTP id 6C95116409E; Thu, 8 Aug 2024 15:30:07 -0400 (EDT) X-Original-To: hangout-at-nylxs.com Delivered-To: hangout-at-nylxs.com Received: by mrbrklyn.com (Postfix, from userid 1000) id DBFA1164093; Thu, 8 Aug 2024 15:29:51 -0400 (EDT) Resent-From: Ruben Safir Resent-Date: Thu, 8 Aug 2024 15:29:51 -0400 Resent-Message-ID: <20240808192951.GA17034-at-www2.mrbrklyn.com> Resent-To: hangout-at-nylxs.com X-Original-To: ruben-at-mrbrklyn.com Delivered-To: ruben-at-mrbrklyn.com Received: from mxout1-ec2-va.apache.org (mxout1-ec2-va.apache.org [3.227.148.255]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.apache.org", Issuer "Sectigo RSA Domain Validation Secure Server CA" (not verified)) by mrbrklyn.com (Postfix) with ESMTPS id E9208164091 for ; Thu, 8 Aug 2024 10:51:35 -0400 (EDT) Received: from mail.apache.org (mailgw-he-de.apache.org [116.203.246.181]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by mxout1-ec2-va.apache.org (ASF Mail Server at mxout1-ec2-va.apache.org) with ESMTPS id 9331B540F6 for ; Thu, 8 Aug 2024 14:51:34 +0000 (UTC) Received: (qmail 3737104 invoked by uid 998); 8 Aug 2024 14:51:27 -0000 Mailing-List: contact modperl-help-at-perl.apache.org; run by ezmlm Precedence: bulk Delivered-To: mailing list modperl-at-perl.apache.org Received: (qmail 3737068 invoked by uid 116); 8 Aug 2024 14:51:26 -0000 Received: from spamproc1-he-de.apache.org (HELO spamproc1-he-de.apache.org) (116.203.196.100) by apache.org (qpsmtpd/0.94) with ESMTP; Thu, 08 Aug 2024 14:51:26 +0000 Authentication-Results: apache.org; auth=none Received: from localhost (localhost [127.0.0.1]) by spamproc1-he-de.apache.org (ASF Mail Server at spamproc1-he-de.apache.org) with ESMTP id DA5EA1FFFA3 for ; Thu, 8 Aug 2024 14:51:26 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamproc1-he-de.apache.org X-Spam-Flag: NO X-Spam-Score: -0.001 X-Spam-Level: X-Spam-Status: No, score=-0.001 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.2, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamproc1-he-de.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-he-de.apache.org ([116.203.227.195]) by localhost (spamproc1-he-de.apache.org [116.203.196.100]) (amavisd-new, port 10024) with ESMTP id ga1aZuEzJDgp for ; Thu, 8 Aug 2024 14:51:26 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::935; helo=mail-ua1-x935.google.com; envelope-from=mithnb-at-gmail.com; receiver= Received: from mail-ua1-x935.google.com (mail-ua1-x935.google.com [IPv6:2607:f8b0:4864:20::935]) by mx1-he-de.apache.org (ASF Mail Server at mx1-he-de.apache.org) with ESMTPS id 2DDCB81EAD for ; Thu, 8 Aug 2024 14:51:26 +0000 (UTC) Received: by mail-ua1-x935.google.com with SMTP id a1e0cc1a2514c-820f7c6eaa5so394140241.3 for ; Thu, 08 Aug 2024 07:51:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723128679; x=1723733479; darn=perl.apache.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=M36UHQcrfM5rn7G/uY64knihiyYQXuLxuMeOy1lDo1k=; b=OaoQSX9TuyL664RPExK/y8FWFs+lz5LAuhVw2DSIuw0qdYmKuBS8dqWMJ79DgF09UD dbIMhCd84fxBqnP6ZpUtv7fVDQifyxq8hJTnrjT+xWhxAiBG7AyyUXgj60Zhs5KOtwZF MwMpjUDE80rnZO7ZCZIAIVcBh4rEYji7kKyNn4e/sxwLDKIIcxzNSEE07HF+RxOY2xzi TGm/og++hxo3acNM/c6fCrChle50yjpAIymbLNIoBNjthR6MMy1G1DG473ahlwxPlo6c SI1n4tj1X+C5hLsQifCRQC6M84LU3JjSZzVCPcq/ebZxWeUwyoNrX/NzMoLGZXUa4yCN K5Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723128679; x=1723733479; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=M36UHQcrfM5rn7G/uY64knihiyYQXuLxuMeOy1lDo1k=; b=SKjl6ASB+62CssJhirh/ZxTDKYZ6A3tI9q1ukNWAQ4dTlutzSe6Kqx/CCBHOHw34Gp k2V8/V5+XwaXOrYFj5Dkfco0+DeSvl4hPfcghMa13kFNu+mZihiu8Zkx8ur9q8izCP87 DXSUIBJHBxK8yBxiehMCXzfERZzlfUG/QPSp5NHMLnimgeWL5M9ZudKsrDQ2rz/phoW0 +ZN4djHGtGImeR8d9J/cujbCDjQRKY3s07JfZJBwRC+4SWwSjaDGkOWzkhdKAuBgAzS3 Yt5fD+/vPN3OP6yrq95FGrNc9819UKGOBMCK2mlAsjAJUhBb+VgzHXttpijcMIrN6Lbt 70Kg== X-Gm-Message-State: AOJu0YzGsh8PRy+ORsJGlVCui3eIEbmfyYKBt5ldvLyM1iFr9NVdAI3y 2NeL61EcTL1bC8xWyONIxas8a4NfNpDeHyUn/SAd030qCX27z7zIajDNHKrp8hc3qu0ikQCDuqw CO7NIwyrLN4Xn+7r+p437Tyik8Avh+7tP X-Google-Smtp-Source: AGHT+IHkf/bo0Bn3/eGDoysfZaKFbiniEf9MCfxm5hUQv8iIk6WZCEmNJ6Yb5y9s7kTHFGZO4oD1Zvhd87kWNbRY6bQ= X-Received: by 2002:a05:6122:411e:b0:4ef:53ad:97bd with SMTP id 71dfb90a1353d-4f9022196bbmr2688323e0c.3.1723128678911; Thu, 08 Aug 2024 07:51:18 -0700 (PDT) MIME-Version: 1.0 References: <25efcd593f8bfffc57637fd2673ec462-at-simplemail.co.in> In-Reply-To: <25efcd593f8bfffc57637fd2673ec462-at-simplemail.co.in> From: Mithun Bhattacharya Date: Thu, 8 Aug 2024 09:51:07 -0500 Message-ID: To: modperl-at-perl.apache.org Subject: Re: [Hangout - NYLXS] reasons for modperl declines? X-BeenThere: hangout-at-nylxs.com X-Mailman-Version: 2.1.30rc1 List-Id: NYLXS Tech Talk and Politics List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0839505807==" Errors-To: hangout-bounces-at-nylxs.com Sender: "Hangout"
--===============0839505807== Content-Type: multipart/alternative; boundary="000000000000cf1586061f2d2835"
--000000000000cf1586061f2d2835 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
So I am a mod_perl user for about 25 years now - pretty much I started with perl and mod_perl together :)
Looking at the conversation I can see it is diverging into two parts - one what to do with mod_perl and in general concerns with Perl.
Yes we have alternatives to mod_perl and you should definitely consider Mojolicious if that suits your requirement but for that you need to understand what mod_perl is offering.
mod_perl is allowing you to leverage apache as a foundation to handle HTTP requests while your code does whatever business needs you have to fulfill.
To give an example - this is 1999 the internet has realized you could hack open SQL Servers on the internet using scripts. Now I am managing a website for a startup running a production server with 128MB RAM I think. Now imagine all the script kiddies hammering away at your webserver looking for SQL Server when you have only apache and mysql :( For the first three days our server was pretty much dead - it would maybe honor a request every few minutes. To solve it I add a PerlTransHandler and drop all requests for the nasty endpoints - guess what we are back online with no impact to the server any more.
Another example - we learnt you could write Apache configuration in perl - it blew our mind. Rest assured most people dont know about this capability so God forbid you are stuck trying to solve something in this you will not find anything on Google. What we did was templatized the complete Apache config. We have clean segregation of which Location and LocationMatch urls need which library. We use a for loop to apply auth on everything and our configs are very easy to understand for perl programmers and it is very compact.
Company decided everyone needed SSL - most teams needed to plan it out. We just included mod_ssl get the certificates and updated our config and we were done in three days. Need to add custom header on every request - done in two lines.
We need to use the application in a variety of server configs - no problem we compute the number of child processes to spawn at run time.
Have a low latency service which needs to respond fast - changed the logging to report the processing time as Aapche knows.
What we learnt you do mod_perl if you have a plan to leverage apache. If you have a big fat application where receiving the request is a minor part of the solution then we split it up and handle the request in mod_perl and then hand over the hard work to a farm of servers. This way your mod_perl instance scales based on the volume of requests and the workers scale based on the amount of work to be done.
Now why is it not popular - primarily because it was so difficult to setup initially. Most people did not have access to control apache config and they did not know what could be done. The community did not help encourage it either. I do not have root access on our servers -who cares. I have my own relocatable apache, own relocatable perl running on a non standard port and I dont bother any super user for help.
As for Perl that is a separate conversation and I wont want to diverge from the subject of this email :)
On Wed, Aug 7, 2024 at 6:07=E2=80=AFPM Jeff Pang wr= ote:
> For me I run several apps on mod_perl, including a AI prediction app > which costs heavy CPU/ram. These apps run for long time and behave just > fine. > > Today it sounds very few people use mod_perl for development/deployment. > I think the main reasons may include, > > 1. perl for web development is somewhat out of date > 2. mp lacks threads support > 3. lacks a modern framework (rails like) > > And others? what's your thought? > > Thanks > > -- > regards, > Jeff Pang >
--000000000000cf1586061f2d2835 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
So I am a mod_perl user for about 25 years now - pretty mu= ch I started with perl and mod_perl together :)
Looking = at the conversation I can see it is diverging into two parts - one what to = do with mod_perl and in general concerns with Perl.
v>Yes we have alternatives to mod_perl and you should definitely consider M= ojolicious if that suits your requirement but for that you need to understa= nd what mod_perl is offering.
mod_perl is allowing= you to leverage apache as a foundation to handle HTTP requests while your = code does whatever business needs you have to fulfill.
=
To give an example - this is 1999 the internet has realized you could = hack open SQL Servers on the internet using scripts. Now I am managing a we= bsite for a startup running a production server with 128MB RAM I think. Now= imagine all the script kiddies hammering away at your webserver looking fo= r SQL Server when you have only apache and mysql :( For the first three day= s our server was pretty much dead - it would maybe honor a request every fe= w minutes. To solve it I add a=C2=A0PerlTransHandler and drop all requests = for the nasty endpoints - guess what we are back online with no impact to t= he server any more.
Another example - we learnt yo= u could write Apache configuration in perl - it blew our mind. Rest assured= most people dont=C2=A0know about this capability so God forbid you are stu= ck trying to solve something in this you will not find anything on Google. = What we did was templatized the complete Apache config. We have clean segre= gation of which Location and LocationMatch urls need which library. We use = a for loop to apply auth on everything and our configs are very easy to und= erstand for perl programmers and it is very compact.
iv>Company decided everyone needed SSL - most teams needed to plan it out. = We just included mod_ssl get the certificates and updated our config and we= were done in three days. Need to add custom header on every request - done= in two lines.
We need to use the application in a= variety of server configs - no problem we compute the number of child proc= esses to spawn at run time.
Have a low latency ser= vice which needs to respond fast - changed the logging to report the proces= sing time as Aapche=C2=A0knows.
What we learnt you= do mod_perl if you have a plan to leverage apache. If you have a big fat a= pplication where receiving the request is a minor part of the solution then= we split it up and handle the request in mod_perl and then hand over the h= ard work to a farm of servers. This way your mod_perl instance scales based= on the volume of requests and the workers scale based on the amount of wor= k to be done.
Now why is it not popular - primaril= y because it was so difficult to setup=C2=A0initially. Most people did not = have access to control apache config and they did not know what could be do= ne. The community did not help encourage it either. I do not have root acce= ss on our servers -who cares. I have my own relocatable apache, own relocat= able perl running on a non standard port and I dont=C2=A0bother any super u= ser for help.
As for Perl that is a separate conve= rsation and I wont=C2=A0want to diverge from the subject of this email :)= div>
quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1= px solid rgb(204,204,204);padding-left:1ex">For me I run several apps on mo= d_perl, including a AI prediction app
which costs heavy CPU/ram. These apps run for long time and behave just > fine.
Today it sounds very few people use mod_perl for development/deployment. r> I think the main reasons may include,
1. perl for web development is somewhat out of date
2. mp lacks threads support
3. lacks a modern framework (rails like)
And others? what's your thought?
Thanks
--
regards,
Jeff Pang
--000000000000cf1586061f2d2835--
--===============0839505807== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline
_______________________________________________ Hangout mailing list Hangout-at-nylxs.com http://lists.mrbrklyn.com/mailman/listinfo/hangout
--===============0839505807==--
--===============0839505807== Content-Type: multipart/alternative; boundary="000000000000cf1586061f2d2835"
--000000000000cf1586061f2d2835 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
So I am a mod_perl user for about 25 years now - pretty much I started with perl and mod_perl together :)
Looking at the conversation I can see it is diverging into two parts - one what to do with mod_perl and in general concerns with Perl.
Yes we have alternatives to mod_perl and you should definitely consider Mojolicious if that suits your requirement but for that you need to understand what mod_perl is offering.
mod_perl is allowing you to leverage apache as a foundation to handle HTTP requests while your code does whatever business needs you have to fulfill.
To give an example - this is 1999 the internet has realized you could hack open SQL Servers on the internet using scripts. Now I am managing a website for a startup running a production server with 128MB RAM I think. Now imagine all the script kiddies hammering away at your webserver looking for SQL Server when you have only apache and mysql :( For the first three days our server was pretty much dead - it would maybe honor a request every few minutes. To solve it I add a PerlTransHandler and drop all requests for the nasty endpoints - guess what we are back online with no impact to the server any more.
Another example - we learnt you could write Apache configuration in perl - it blew our mind. Rest assured most people dont know about this capability so God forbid you are stuck trying to solve something in this you will not find anything on Google. What we did was templatized the complete Apache config. We have clean segregation of which Location and LocationMatch urls need which library. We use a for loop to apply auth on everything and our configs are very easy to understand for perl programmers and it is very compact.
Company decided everyone needed SSL - most teams needed to plan it out. We just included mod_ssl get the certificates and updated our config and we were done in three days. Need to add custom header on every request - done in two lines.
We need to use the application in a variety of server configs - no problem we compute the number of child processes to spawn at run time.
Have a low latency service which needs to respond fast - changed the logging to report the processing time as Aapche knows.
What we learnt you do mod_perl if you have a plan to leverage apache. If you have a big fat application where receiving the request is a minor part of the solution then we split it up and handle the request in mod_perl and then hand over the hard work to a farm of servers. This way your mod_perl instance scales based on the volume of requests and the workers scale based on the amount of work to be done.
Now why is it not popular - primarily because it was so difficult to setup initially. Most people did not have access to control apache config and they did not know what could be done. The community did not help encourage it either. I do not have root access on our servers -who cares. I have my own relocatable apache, own relocatable perl running on a non standard port and I dont bother any super user for help.
As for Perl that is a separate conversation and I wont want to diverge from the subject of this email :)
On Wed, Aug 7, 2024 at 6:07=E2=80=AFPM Jeff Pang wr= ote:
> For me I run several apps on mod_perl, including a AI prediction app > which costs heavy CPU/ram. These apps run for long time and behave just > fine. > > Today it sounds very few people use mod_perl for development/deployment. > I think the main reasons may include, > > 1. perl for web development is somewhat out of date > 2. mp lacks threads support > 3. lacks a modern framework (rails like) > > And others? what's your thought? > > Thanks > > -- > regards, > Jeff Pang >
--000000000000cf1586061f2d2835 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
So I am a mod_perl user for about 25 years now - pretty mu= ch I started with perl and mod_perl together :)
Looking = at the conversation I can see it is diverging into two parts - one what to = do with mod_perl and in general concerns with Perl.
v>Yes we have alternatives to mod_perl and you should definitely consider M= ojolicious if that suits your requirement but for that you need to understa= nd what mod_perl is offering.
mod_perl is allowing= you to leverage apache as a foundation to handle HTTP requests while your = code does whatever business needs you have to fulfill.
=
To give an example - this is 1999 the internet has realized you could = hack open SQL Servers on the internet using scripts. Now I am managing a we= bsite for a startup running a production server with 128MB RAM I think. Now= imagine all the script kiddies hammering away at your webserver looking fo= r SQL Server when you have only apache and mysql :( For the first three day= s our server was pretty much dead - it would maybe honor a request every fe= w minutes. To solve it I add a=C2=A0PerlTransHandler and drop all requests = for the nasty endpoints - guess what we are back online with no impact to t= he server any more.
Another example - we learnt yo= u could write Apache configuration in perl - it blew our mind. Rest assured= most people dont=C2=A0know about this capability so God forbid you are stu= ck trying to solve something in this you will not find anything on Google. = What we did was templatized the complete Apache config. We have clean segre= gation of which Location and LocationMatch urls need which library. We use = a for loop to apply auth on everything and our configs are very easy to und= erstand for perl programmers and it is very compact.
iv>Company decided everyone needed SSL - most teams needed to plan it out. = We just included mod_ssl get the certificates and updated our config and we= were done in three days. Need to add custom header on every request - done= in two lines.
We need to use the application in a= variety of server configs - no problem we compute the number of child proc= esses to spawn at run time.
Have a low latency ser= vice which needs to respond fast - changed the logging to report the proces= sing time as Aapche=C2=A0knows.
What we learnt you= do mod_perl if you have a plan to leverage apache. If you have a big fat a= pplication where receiving the request is a minor part of the solution then= we split it up and handle the request in mod_perl and then hand over the h= ard work to a farm of servers. This way your mod_perl instance scales based= on the volume of requests and the workers scale based on the amount of wor= k to be done.
Now why is it not popular - primaril= y because it was so difficult to setup=C2=A0initially. Most people did not = have access to control apache config and they did not know what could be do= ne. The community did not help encourage it either. I do not have root acce= ss on our servers -who cares. I have my own relocatable apache, own relocat= able perl running on a non standard port and I dont=C2=A0bother any super u= ser for help.
As for Perl that is a separate conve= rsation and I wont=C2=A0want to diverge from the subject of this email :)= div>
quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1= px solid rgb(204,204,204);padding-left:1ex">For me I run several apps on mo= d_perl, including a AI prediction app
which costs heavy CPU/ram. These apps run for long time and behave just > fine.
Today it sounds very few people use mod_perl for development/deployment. r> I think the main reasons may include,
1. perl for web development is somewhat out of date
2. mp lacks threads support
3. lacks a modern framework (rails like)
And others? what's your thought?
Thanks
--
regards,
Jeff Pang
--000000000000cf1586061f2d2835--
--===============0839505807== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline
_______________________________________________ Hangout mailing list Hangout-at-nylxs.com http://lists.mrbrklyn.com/mailman/listinfo/hangout
--===============0839505807==--
|
|