From gatorreina at gmail.com Sun Sep 4 15:13:38 2022 From: gatorreina at gmail.com (Richard Reina) Date: Sun, 4 Sep 2022 17:13:38 -0500 Subject: [Chicago-talk] When to Dockerize a perl program Message-ID: Hello perl faithful of the WIndy City, I have a perl program that effectively works as an API that I have developed over the years for use for myself and an employee or two that mainly allows us to update company databases and create some file so that they can be emailed. The program depends on about a dozen CPAN perl modules and a few dozen linux packages that are listed below. The installation process is not something that I dread, in fact I've developed another program I call machine_builder.pl that automates most of the installation and configuration so that I can get everything installed and configured on a new machine in about a couple hours. I've played around a bit with Docker in order to run Frigate IVR for my home security cameras and have heard that it may be "the wave of the future". What I am wondering is should I be looking to make my perl API program a Dockerized app for my office or stay the course with my tried and true system of setting up a machine to run my app? Perl Modules: Test::More Barcode::Code128 Fatal GD Curses Lingua::EN::Numbers Module::Build Cmenu Date::Manip DateTime::Event::Holiday::US Linux Packages: ntp gpm emacs cpanminus alsa alsa-lib alsa-lib-devel obexpushd smartmontools net-tools gcc build-essential setuptool mysql-client nis libmysql++-dev libdbd-mysql-perl cups php5-gd sharutils imagemagick zlibc tetex-base libncurses5 bsdmainutils acpi libcurses-perl enscript libgd-gd2-perl libncurses5-dev perl-tk cl-gd hylafax-client ncftp sox ypbind rpcbind portmap nis perl-DateManip libgd-dev libterm-readkey-perl -------------- next part -------------- An HTML attachment was scrubbed... URL: From amead at alanmead.org Sun Sep 4 16:18:58 2022 From: amead at alanmead.org (Alan Mead) Date: Sun, 4 Sep 2022 18:18:58 -0500 Subject: [Chicago-talk] When to Dockerize a perl program In-Reply-To: References: Message-ID: I was curious to see what responses you got. The little I understand about docker, it makes it easier for a sysadmin to deploy your application because you have set up the environment that you need. From that, I assume that Docker is great for sysadmins but maybe not all that compelling for the private use of programmers unless it solves a problem for you. For example, you want to deploy to diverse environments that all support docker but support Perl in different ways. I'm sure there are Perl use cases like this. You do have a fair number of dependencies. I am surprised that your script takes two hours to run. Does that include some long compilations? I worry (perhaps out of ignorance) about the security implications. If you depend on a Perl module or a Linux package that has a vulnerability, how can Docker (which is designed on stability of am image) possibly defend you against security problems? I think the answer is that (1) docker (properly configured) may limit the damage to the host and (2) the devs who created the docker image are supposed to be continuously creating new images to fix security vulnerabilities. If #2 is true, then that really makes me not want to ever make my software available using docker. I think I'm much better off assuming that the libraries I call are being updated on each server where my code is running. -Alan On 9/4/2022 5:13 PM, Richard Reina wrote: > Hello perl faithful of the WIndy City, > > ?I have a perl program that effectively works as an API that I have > developed over?the years for use for myself and an employee or two > that mainly allows us to update company databases and create some file > so that they can be emailed. The program depends on about a dozen CPAN > perl modules and a few dozen linux packages that are listed below. The > installation process is not something that I dread, in fact I've > developed another program I call machine_builder.pl > that automates most of the installation > and configuration so that I can get everything installed and > configured on a new machine in about a couple hours. I've played > around a bit with Docker in order to run Frigate IVR for my home > security cameras and have heard that it may be "the wave of the > future". What I am wondering is should I be looking?to make my perl > API program a Dockerized app for my office or stay the course with my > tried and true system of setting up a machine to run my app? > > Perl Modules:?Test::More Barcode::Code128 Fatal GD Curses > Lingua::EN::Numbers Module::Build Cmenu Date::Manip > DateTime::Event::Holiday::US > > Linux Packages:?ntp gpm emacs cpanminus alsa alsa-lib alsa-lib-devel > obexpushd smartmontools net-tools gcc build-essential setuptool > mysql-client nis libmysql++-dev libdbd-mysql-perl cups php5-gd > sharutils imagemagick zlibc tetex-base libncurses5 bsdmainutils acpi > libcurses-perl enscript libgd-gd2-perl libncurses5-dev perl-tk cl-gd > hylafax-client ncftp sox ypbind rpcbind portmap nis perl-DateManip > libgd-dev libterm-readkey-perl > > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > https://mail.pm.org/mailman/listinfo/chicago-talk -- Alan D. Mead, Ph.D. President, Talent Algorithms Inc. science + technology = better workers https://talalg.com The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge. -- Daniel J. Boorstin -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard at rushlogistics.com Mon Sep 5 06:58:09 2022 From: richard at rushlogistics.com (Richard Reina) Date: Mon, 5 Sep 2022 08:58:09 -0500 Subject: [Chicago-talk] When to Dockerize a perl program In-Reply-To: References: Message-ID: <7C12E337-17D0-4510-8F9C-76E1AC2F48FD@rushlogistics.com> > > On Sep 4, 2022, at 6:19 PM, Alan Mead wrote: > > ? > I was curious to see what responses you got. The little I understand about docker, it makes it easier for a sysadmin to deploy your application because you have set up the environment that you need. From that, I assume that Docker is great for sysadmins but maybe not all that compelling for the private use of programmers unless it solves a problem for you. > Yes and I am also the system admin. Accordingly, if turning my app into an image is something that could allow me to get it up and running on a machine with no compromises in five minutes as opposed to a couple of hours I would seriously consider it, especially if making a Docker image does not require a great deal of work. Right now I only have to occasionally, once a year or so, install in on a machine in my office so it not too much hassle? but five minutes vs. a couple hours is worth considering. > I am surprised that your script takes two hours to run. Does that include some long compilations? > The program does not require two hours it only takes about 20 minutes and most of that time it?s downloading and installing packages and perk modules. The rest of the time is me mucking with the machine to get everything working right? my install script only does about 90% of the work. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at blanton.com Mon Sep 5 10:38:28 2022 From: sean at blanton.com (Sean Blanton) Date: Mon, 5 Sep 2022 12:38:28 -0500 Subject: [Chicago-talk] When to Dockerize a perl program In-Reply-To: <7C12E337-17D0-4510-8F9C-76E1AC2F48FD@rushlogistics.com> References: <7C12E337-17D0-4510-8F9C-76E1AC2F48FD@rushlogistics.com> Message-ID: I would say almost every Perl program. It certainly solves the problem of managing your environment. It can run anywhere and you don't care what's installed or upgraded on the server. I'm unfortunately now using the lesser and boring p- language, but the same thing holds. We have one bitbucket/Gitlab repo and it holds all the common code and we launch the same docker image with different start commands to run different programs as different services. This had the benefit of not having to upgrade all your services on a new release. Docker was a learning experience for me for sure, but overtime I found many optimizations to iterate quickly. If you are completely not paying attention (newbie), you could end up with a huge docker image that could be unwieldy. I've dabbled in the admin side as well - also some learning there, as a lot of the docker storage is under /var, which like /tmp, users can abuse and max out (but volumes can be created). The Alpine Linux distribution is popular to keep the image size down. Regards, Sean Sean Blanton sean at blanton.com On Mon, Sep 5, 2022 at 8:58 AM Richard Reina wrote: > > > > On Sep 4, 2022, at 6:19 PM, Alan Mead wrote: > > ? > > I was curious to see what responses you got. The little I understand about > docker, it makes it easier for a sysadmin to deploy your application > because you have set up the environment that you need. From that, I assume > that Docker is great for sysadmins but maybe not all that compelling for > the private use of programmers unless it solves a problem for you. > > Yes and I am also the system admin. Accordingly, if turning my app into an > image is something that could allow me to get it up and running on a > machine with no compromises in five minutes as opposed to a couple of hours > I would seriously consider it, especially if making a Docker image does not > require a great deal of work. Right now I only have to occasionally, once a > year or so, install in on a machine in my office so it not too much hassle? > but five minutes vs. a couple hours is worth considering. > > I am surprised that your script takes two hours to run. Does that include > some long compilations? > > The program does not require two hours it only takes about 20 minutes and > most of that time it?s downloading and installing packages and perk > modules. The rest of the time is me mucking with the machine to get > everything working right? my install script only does about 90% of the work. > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > https://mail.pm.org/mailman/listinfo/chicago-talk > -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard at rushlogistics.com Mon Sep 5 10:50:13 2022 From: richard at rushlogistics.com (Richard Reina) Date: Mon, 5 Sep 2022 12:50:13 -0500 Subject: [Chicago-talk] When to Dockerize a perl program In-Reply-To: References: Message-ID: Sean, Thanks for the insight. Based on what you know how hard would it be to create an image for my program with the amount of dependencies I have? Sent from my iPhone > On Sep 5, 2022, at 12:38 PM, Sean Blanton wrote: > > ? > I would say almost every Perl program. It certainly solves the problem of managing your environment. It can run anywhere and you don't care what's installed or upgraded on the server. > > I'm unfortunately now using the lesser and boring p- language, but the same thing holds. We have one bitbucket/Gitlab repo and it holds all the common code and we launch the same docker image with different start commands to run different programs as different services. This had the benefit of not having to upgrade all your services on a new release. > > Docker was a learning experience for me for sure, but overtime I found many optimizations to iterate quickly. If you are completely not paying attention (newbie), you could end up with a huge docker image that could be unwieldy. I've dabbled in the admin side as well - also some learning there, as a lot of the docker storage is under /var, which like /tmp, users can abuse and max out (but volumes can be created). The Alpine Linux distribution is popular to keep the image size down. > > Regards, > Sean > > Sean Blanton > sean at blanton.com > > >> On Mon, Sep 5, 2022 at 8:58 AM Richard Reina wrote: >> >> >>> >>>> On Sep 4, 2022, at 6:19 PM, Alan Mead wrote: >>>> >>> ? >>> I was curious to see what responses you got. The little I understand about docker, it makes it easier for a sysadmin to deploy your application because you have set up the environment that you need. From that, I assume that Docker is great for sysadmins but maybe not all that compelling for the private use of programmers unless it solves a problem for you. >>> >> Yes and I am also the system admin. Accordingly, if turning my app into an image is something that could allow me to get it up and running on a machine with no compromises in five minutes as opposed to a couple of hours I would seriously consider it, especially if making a Docker image does not require a great deal of work. Right now I only have to occasionally, once a year or so, install in on a machine in my office so it not too much hassle? but five minutes vs. a couple hours is worth considering. >> >>> I am surprised that your script takes two hours to run. Does that include some long compilations? >>> >> The program does not require two hours it only takes about 20 minutes and most of that time it?s downloading and installing packages and perk modules. The rest of the time is me mucking with the machine to get everything working right? my install script only does about 90% of the work. >> _______________________________________________ >> Chicago-talk mailing list >> Chicago-talk at pm.org >> https://mail.pm.org/mailman/listinfo/chicago-talk > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > https://mail.pm.org/mailman/listinfo/chicago-talk -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkeenan at pobox.com Mon Sep 5 13:30:26 2022 From: jkeenan at pobox.com (James E Keenan) Date: Mon, 5 Sep 2022 16:30:26 -0400 Subject: [Chicago-talk] Alpine Linux distribution Message-ID: Sean Blanton, You wrote in an earlier message to this group, "The Alpine Linux distribution is popular to keep the [Docker] image size down." Can you elaborate on this? I ask, not because I know anything about Docker, but because over the past year or so, the Perl 5 Porters have had to contend with bug tickets or smoke-test failure reports coming from Alpine Linux users/machines. It's difficult for us to diagnose/resolve these problems unless we have contributors who (generally for business or personal reasons) are running Alpine Linux. I myself have never run Alpine Linux, know nothing about it besides what I read on Wikipedia, and am rather clumsy at sys-admining various platforms. So, apart from the fact that "... Alpine uses musl and BusyBox instead of the more commonly used Glibc and GNU Core Utilities and OpenRC for its init system instead of systemd" (https://en.wikipedia.org/wiki/Alpine_Linux), can you say something about the Alpine/Docker interaction ... or anything else that Perl users on other Linux distros should know? Thank you very much. Jim Keenan From sean at blanton.com Tue Sep 6 07:16:28 2022 From: sean at blanton.com (Sean Blanton) Date: Tue, 6 Sep 2022 09:16:28 -0500 Subject: [Chicago-talk] When to Dockerize a perl program In-Reply-To: References: Message-ID: Do you manage your dependencies with some type of virtual environment? Installing Linux packages is pretty straightforward in the Dockerfile, using yum/apt, etc. Typically, my Dockerfil is arranged like: use a base Linux distro install linux packages create and set a userid set up virtual env (using Conda) When running, we supply a conda command that activates the virtual env and launches a specific script. If you don't use a virtual env, you could install perl packages in the os, of course, but I always tried to avoid that as I consider that the os's perl, not mine. I think mainly you will have some first time trial and error but you may find helpful examples from the web. Regards, Sean Sean Blanton sean at blanton.com On Mon, Sep 5, 2022 at 12:50 PM Richard Reina wrote: > Sean, Thanks for the insight. Based on what you know how hard would it be > to create an image for my program with the amount of dependencies I have? > > Sent from my iPhone > > On Sep 5, 2022, at 12:38 PM, Sean Blanton wrote: > > ? > I would say almost every Perl program. It certainly solves the problem of > managing your environment. It can run anywhere and you don't care what's > installed or upgraded on the server. > > I'm unfortunately now using the lesser and boring p- language, but the > same thing holds. We have one bitbucket/Gitlab repo and it holds all the > common code and we launch the same docker image with different start > commands to run different programs as different services. This had the > benefit of not having to upgrade all your services on a new release. > > Docker was a learning experience for me for sure, but overtime I found > many optimizations to iterate quickly. If you are completely not paying > attention (newbie), you could end up with a huge docker image that could be > unwieldy. I've dabbled in the admin side as well - also some learning > there, as a lot of the docker storage is under /var, which like /tmp, users > can abuse and max out (but volumes can be created). The Alpine Linux > distribution is popular to keep the image size down. > > Regards, > Sean > > Sean Blanton > sean at blanton.com > > > On Mon, Sep 5, 2022 at 8:58 AM Richard Reina > wrote: > >> >> >> >> On Sep 4, 2022, at 6:19 PM, Alan Mead wrote: >> >> ? >> >> I was curious to see what responses you got. The little I understand >> about docker, it makes it easier for a sysadmin to deploy your application >> because you have set up the environment that you need. From that, I assume >> that Docker is great for sysadmins but maybe not all that compelling for >> the private use of programmers unless it solves a problem for you. >> >> Yes and I am also the system admin. Accordingly, if turning my app into >> an image is something that could allow me to get it up and running on a >> machine with no compromises in five minutes as opposed to a couple of hours >> I would seriously consider it, especially if making a Docker image does not >> require a great deal of work. Right now I only have to occasionally, once a >> year or so, install in on a machine in my office so it not too much hassle? >> but five minutes vs. a couple hours is worth considering. >> >> I am surprised that your script takes two hours to run. Does that include >> some long compilations? >> >> The program does not require two hours it only takes about 20 minutes and >> most of that time it?s downloading and installing packages and perk >> modules. The rest of the time is me mucking with the machine to get >> everything working right? my install script only does about 90% of the work. >> _______________________________________________ >> Chicago-talk mailing list >> Chicago-talk at pm.org >> https://mail.pm.org/mailman/listinfo/chicago-talk >> > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > https://mail.pm.org/mailman/listinfo/chicago-talk > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > https://mail.pm.org/mailman/listinfo/chicago-talk > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gatorreina at gmail.com Tue Sep 6 07:31:34 2022 From: gatorreina at gmail.com (Richard Reina) Date: Tue, 6 Sep 2022 09:31:34 -0500 Subject: [Chicago-talk] When to Dockerize a perl program In-Reply-To: References: Message-ID: Great info. Thank you very much. Richard El mar, 6 sept 2022 a las 9:17, Sean Blanton () escribi?: > Do you manage your dependencies with some type of virtual environment? > Installing Linux packages is pretty straightforward in the Dockerfile, > using yum/apt, etc. > > Typically, my Dockerfil is arranged like: > > use a base Linux distro > install linux packages > create and set a userid > set up virtual env (using Conda) > > When running, we supply a conda command that activates the virtual env and > launches a specific script. If you don't use a virtual env, you could > install perl packages in the os, of course, but I always tried to avoid > that as I consider that the os's perl, not mine. > > I think mainly you will have some first time trial and error but you may > find helpful examples from the web. > > Regards, > Sean > > Sean Blanton > sean at blanton.com > > > On Mon, Sep 5, 2022 at 12:50 PM Richard Reina > wrote: > >> Sean, Thanks for the insight. Based on what you know how hard would it be >> to create an image for my program with the amount of dependencies I have? >> >> Sent from my iPhone >> >> On Sep 5, 2022, at 12:38 PM, Sean Blanton wrote: >> >> ? >> I would say almost every Perl program. It certainly solves the problem of >> managing your environment. It can run anywhere and you don't care what's >> installed or upgraded on the server. >> >> I'm unfortunately now using the lesser and boring p- language, but the >> same thing holds. We have one bitbucket/Gitlab repo and it holds all the >> common code and we launch the same docker image with different start >> commands to run different programs as different services. This had the >> benefit of not having to upgrade all your services on a new release. >> >> Docker was a learning experience for me for sure, but overtime I found >> many optimizations to iterate quickly. If you are completely not paying >> attention (newbie), you could end up with a huge docker image that could be >> unwieldy. I've dabbled in the admin side as well - also some learning >> there, as a lot of the docker storage is under /var, which like /tmp, users >> can abuse and max out (but volumes can be created). The Alpine Linux >> distribution is popular to keep the image size down. >> >> Regards, >> Sean >> >> Sean Blanton >> sean at blanton.com >> >> >> On Mon, Sep 5, 2022 at 8:58 AM Richard Reina >> wrote: >> >>> >>> >>> >>> On Sep 4, 2022, at 6:19 PM, Alan Mead wrote: >>> >>> ? >>> >>> I was curious to see what responses you got. The little I understand >>> about docker, it makes it easier for a sysadmin to deploy your application >>> because you have set up the environment that you need. From that, I assume >>> that Docker is great for sysadmins but maybe not all that compelling for >>> the private use of programmers unless it solves a problem for you. >>> >>> Yes and I am also the system admin. Accordingly, if turning my app into >>> an image is something that could allow me to get it up and running on a >>> machine with no compromises in five minutes as opposed to a couple of hours >>> I would seriously consider it, especially if making a Docker image does not >>> require a great deal of work. Right now I only have to occasionally, once a >>> year or so, install in on a machine in my office so it not too much hassle? >>> but five minutes vs. a couple hours is worth considering. >>> >>> I am surprised that your script takes two hours to run. Does that >>> include some long compilations? >>> >>> The program does not require two hours it only takes about 20 minutes >>> and most of that time it?s downloading and installing packages and perk >>> modules. The rest of the time is me mucking with the machine to get >>> everything working right? my install script only does about 90% of the work. >>> _______________________________________________ >>> Chicago-talk mailing list >>> Chicago-talk at pm.org >>> https://mail.pm.org/mailman/listinfo/chicago-talk >>> >> _______________________________________________ >> Chicago-talk mailing list >> Chicago-talk at pm.org >> https://mail.pm.org/mailman/listinfo/chicago-talk >> >> _______________________________________________ >> Chicago-talk mailing list >> Chicago-talk at pm.org >> https://mail.pm.org/mailman/listinfo/chicago-talk >> > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > https://mail.pm.org/mailman/listinfo/chicago-talk > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at blanton.com Tue Sep 6 08:12:54 2022 From: sean at blanton.com (Sean Blanton) Date: Tue, 6 Sep 2022 10:12:54 -0500 Subject: [Chicago-talk] Alpine Linux distribution In-Reply-To: References: Message-ID: I really have not put any thought into using Alpine at all and have never had any issues. We did move to a rhel distribution to converge on a company standard. Certainly our past use of Alpine was superficial from the OS perspective and not supporting any type of interesting OS interaction. Programs were simple sockets (ZeroMQ actually) and some code to process and compute. I created some Prometheus collectors also. Regards, Sean Sean Blanton sean at blanton.com On Mon, Sep 5, 2022 at 3:30 PM James E Keenan wrote: > Sean Blanton, > > You wrote in an earlier message to this group, > > "The Alpine Linux distribution is popular to keep the [Docker] image > size down." > > Can you elaborate on this? > > I ask, not because I know anything about Docker, but because over the > past year or so, the Perl 5 Porters have had to contend with bug tickets > or smoke-test failure reports coming from Alpine Linux users/machines. > It's difficult for us to diagnose/resolve these problems unless we have > contributors who (generally for business or personal reasons) are > running Alpine Linux. I myself have never run Alpine Linux, know > nothing about it besides what I read on Wikipedia, and am rather clumsy > at sys-admining various platforms. > > So, apart from the fact that "... Alpine uses musl and BusyBox instead > of the more commonly used Glibc and GNU Core Utilities and OpenRC for > its init system instead of systemd" > (https://en.wikipedia.org/wiki/Alpine_Linux), can you say something > about the Alpine/Docker interaction ... or anything else that Perl users > on other Linux distros should know? > > Thank you very much. > Jim Keenan > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lembark at wrkhors.com Sun Sep 25 18:10:56 2022 From: lembark at wrkhors.com (Steven Lembark) Date: Sun, 25 Sep 2022 21:10:56 -0400 Subject: [Chicago-talk] Alpine Linux distribution In-Reply-To: References: Message-ID: <20220925211056.1fef932b.lembark@wrkhors.com> https://alpinelinux.org/about/ Alpine Linux is an independent, non-commercial, general purpose Linux distribution designed for power users who appreciate security, simplicity and resource efficiency. The catchis that "power users" means it's not intended for anyone doing anything usual; it's intende for people who have a specific need and know how to work around any issues that arise. This makes it un-sutable for general testing. -- Steven Lembark Workhorse Computing lembark at wrkhors.com +1 888 359 3508 From jkeenan at pobox.com Mon Sep 26 04:50:36 2022 From: jkeenan at pobox.com (James E Keenan) Date: Mon, 26 Sep 2022 07:50:36 -0400 Subject: [Chicago-talk] Alpine Linux distribution In-Reply-To: <20220925211056.1fef932b.lembark@wrkhors.com> References: <20220925211056.1fef932b.lembark@wrkhors.com> Message-ID: <7e417e86-f57d-ef84-e7f8-e315f38e5d6a@pobox.com> On 9/25/22 21:10, Steven Lembark wrote: > > https://alpinelinux.org/about/ > > Alpine Linux is an independent, non-commercial, general purpose Linux distribution designed for power users who appreciate security, simplicity and resource efficiency. > > > The catch is that "power users" means it's not intended for > anyone doing anything usual; it's intended for people who > have a specific need and know how to work around any issues > that arise. > > This makes it un-suitable for general testing. > Unfortunately, that doesn't stop people from sending failure reports to CPANtesters or to Perl 5 Porters. :-( jimk From joel.a.berger at gmail.com Mon Sep 26 07:37:53 2022 From: joel.a.berger at gmail.com (Joel Berger) Date: Mon, 26 Sep 2022 09:37:53 -0500 Subject: [Chicago-talk] Alpine Linux distribution In-Reply-To: <7e417e86-f57d-ef84-e7f8-e315f38e5d6a@pobox.com> References: <20220925211056.1fef932b.lembark@wrkhors.com> <7e417e86-f57d-ef84-e7f8-e315f38e5d6a@pobox.com> Message-ID: In a container you basically bundle up each "layer" of your OS and application together and ship it off to downstreams to run. The base layers are shared between projects that use that same base, usually from an OS or language or even library that provides that base (and those of the latter still use those of the former too). Containers only need as much of the OS as is required to run, unlike a true OS of a bare metal box. Therefore to reduce storage and shipping size of the final images, saving space on base and intermediate layers can be crucial. After all you usually cannot reduce the size of your application very much, but if you can whittle out parts of the OS that aren't necessary then that is data that doesn't need to be stored by container registries or downloaded by end users. Major OSes have several versions of their official container image depending on what they are intended to do. Ubuntu and Debian have images that are essentially full OSes for if you're using the image more as a VM than a base, say for testing. However they have others that are stripped down, meaning almost anything you need you need to apt-get install first. Alpine and some other similar OSes make various choices to further reduce the size. This means cutting space in areas that might even seem necessary. One such choice is Alpine's use of musl libc (https://musl.libc.org/) vs gnu's and while in theory ( https://wiki.alpinelinux.org/wiki/Running_glibc_programs) this is fine, in practice it results in many of the problems you see in the p5p list. That lack of C compatibility, especially for a project like Perl (with its noted "lexer and parser and smoke and mirrors") and it strick C89 compatibility target make it ripe for conflicts, even, or perhaps especially unusual ones. I don't know if this helps at all, but perhaps it just shines a bit more light on it. Joel On Mon, Sep 26, 2022 at 6:50 AM James E Keenan wrote: > On 9/25/22 21:10, Steven Lembark wrote: > > > > https://alpinelinux.org/about/ > > > > Alpine Linux is an independent, non-commercial, general purpose Linux > distribution designed for power users who appreciate security, simplicity > and resource efficiency. > > > > > > The catch is that "power users" means it's not intended for > > anyone doing anything usual; it's intended for people who > > have a specific need and know how to work around any issues > > that arise. > > > > This makes it un-suitable for general testing. > > > > Unfortunately, that doesn't stop people from sending failure reports to > CPANtesters or to Perl 5 Porters. :-( > > jimk > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > https://mail.pm.org/mailman/listinfo/chicago-talk > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at blanton.com Mon Sep 26 09:47:51 2022 From: sean at blanton.com (Sean Blanton) Date: Mon, 26 Sep 2022 11:47:51 -0500 Subject: [Chicago-talk] Alpine Linux distribution In-Reply-To: References: <20220925211056.1fef932b.lembark@wrkhors.com> <7e417e86-f57d-ef84-e7f8-e315f38e5d6a@pobox.com> Message-ID: Thanks! That's very informative! I will echo that keeping container sizes small and cleaning up old, cached versions of containers and images is one of the maintenance items you have to deal with when doing container development. It's easier than ordering new hardware, though! Regards, Sean Sean Blanton sean at blanton.com On Mon, Sep 26, 2022 at 9:37 AM Joel Berger wrote: > In a container you basically bundle up each "layer" of your OS and > application together and ship it off to downstreams to run. The base layers > are shared between projects that use that same base, usually from an OS or > language or even library that provides that base (and those of the latter > still use those of the former too). Containers only need as much of the OS > as is required to run, unlike a true OS of a bare metal box. Therefore to > reduce storage and shipping size of the final images, saving space on base > and intermediate layers can be crucial. After all you usually cannot reduce > the size of your application very much, but if you can whittle out parts of > the OS that aren't necessary then that is data that doesn't need to be > stored by container registries or downloaded by end users. > > Major OSes have several versions of their official container image > depending on what they are intended to do. Ubuntu and Debian have images > that are essentially full OSes for if you're using the image more as a VM > than a base, say for testing. However they have others that are stripped > down, meaning almost anything you need you need to apt-get install first. > Alpine and some other similar OSes make various choices to further reduce > the size. This means cutting space in areas that might even seem necessary. > One such choice is Alpine's use of musl libc (https://musl.libc.org/) vs > gnu's and while in theory ( > https://wiki.alpinelinux.org/wiki/Running_glibc_programs) this is fine, > in practice it results in many of the problems you see in the p5p list. > That lack of C compatibility, especially for a project like Perl (with its > noted "lexer and parser and smoke and mirrors") and it strick C89 > compatibility target make it ripe for conflicts, even, or perhaps > especially unusual ones. > > I don't know if this helps at all, but perhaps it just shines a bit more > light on it. > > Joel > > On Mon, Sep 26, 2022 at 6:50 AM James E Keenan wrote: > >> On 9/25/22 21:10, Steven Lembark wrote: >> > >> > https://alpinelinux.org/about/ >> > >> > Alpine Linux is an independent, non-commercial, general purpose Linux >> distribution designed for power users who appreciate security, simplicity >> and resource efficiency. >> > >> > >> > The catch is that "power users" means it's not intended for >> > anyone doing anything usual; it's intended for people who >> > have a specific need and know how to work around any issues >> > that arise. >> > >> > This makes it un-suitable for general testing. >> > >> >> Unfortunately, that doesn't stop people from sending failure reports to >> CPANtesters or to Perl 5 Porters. :-( >> >> jimk >> _______________________________________________ >> Chicago-talk mailing list >> Chicago-talk at pm.org >> https://mail.pm.org/mailman/listinfo/chicago-talk >> > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > https://mail.pm.org/mailman/listinfo/chicago-talk > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shlomif at shlomifish.org Mon Sep 26 17:32:35 2022 From: shlomif at shlomifish.org (Shlomi Fish) Date: Tue, 27 Sep 2022 03:32:35 +0300 Subject: [Chicago-talk] Alpine Linux distribution In-Reply-To: <7e417e86-f57d-ef84-e7f8-e315f38e5d6a@pobox.com> References: <20220925211056.1fef932b.lembark@wrkhors.com> <7e417e86-f57d-ef84-e7f8-e315f38e5d6a@pobox.com> Message-ID: <20220927033235.566ecebf@shlomifish.org> Hi Jim, On Mon, 26 Sep 2022 07:50:36 -0400 James E Keenan wrote: > On 9/25/22 21:10, Steven Lembark wrote: > > > > https://alpinelinux.org/about/ > > > > Alpine Linux is an independent, non-commercial, general purpose Linux > > distribution designed for power users who appreciate security, simplicity > > and resource efficiency. > > > > > > The catch is that "power users" means it's not intended for > > anyone doing anything usual; it's intended for people who > > have a specific need and know how to work around any issues > > that arise. > > > > This makes it un-suitable for general testing. > > > > Unfortunately, that doesn't stop people from sending failure reports to > CPANtesters or to Perl 5 Porters. :-( > "just say no"? http://shlomifishswiki.branchable.com/Never_Try_to_Please_Everyone/ This is one case where a canned response may be justified. > jimk > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > https://mail.pm.org/mailman/listinfo/chicago-talk -- Shlomi Fish https://www.shlomifish.org/ https://youtu.be/GoEn1YfYTBM - Tiffany Alvord - ?Fall Together? Wikipedia has a page about everything including the https://en.wikipedia.org/wiki/Kitchen_sink . ? https://www.shlomifish.org/humour.html Please reply to list if it's a mailing list post - https://shlom.in/reply . From joel.limardo at forwardphase.com Tue Sep 27 13:31:32 2022 From: joel.limardo at forwardphase.com (J L) Date: Tue, 27 Sep 2022 15:31:32 -0500 Subject: [Chicago-talk] Alpine Linux distribution In-Reply-To: <20220927033235.566ecebf@shlomifish.org> References: <20220925211056.1fef932b.lembark@wrkhors.com> <7e417e86-f57d-ef84-e7f8-e315f38e5d6a@pobox.com> <20220927033235.566ecebf@shlomifish.org> Message-ID: The rule of the 'FI's: 1. The FIRST time somebody asks you to do something you don't do refer them to someone else that does it. 2. The FIFTH time somebody asks you to do something you don't do start asking for referrals from wherever you are directing the business. 3. The FIFTEENTH time somebody asks you to do something you don't do IMMEDIATELY start charging and outsource the work. On Mon, Sep 26, 2022 at 7:33 PM Shlomi Fish wrote: > Hi Jim, > > On Mon, 26 Sep 2022 07:50:36 -0400 > James E Keenan wrote: > > > On 9/25/22 21:10, Steven Lembark wrote: > > > > > > https://alpinelinux.org/about/ > > > > > > Alpine Linux is an independent, non-commercial, general purpose Linux > > > distribution designed for power users who appreciate security, > simplicity > > > and resource efficiency. > > > > > > > > > The catch is that "power users" means it's not intended for > > > anyone doing anything usual; it's intended for people who > > > have a specific need and know how to work around any issues > > > that arise. > > > > > > This makes it un-suitable for general testing. > > > > > > > Unfortunately, that doesn't stop people from sending failure reports to > > CPANtesters or to Perl 5 Porters. :-( > > > > "just say no"? > > http://shlomifishswiki.branchable.com/Never_Try_to_Please_Everyone/ > > This is one case where a canned response may be justified. > > > jimk > > _______________________________________________ > > Chicago-talk mailing list > > Chicago-talk at pm.org > > https://mail.pm.org/mailman/listinfo/chicago-talk > > > > -- > > Shlomi Fish https://www.shlomifish.org/ > https://youtu.be/GoEn1YfYTBM - Tiffany Alvord - ?Fall Together? > > Wikipedia has a page about everything including the > https://en.wikipedia.org/wiki/Kitchen_sink . > > ? https://www.shlomifish.org/humour.html > > Please reply to list if it's a mailing list post - https://shlom.in/reply > . > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > https://mail.pm.org/mailman/listinfo/chicago-talk > -- Sincerely, Joel Limardo www.forwardphase.com joel.limardo at forwardphase.com LinkedIn: http://www.linkedin.com/in/joellimardo Twitter: http://twitter.com/joellimard o -------------- next part -------------- An HTML attachment was scrubbed... URL: From shlomif at shlomifish.org Tue Sep 27 18:55:56 2022 From: shlomif at shlomifish.org (Shlomi Fish) Date: Wed, 28 Sep 2022 04:55:56 +0300 Subject: [Chicago-talk] Alpine Linux distribution In-Reply-To: References: <20220925211056.1fef932b.lembark@wrkhors.com> <7e417e86-f57d-ef84-e7f8-e315f38e5d6a@pobox.com> <20220927033235.566ecebf@shlomifish.org> Message-ID: <20220928045556.5039da98@shlomifish.org> Hi Joel! On Tue, 27 Sep 2022 15:31:32 -0500 J L wrote: > The rule of the 'FI's: > > 1. The FIRST time somebody asks you to do something you don't do refer them > to someone else that does it. > 2. The FIFTH time somebody asks you to do something you don't do start > asking for referrals from wherever you are directing the business. > 3. The FIFTEENTH time somebody asks you to do something you don't do > IMMEDIATELY start charging and outsource the work. > Good one! Thanks for sharing. Reminds me of: ? The word "idiot-proof" [= laymen-proof], after bundled with Joel Spolsky's advice to permanently fix users-reported-problems, gets a new meaning when some laymen are tech geeks who have GitHub accounts and are versed in the command-line, e.g: fortune-mod issue #45 . I may be a "victim" of my own success. ? > > > On Mon, Sep 26, 2022 at 7:33 PM Shlomi Fish wrote: > > > Hi Jim, > > > > On Mon, 26 Sep 2022 07:50:36 -0400 > > James E Keenan wrote: > > > > > On 9/25/22 21:10, Steven Lembark wrote: > > > > > > > > https://alpinelinux.org/about/ > > > > > > > > Alpine Linux is an independent, non-commercial, general purpose Linux > > > > distribution designed for power users who appreciate security, > > simplicity > > > > and resource efficiency. > > > > > > > > > > > > The catch is that "power users" means it's not intended for > > > > anyone doing anything usual; it's intended for people who > > > > have a specific need and know how to work around any issues > > > > that arise. > > > > > > > > This makes it un-suitable for general testing. > > > > > > > > > > Unfortunately, that doesn't stop people from sending failure reports to > > > CPANtesters or to Perl 5 Porters. :-( > > > > > > > "just say no"? > > > > http://shlomifishswiki.branchable.com/Never_Try_to_Please_Everyone/ > > > > This is one case where a canned response may be justified. > > > > > jimk > > > _______________________________________________ > > > Chicago-talk mailing list > > > Chicago-talk at pm.org > > > https://mail.pm.org/mailman/listinfo/chicago-talk > > > > > > > > -- > > > > Shlomi Fish https://www.shlomifish.org/ > > https://youtu.be/GoEn1YfYTBM - Tiffany Alvord - ?Fall Together? > > > > Wikipedia has a page about everything including the > > https://en.wikipedia.org/wiki/Kitchen_sink . > > > > ? https://www.shlomifish.org/humour.html > > > > Please reply to list if it's a mailing list post - https://shlom.in/reply > > . > > _______________________________________________ > > Chicago-talk mailing list > > Chicago-talk at pm.org > > https://mail.pm.org/mailman/listinfo/chicago-talk > > > > -- Shlomi Fish https://www.shlomifish.org/ List of Portability Libraries - https://shlom.in/port-libs Q: I?ll be about 6.5 milliard Terran years next September. ? https://www.shlomifish.org/humour/Star-Trek/We-the-Living-Dead/ Please reply to list if it's a mailing list post - https://shlom.in/reply .