Alpine production deployment: Difference between revisions
Mckaygerhard (talk | contribs) (→See Also: remove newbie references this content was started by me. but i let it as is cos it helps to the already poorly wiki) |
m (Fixed double redirect.) |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{style|This reads more like an essay than a useful tutorial or advice}} | |||
The production environment is the final destination of all development results. Almost always when someone does some kind of development, no matter how small it is (for example a simple script), the development environment is not the only place or system where it will be exclusively used (for example the script could be used on other computers in the network). | The production environment is the final destination of all development results. Almost always when someone does some kind of development, no matter how small it is (for example a simple script), the development environment is not the only place or system where it will be exclusively used (for example the script could be used on other computers in the network). | ||
The development environment is never the same as the production environment, commonly, production environment only has necessary software to run the installed and deployment products. In professional | The development environment is never the same as the production environment, commonly, production environment only has necessary software to run the installed and deployment products. In professional Linux are no graphical tools and everything is minimalist.. just like Alpine Linux. | ||
= Servers and | = Servers and Docker containers = | ||
The most famous cases in old days was use a | The most famous cases in old days was use a CentOS environment, but over time, Linux became more heavy and more slow. That changes with Alpine and Docker, if you think Red Hat and CentOS are the best here an article that describes in short the real life of those systems: https://gitea.com/venenux/venenux/src/branch/master/docs/others-infodocs-details-centos-vs-fedora-en.md , Both projects are Red Hat related, one are ahead of and the other behind of, main difference from others distributions it’s their lack of packages and setups, due the shared market focused target of both.. obviously due the RedHAt relationship. | ||
But today all of this changed, now there's Docker: a helpful tool for packaging, shipping, and running applications within "containers" (like virtual machines) that remove the need for physical hardware, allowing for more efficient use of computing resources, in terms of energy consumption and cost effectiveness. Today even the big dogs like Google, VMware and Amazon are building services to support it. | But today all of this changed, now there's Docker: a helpful tool for packaging, shipping, and running applications within "containers" (like virtual machines) that remove the need for physical hardware, allowing for more efficient use of computing resources, in terms of energy consumption and cost effectiveness. Today even the big dogs like Google, VMware and Amazon are building services to support it. | ||
Line 23: | Line 24: | ||
* LAMP deploy of the Web Server: [[Production Web server: Lighttpd]] | * LAMP deploy of the Web Server: [[Production Web server: Lighttpd]] | ||
* LAMP deploy of the Web Server with PHP, user html_dir and MariaDB: [[ | * LAMP deploy of the Web Server with PHP, user html_dir and MariaDB: [[MySQL]] | ||
* Deploy usage of Lets Encrypt without chain-tools – just add water: [[Production Lets Encrypt: dehydrated]] | * Deploy usage of Lets Encrypt without chain-tools – just add water: [[Production Lets Encrypt: dehydrated]] | ||
Line 35: | Line 35: | ||
* SQlite, most easy to use database system without engine: [[Debelovers : sqlite]] | * SQlite, most easy to use database system without engine: [[Debelovers : sqlite]] | ||
* UnixODBC, how to connect with multiple databases: [[Production DataBases : unixodbc]] | * UnixODBC, how to connect with multiple databases: [[Production DataBases : unixodbc]] | ||
* MySQL/MariaDB deployment: [[ | * MySQL/MariaDB deployment: [[MySQL]] | ||
== Networking == | == Networking == | ||
Line 45: | Line 45: | ||
WIP | WIP | ||
Latest revision as of 04:33, 28 August 2023
This material needs wiki syntax or style improvements ... This reads more like an essay than a useful tutorial or advice |
The production environment is the final destination of all development results. Almost always when someone does some kind of development, no matter how small it is (for example a simple script), the development environment is not the only place or system where it will be exclusively used (for example the script could be used on other computers in the network).
The development environment is never the same as the production environment, commonly, production environment only has necessary software to run the installed and deployment products. In professional Linux are no graphical tools and everything is minimalist.. just like Alpine Linux.
Servers and Docker containers
The most famous cases in old days was use a CentOS environment, but over time, Linux became more heavy and more slow. That changes with Alpine and Docker, if you think Red Hat and CentOS are the best here an article that describes in short the real life of those systems: https://gitea.com/venenux/venenux/src/branch/master/docs/others-infodocs-details-centos-vs-fedora-en.md , Both projects are Red Hat related, one are ahead of and the other behind of, main difference from others distributions it’s their lack of packages and setups, due the shared market focused target of both.. obviously due the RedHAt relationship.
But today all of this changed, now there's Docker: a helpful tool for packaging, shipping, and running applications within "containers" (like virtual machines) that remove the need for physical hardware, allowing for more efficient use of computing resources, in terms of energy consumption and cost effectiveness. Today even the big dogs like Google, VMware and Amazon are building services to support it.
The server are mostly a very powerful machine in production environments, but think about it! a 500GB disk to only run a DNS for a local network? that's the reason of the Dockers and their relationship with the servers.
The one big difference between containers and a Server is that containers *share* the host server system’s kernel and server resources with other containers in a isolated environment.
Server focused documents
TODO: webpack, npm (advanced.. cos is includen below in lamp), bigdata, Dockers focused well made tutorial
Web deploy: LAMP
In production web, LAMP means Linux + Apache + Mysql + Php installed and integrated, but today the "A" of apache is more used as Nginx or Lighttpd, and the "M" of MySQL is more used as Mariadb. The LAMP focused documents are:
- LAMP deploy of the Web Server: Production Web server: Lighttpd
- LAMP deploy of the Web Server with PHP, user html_dir and MariaDB: MySQL
- Deploy usage of Lets Encrypt without chain-tools – just add water: Production Lets Encrypt: dehydrated
Web deploy: LUA
WIP
DataBases
- SQlite, most easy to use database system without engine: Debelovers : sqlite
- UnixODBC, how to connect with multiple databases: Production DataBases : unixodbc
- MySQL/MariaDB deployment: MySQL
Networking
- Dual stack (ipv4 to ipv6) DNS with chain slave, just only for brave linux sysadmin: : Production DNS: dual stack Bind server
- Cacti: traffic analysis and monitoring network
Docker focused documents
WIP