Dev&Ops es el espacio donde hablamos de cultura tech, compartimos anécdotas reales y damos consejos prácticos para todo entusiasta del mundo del desarrollo y la tecnología. Acompáñanos a descubrir las últimas tendencias, aprender de nuestras experiencias y recibir tips que te ayudarán a destacar en este entorno digital en constante evolución.
Juan (00:00)
realmente he visto en mí personalmente cómo ahora mi mentalidad ha cambiado en mi trabajo porque ya ahora tengo en cuenta un poco más presente que hay diferentes recursos en los servidores aunque ya lo sabía, ¿no? Todos sabíamos que un servidor tiene una cantidad de RAM y CPU limitado pero cuando ya lo trabajas directamente en tu servidor pues al menos en mí fue algo diferente
Bienvenidos sean todos a un nuevo episodio de Dev & Ops, tu podcast favorito de tecnología. El día de hoy Douglas no va a estar disponible, por lo que estaremos solos y para esta ocasión quiero hablarles un poco sobre algo que me ha entretenido mucho durante los últimos meses.
y también considero que es algo que le puede ayudar a todos,
Como desarrolladores, creo que no es ningún secreto que si no es algo que tiene que ver con código, algo que tiene que ver con lenguaje de programación, frameworks, creo que lo ignoramos por completo. Al menos esa fue mi experiencia durante mucho tiempo.
Y si bien siempre tenía cierta curiosidad por aspectos de redes y un poco de los sistemas operativos, siempre me apoyaba mucho en las plataformas que ya te dan todo listo. Me refiero a por ejemplo a Vercel o estos servicios donde te dan un cpanel y ya está todo prácticamente configurado. Pero...
Creo que si pudiéramos dedicarle más tiempo a todos estos aspectos de lo que es un sistema entero, creo que es algo que le sacariamos mucho provecho para nuestra vida profesional.
Así que vamos a un poco sobre este tipo de cosas. voy a mostrar un poco sobre lo que es mi HomeLab y cómo lo he ido configurando y creando desde cero. Y no solamente te voy a hablar de qué cosas hago, sino también el por qué y qué he aprendido de cada uno de estos pasos. Bien, ¿te parece si comenzamos entonces?
Vamos a hablar, lo primero que me gustaría hablar es de la parte física.
el metal, el hardware como tal de lo que conlleva tener un servidor y aquí vamos a tratar obviamente es un HomeLab, es algo casero, es algo de mi casa, mi red wifi y todos los dispositivos que se conectan pero por motivos de la plática vamos a hacer de cuenta que estamos hablando como de un data center un data center en miniatura
Sin duda, la parte física creo que es una de las que más nos aterra al inicio. Al menos a mí, me gradué del colegio y de la universidad sin nunca poder crear un...
hacer bien un conector de ethernet entre su conector RJ45 y el cable ethernet. Nunca pude. Por algún motivo siempre me quedaba mal, siempre lo hacía mal y ⁓ perdía los puntos en las tareas.
Pero no fue hasta que me puse a hacerlo para mi proyecto aquí en la casa, cuando realmente le puse el interés necesario y dejé de verlo como algo tedioso y algo que realmente no es algo para mí, decía yo. Empecé a hacerlo y realmente no es tan complicado. También hoy en día hay muchas facilidades que antes no había. Hay conectores que son más fáciles de configurar, pero pues...
no solamente es eso, el hecho de empezar a hacerlo y empezar a decidir qué cable comprar, qué conectores comprar, qué marcas existen, cómo voy a trazar el cableado por todas las paredes. Todo eso empezó a hacer clic en mi cabeza y empezó a hacer algo que ya no era tedioso, sino que, al menos en mi caso, me emocionaba mucho.
mover un poco el micrófono, lo estoy golpeando. Y bueno, no solamente el cable, también los servidores. ¿Qué utilizo? ¿Utilizo una computadora de segunda? ¿Utilizo mi computadora como parte de servidores? ¿Qué hago? ¿Necesito comprar un rack de estos gigantescos?
cómo le voy a proporcionar la energía, las fuentes de poder, todo esto eran preguntas que venían a mí cuando empecé a considerar estas opciones y realmente no tenía una idea clara de cómo funcionaba y no fue hasta que decidí ponerme a hacerlo y empecé a investigar, ver videos en internet, leer algunos blogs que había por ahí y empecé a entender cómo se debería hacer.
Mi consejo, si quisieras hacer un proyecto similar, es que yo utilizo...
lo que son computadoras pequeñitas como los raspberry pi lo que pasa es que yo no utilizo raspberry pi sino una marca llamada orange pi pero es lo mismo si puedes comprar raspberry pi creo que en parte es mejor tienen mejor soporte para casi todo así que con una o dos que puedas comprar ya es suficiente tienen la suficiente potencia para correr casi cualquier servicio cualquier servidor y tienen mejor soporte como mencionaba para sistemas operativos como ubuntu server
y cualquier otro servidor que existe por ahí. En mi caso yo tenía los Orange Pi y los empecé a configurar. Tenía uno que era más poderoso, 16 de RAM, 8 núcleos si no me equivoco y tenía otro más pequeñito, más liviano, de 2 de RAM y 4 núcleos si no me equivoco. que ya desde ahí podemos ver que ahora tengo una infraestructura con
recursos diferentes, capacidades diferentes. ¿Qué significa eso? Cuando yo lo traslado a mi trabajo y a cómo funcionan los deployments, empiezo a notar que es necesario tener una idea clara.
de cuál es la infraestructura que tenemos, cuáles son las capacidades que tienen y cómo saber optimizar los programas para que no vayan a botar el servidor simplemente porque no tienen los recursos necesarios. Bueno, en mi caso al inicio configuraba los servicios que corren y muchas veces me pasó que se caía el servidor. Básicamente todos los servicios se trababan y ya no podía acceder a ellos.
Así que esto me llevó a pues indagar mucho más en cómo configurarlos, cómo monitorearlos y cómo asignarle bien los recursos. Cómo decidir en cuál de ellos iba a correr un servicio y en cuál no. Eso creo que es una parte que realmente no puedo tener una experiencia tan cercana en el trabajo, simplemente porque no tengo los accesos y no debería tener los accesos, Y en mi casa tenemos un ambiente controlado.
donde
no pasa nada si se cae el servidor si se cae la red pues el mayor de los problemas sería que no tengo wifi en una de las habitaciones no pasa nada pero bueno el primer punto es tener todo lo que es el aspecto físico y creo que hay algo no hay algo ahí en manipular un servidor y no solamente dar clic a diferentes opciones en un dashboard sino realmente
conectar el cable de red, conectar los discos duros y ahora pues cómo voy a montar el disco duro para que siempre esté disponible cuando inicia el sistema operativo es algo que de nuevo no tenía idea cuando lo hice por primera vez no detectaba o no tenía acceso al disco duro sin que tuviera que manualmente montarlo empecé a investigar cómo se tenía que hacer
Al hacer este tipo de proyectos te llevan a investigar muchas cosas. Te llevan a investigar cada uno de los aspectos que parecen triviales para nosotros. En AWS o en cualquier otro servicio es tan fácil como asignarle la cantidad de storage. Yo quiero que tenga 50 GB y listo. En cambio aquí...
tengo que conseguir el disco duro primero que nada pero también conectarlo y hacer que sea disponible dentro del sistema operativo todas estas cosas pareciera mentira pero personalmente creo que ayudan a que tengamos un entendimiento más grande de cómo funciona el sistema entero lo siguiente sería la parte de red y ya hablé de los cables
pero también existe lo que es el router, el switch, los access point y hoy en día existe algo llamado los controladores que son pues dispositivos ya sea físicos o software podemos descargar
una imagen y correrlo con docker o algo así que nos permiten configurar la red por medio de una interfaz gráfica así que cuando empecé configuraba yo el switch y el router manualmente también los access points los configuraba manualmente
Pero luego empecé a ver que estaba este concepto de controlador y en mi caso yo utilizo la línea de TP-Link así que ellos tienen su sistema llamado OMADA así que estaba el controlador de OMADA. Lo conseguí y no lo hice por software porque no tenía un dispositivo lo suficientemente robusto para que estuviera ahí. Y ya que el controlador es el que configura la red.
Yo puedo apagar el o reiniciar uno de los dispositivos, pero siempre cuando el controlador esté disponible, todo se va a configurar efectivamente. Por lo que eso es una pieza de la red que es fundamental. Por eso decidí comprar el dispositivo que ellos venden y ahora yo configuro la red mediante la interfaz. Así que te lo recomiendo si tenés estos tipos de dispositivos.
muy muy bueno que no es que sea más simple sin embargo ya ahora es más intuitivo el configurar las las villas configurar los diferentes puntos de acceso las las reglas que hay para cada cosa por ejemplo yo algo que descubrí que me gustó poder configurarlo en mi red fue el hecho de tener una sola es es id básicamente una sola red wifi
y dependiendo de la contraseña que se utilice el dispositivo es asignado a una VLAN u otra y eso es algo que me pareció genial no sé por qué nunca lo había visto antes pero pero bueno si si se puede al menos con este software lo pude hacer y creo que ya existen muchas soluciones de hecho
Otro vendedor muy famoso hoy en día y que también es más caro son los de Yuvii Kuti. Creo que así se pronuncia.
con su sistema unify y bueno también funcionan de maravilla por lo que he visto en los comentarios pero bueno es más carito y si algo les puedo recomendar que si quieren hacer este tipo de proyectos eso será algo que sea más accesible y más cómodo con nuestra bolsa porque vamos a estar haciendo muchas pruebas y realmente todos los dispositivos pueden hacer lo mismo solamente lo que cambia es son algunas pequeñas features
que tiene uno que tal vez no tiene el otro pero en mi caso con Teppelink me funcionó de maravilla y lo pude configurar muy bien y bueno, lo es la parte física realmente involucra una experiencia muy diferente a lo que nos vemos expuestos constantemente claramente aquí estoy hablando más hacia los desarrolladores
pero estoy seguro que aún si alguien es DevOps, estoy seguro que en su día a trabaja más con las plataformas en la nube que con un servidor físico pero bueno, probablemente alguien como DevOps, que está trabajando como DevOps ya pasó por esto, en el trabajo y...
y ya lo puede hacer. hecho, la vez pasada platicaba con Douglas y hablábamos sobre todo esto y él me mencionaba que sí, le gusta todo el tema del HomeLab. Sin embargo, pues a diferencia mía, él ya ha tenido la experiencia de configurar un servidor, configurar la red, configurar muchas cosas, no solo para un ambiente tan pequeño, sino para empresas grandísimas.
Así que bueno, las expectativas de él son diferentes que las que podríamos tener nosotros, somos desarrolladores o no tenemos la experiencia tan grande. Creo que también como punto aparte, si tu intención es...
perseguir el perfil de DevOps o SRE a futuro, creo que esta opción te va a beneficiar de mil maneras. El tener tu propio proyecto en la casa con tus servidores y la red local y todo esto te va ayudar a luego trasladar estos conocimientos a las plataformas de la nube porque al final del día es lo mismo. la nube también vamos a tener que configurar Binlands.
y configurar diferentes segmentos de la red. Tenemos que configurar diferentes regiones y cómo se comunican. Sólo que ahora lo que cambia es que es a través de una interfaz. Pero los conceptos se mantienen. En la universidad yo aprendí a seccionar, segmentar redes y bueno, eso es algo que luego se traslada a estas interfaces como el controlador de Omada. Al final del día es lo mismo.
Bien, pasemos un poco y subemos un poco en la capa de nuestra red. Y me gustaría hablar un poco sobre lo que es el sistema operativo que corre en cada uno de los servidores. Como ya lo mencioné, creo que ya lo mencioné, yo tengo dos servidores, uno más potente que el otro. Y en ambos estoy corriendo actualmente ARM, porque son dispositivos con procesadores ARM. Hoy en día existen muchas opciones.
pero en mi caso por la marca que estoy utilizando, modelo que estoy utilizando lo que más me funciona es esta opción que se llama Armbian es basado en Debian pero obviamente he enfocado a los dispositivos Arm y algo muy interesante es el hecho de configurarte desde cero un servidor
Cuando configuramos desde cero un servidor, empezamos a toparnos con algunas cosas que no teníamos idea. Estoy seguro que muchos de nosotros no tenemos idea de cómo todo lo que conlleva tener un servidor disponible y que sea resiliente y bueno, sea prueba de todo, Realmente es muy interesante toda la experiencia que, bueno, la recomiendo al 100 % porque nos da esta mentalidad.
o nos abre la visión de todo lo que existe detrás del servidor. Bueno, en mi caso, ejemplo, yo en mi trabajo hago los microservicios y los configuro, creo la imagen de Docker.
pero realmente no estoy tan al tanto de dónde se va correr y cómo se va a ejecutar, verdad? Si bien elijo una imagen base, por ejemplo Alpine, más allá de eso no tenía que jugar mucho con el servidor como tal. Y es que el servidor...
base, no estamos hablando de un contenedor ni nada de eso o máquinas virtuales. El servidor que está en el dispositivo como tal es muy importante. ¿Cuántos de nosotros sabíamos sobre Rocky Linux, Ubuntu Server, Fedora Server o diferentes opciones que hay por ahí?
probablemente o si no lo sabíamos o por mucho lo hemos nada más escuchado pero es hasta que empezamos a probar y a configurarlo y qué ventaja me da uno, qué ventaja me da el otro es cuando empezamos a entender por qué a veces un servicio ofrece una opción y no la otra
estoy seguro que si has contratado algún vps un servidor privado básicamente te dan varias opciones en un drop down y creo que la gran mayoría, el 99 % de las veces elegimos Ubuntu y listo porque eso lo que dan los tutoriales y eso es lo que uno está acostumbrado
Pero, por ejemplo, mi caso estuve probando la versión de Fedora Server y tienen ciertas opciones muy interesantes. Al final del día, todas las aplicaciones van a correr prácticamente igual, pero lo que cambia es cómo interactuamos con el servidor y cómo podemos realizar diferentes tareas, como un backup, ingresar a la terminal. A veces cambia.
elegir el sistema operativo es una toda una aventura en sí misma que bueno realmente es muy muy interesante te da una visión muy grande de dónde van a estar ejecutándose en nuestras aplicaciones luego está el tema de ahora qué orquestrador utilizamos para los contenedores y bueno aquí para un home lab lo más probable es que vamos a utilizar docker
Docker Swarm o Docker a secas. Incluso podría ser con Podman y creo que no habría mucho problema. Sin embargo, también existen otras opciones. Hay una que, Mini Cube, si no me equivoco. Bueno, no recuerdo. No, Mini Cube es el cliente. Hay una opción de Kubernetes que es muy, muy ligera y se puede ejecutar en dispositivos más pequeños.
y esto nos puede ayudar a entender cómo funciona. De nuevo, para los que están buscando un perfil de DevOps a futuro, que esta es una opción que viene de maravilla. De maravilla porque te va a dar una experiencia muy fuerte de cómo configurarlo desde cero en un servidor.
En mi caso, bueno, pero bueno, mi caso yo, pero bueno, en mi caso yo utilizo Docker Swarm y esto me permite hacer deployment de un servicio a los diferentes nodos de la red.
y esto es muy bueno porque utilizo en un servidor como tal donde yo me conecto y tengo todo el manejo de la infraestructura pero yo puedo seleccionar a que nodo desplazarlo o de hecho no solo a que nodo en especifico por id sino por tipo de nodo ya sea worker o manager entonces ya con eso me da una flexibilidad muy grande para que así los servicios y aplicaciones van a ir al lugar
que corresponden con los recursos que corresponden. Eso de nuevo, esa es una mentalidad que antes no la tenían. Definitivamente antes solo me interesaba ejecutarlo y listo. Pero ahora no, ahora está el tema de los recursos y qué tan importante es este servidor. Si este servidor se cae, qué tan problemático sería.
Hablando sobre el manejo de servidores, como mencionaba, yo me conecto a un solo servidor y desde ahí hago toda la configuración y todo esto. Hoy en día existen muchas opciones, antes yo lo hacía todo a mano, decirlo así. Entraba al servidor mediante SSH, levantaba Docker.
creaba los Docker Compose y los levantaba. Luego, pues levantaba los diferentes servicios y listo. Pero hoy en día existen otras alternativas que nos permiten tener un dashboard como si tuviéramos una nube, pero en este caso es en nuestra casa. Hay varias opciones. Las dos más o nada, estoy seguro que tal vez las has escuchado o visto por ahí, son Coolify y DokPloy.
en mi caso yo utilizo dog ploy porque me permite
hacer muchas cosas de manera más simple, al menos para mí, Lo siento más intuitivo y tiene un soporte muy, muy grande. Tiene una comunidad grandísima hoy en día. La verdad es que estoy en el servidor de Discord y veo cómo se mantiene activo, Constantemente están lanzando actualizaciones y le dan soporte a diferentes partes del sistema que es muy, muy bueno. Así que yo instalé DokPloy.
estuve probando, como cualquier herramienta al inicio, no sabemos muy bien cómo funciona cada cosa, dónde tiene que ir cada una de las configuraciones, pero a medida vamos probando nos vamos acostumbrando y bueno, hoy en día me parece muy intuitivo la interfaz y me gustan todas las features que tiene. Por ejemplo, yo ahora puedo tener diferentes ambientes.
Yo puedo tener diferentes ambientes en mi servidor. Puedo tener un ambiente de staging o un ambiente de producción. Normalmente no lo utilizo porque suelo tener aplicaciones muy simples.
pero cuando estoy haciendo pruebas me permite crear un ambiente hago las pruebas que tengo que hacer y no afecto a las otras cosas que ya están corriendo y me permite hacerlo de manera muy muy fácil también me permite hacer deployments automáticos desde GitLab, GitHub, Bitbucket cualquier otro de estos repositorios que existen por ahí
puedo hacer que cuando hay un cambio, DokPloy haga el deployment y haga el build o puedo hacer que creara un GitHub Action y este GitHub Action luego pues genera la imagen y DokPloy simplemente se encarga de actualizar la imagen que estaba utilizando. Muy muy versátil, muy muy interesante la manera en que funciona.
También me da la capacidad de monitorear mis servicios. El monitoreo es algo que, de nuevo, antes no tenía una noción tan clara. Claro que utilizaba herramientas de monitoreo en mi trabajo y las utilizaba constantemente. Pero cómo configurarlas y cómo utilizarlas son dos cosas muy diferentes.
Así que en Docploy al menos me permite configurar mis servicios para poder tener los logs de manera más fácil. También algo con lo que nunca he tenido que lidiar en mi trabajo es con los backups. Eso es algo que se encarga otro equipo, no me toca a mí.
pero en mi casa yo soy el equipo entero, que ahora tengo que ver cómo hago backups de todo lo que estoy haciendo porque ya me ha pasado que se rompe algo en mi servidor o servidores y luego me toca configurar todo desde cero, una vez más así que con el tiempo pues he aprendido a utilizar diferentes estrategias para no tener que configurar todas las cosas una y otra vez
van desde estrategias muy simples como bueno todo se guarda en un disco duro hasta configurar repositorios externos como S3 de Amazon o los buckets de Google y pues estar subiendo los backups ahí automáticamente. Con DocPlay es muy muy fácil hacerlo realmente bueno DocPlay ha cambiado muchísimo mi flujo de trabajo hoy en día porque pues trae soluciones que son muy muy buenas y ya están
probadas por muchas personas. Así que lo único que tengo que hacer es configurarlo bien y listo. algo que también es interesante al empezar a trabajar con este tipo de cosas es que empezamos a preocuparnos por aspectos que antes no veíamos. Por ejemplo, si yo le quiero dar acceso a Docploy para que acceda a los repositorios en mi cuenta de GitHub, tengo que tener en cuenta la seguridad que tiene que tener esto.
Entonces empezamos a configurar nuestro cuenta de GitHub con diferentes partes de, por ejemplo, con los tokens, los access tokens que genera GitHub con...
con los secrets, no son secrets, son los SSH keys, todas estas cosas que normalmente no lo hacemos, aunque bueno, también hay que mencionar que GitHub cada vez le da mucha prioridad a la seguridad y casi nos empieza a obligar a configurar estas cosas. Pero bueno.
tener que hacerlo y tener que configurarlo es toda una experiencia que cuando logramos hacerlo bien es muy gratificante ya tener nuestro servicio corriendo y sabemos que está asegurado el otro aspecto que también quisiera mencionar
en DokPloy ya viene casi casi configurado pero igual hay que hacerle muchas modificaciones si quieres que funcione con tu propia infraestructura y son el tema de los reverse proxy los más famosos hoy en día creo que son Nginx y Traffic en el caso de DokPloy y bueno yo personalmente también lo prefiero Traffic es lo que viene con DokPloy
Y yo ya lo utilizaba desde antes, pero creo que lo utilizaba de una forma muy, muy simplista. Cuando empecé a ver cómo lo recomendaba DokPloy, cómo seccionaba las partes de la configuración en diferentes archivos, al inicio no lo entendía. Y esto, ¿en qué se derivó? Bueno, se derivó en que ahora tuve que ir a la documentación de Traffic y leerla una vez más y empezar a...
a jugar con ella y empezar a saber por qué estaba así y qué hacía cada cosa. Al punto en que ahora ya me siento más cómodo con la configuración que tiene que llevar Traffic y los diferentes servicios. Esto también nos habilita a otro mundo de posibilidades. Con Traffic es posible configurar diferentes plugins y hay plugins que son muy, muy interesantes. Hay uno que todavía no he configurado del todo, estoy en proceso.
y cuando lo tenga espero poder compartirles más me pueden seguir en mi otro canal de gopher engineer donde comparto este tipo de cosas tutoriales y cosas así bueno el plugin del que me refiero es un plugin de SSO, Single Sign-On básicamente es tener un solo punto donde vamos a hacer login para las diferentes aplicaciones y creo que no he mencionado que aplicaciones suelo correr en mi HomeLab actualmente solo
tengo aplicaciones que son para entretenimiento. Tengo Jellyfin, que es para el streaming de películas y series. Y luego tengo otros servicios alrededor que me ayudan a pasar las películas y las series al servidor. Me permite descargar subtítulos, me permite agregarle metadata y cosas así. También tengo Pyho.
si no sabes lo que es PyHole, pasa nada, es un servicio de DNS que hace más que DNS, también bloquea ads y bloquea mucho tráfico o basura en tu red y esto me permite a configurar mi DNS interno, así que ahora para acceder a Jellyfin ya no tengo que poner la IP y el puerto, sino que ahora simplemente escribo en la barra de dirección jellifin.home y me redirige automáticamente a la aplicación.
muy conveniente la verdad. Otro plugin que es muy interesante es el bloqueo por región, que yo ahora en traffic yo puedo decir bueno yo quiero bloquear cualquier tráfico que no sea de mi país. Para mi red local eso es es muy muy beneficioso.
y bueno tiene diferentes métodos de seguridad ¿a que quiero llegar con todo esto? que si tenemos bien configurados nuestros servicios podríamos entonces empezar a exponer nuestros servicios hacia afuera actualmente mis servicios solo funcionan de manera local pero si yo quisiera puedo exponerlos y ahora yo podría desde otra parte acceder a mi película o a mis series y sin necesidad de estar en mi casa claro esto es muy riesgoso
mucha gente siempre dice no expongas tus puertos, expongas tu servicio pero yo lo que creo es que no es que tengamos que hacerlo, más bien mi recomendación sería es peligroso, sí, pero si se hace bien no deberíamos tener ningún problema
todos los servidores que estamos utilizando en la nube también están expuestos al internet y no por eso dejamos de utilizarlos. Así que eso no debería cambiar. Por eso es necesario entender todos estos conceptos de las VLANs y todos estos métodos de seguridad que podemos aplicarles.
y bueno al final del día también podemos infectarnos con un virus jugando videojuegos o visitando alguna página web sin siquiera tener un servidor expuesto a la red así que mi recomendación es se puede solo que requiere que le prestemos mucha atención a la seguridad eso no hay ninguna duda
Pero como mencionaba, hoy en día es más fácil. Bueno, en el caso de Traffic existen plugins. Ya sea que los descarguemos o nosotros mismos lo podemos programar. Podemos programar nuestros plugins y los utilizamos de manera local.
Bien, como mencionaba, es, ya que estamos solos, va a ser una plática bastante corta, pero...
Y bueno, ¿por qué quería compartir esto, no? Más allá de incentivarlos a que aprendan un poco más y diferentes aspectos de lo que es un sistema y las redes y todo esto. Estoy seguro que muchas personas se deben estar preguntando si llegaron hasta aquí, ¿no? Deben estarse preguntando, bueno, sí, muy interesante, pero realmente no me interesa. Yo no me quiero dedicar a eso.
Y sí, tienes razón, tal vez no te vas a dedicar a esto en tu día a día, tu trabajo. tal vez estoy siendo muy sesgado, pero realmente creo que es muy, muy beneficioso saber, al menos, las bases de cada una de estas partes.
cuando yo empecé a programar o al menos a exponerme al mundo de la programación y el desarrollo web específicamente allá por el 2012 más o menos, 2010 creo
No, yo no veía esta distinción tan clara que hay hoy en día de desarrollador front-end y desarrollador backend. Estoy seguro que existía, estoy seguro que mucha gente ya tenía su especialidad. Pero al menos la manera en que yo fui expuesto a este mundo era el hecho de vas a crear un sistema, hay una parte que se ejecuta en el servidor y otra parte que se ejecuta en el cliente. Listo. Tenés que hacer todo.
y bueno yo empecé con php así que tenía que hacer la parte de javascript y luego tenía que hacer la parte de php claro que al inicio era un código espagueti horrible donde en medio de la página de login hacía llamadas a la base de datos y bueno era todo muy muy enredado por ahí tengo guardados algunos archivos casi casi como una especie de museo virtual que tengo en mi computadora de código que hacía al inicio que pues realmente no era
pero mi punto es que yo no tenía esta distinción tan clara y creo que eso me ayudó a tener que prestar la atención a todas estas cosas como optimizar un query, tener en cuenta las sesiones y las conexiones a la base de datos, como recorrer el DOM de la página web, como parciar el archivo, el objeto JSON, bueno, todas estas cosas,
en su momento también por eso fue muy revolucionario al menos para mí cuando ya podíamos utilizar JSON en el servidor con Node.js creo que bueno al menos recuerdo que fue muy muy liberador el hecho de ya no tener que cambiar de contexto en lenguaje no tener que cambiar de lenguaje cuando cambiamos de contexto decidir al servidor o el cliente todo era JavaScript incluso podíamos copiar pedazos de código de un lado al otro
pero hoy en día creo que la división está muy marcada.
Y bueno, no me malinterpreten, la especialización siempre tiene que ser una prioridad. Yo creo que si estamos especializados en algo, va a ser más fácil poder optar a diferentes puestos de trabajo que son mejores. Porque una empresa va a tener una mayor certeza de contratar a un especialista en React para que le haga su página en React.
Pero aún así, yo lo he visto en muchas personas que no quieren ni siquiera voltear a ver lo que tiene que ver con un cable de red o un servidor o el sistema operativo. Tal vez estoy siendo muy extremista, estoy seguro que tal vez no es tan así. Pero aún así creo que nos vemos muy beneficiados en conocer todas las partes del sistema. Así que por eso quería compartirles este proyecto que yo he hecho en mi casa, es nada del otro mundo.
y realmente he visto en mí personalmente cómo ahora mi mentalidad ha cambiado en mi trabajo porque ya ahora tengo en cuenta un poco más presente que hay diferentes recursos en los servidores aunque ya lo sabía, ¿no? Todos sabíamos que un servidor tiene una cantidad de RAM y CPU limitado pero cuando ya lo trabajas directamente en tu servidor pues al menos en mí fue algo diferente creo que tal vez tiene que ver con cómo aprendemos, hay personas que necesitamos
practicar y hacer algo más, una experiencia más práctica que más allá de la sola teoría. Entonces por eso es que quería compartirles esto e incentivarlos a que lo intenten y traten de configurar su red. También es muy interesante no tener tu casa configurada con diferentes dispositivos, luces inteligentes y no tener que depender tanto de la nube.
Yo puedo tener todo aquí, puedo ver mis películas y series, puedo encender las luces y no dependo de una conexión a internet. Todo puede correr desde mi servidor y no pasa nada. De hecho, en cierto momento también guardaba mis fotos y diferentes archivos en el servidor. Eso lo que ahora me he quedado con dispositivos más pequeños, así que ya no tengo la misma capacidad. Pero bueno, son cosas que pasan.
Así que, En conclusión, eso lo que quería compartirles que realmente trabajar en un HomeLab o exponer servidores al exterior va más allá de simplemente conectar un dispositivo y ya. Tiene que ver con toda esta mentalidad que empezamos a desarrollar alrededor de ella y nos permite, pues, desde mi humilde opinión, creo que nos permite crecer como profesionales. Tampoco necesitas
Iniciar con las cosas más caras y tener redundancia de proveedores de internet, redundancia de servidores, un backup externo, un NAS, todo esto no es necesario. Cuando empezamos a configurarlo, claro que nos...
interesa hacer este tipo de cosas pero de nuevo no es necesario con uno o dos servidores creo que podemos hacerlo muy fácil hay mini pcs que son muy baratas como mencionaba los raspberry pi también son muy accesibles y con esto ya podemos empezar así que así que bien
Eso ha sido todo por el día de hoy, muchas gracias para los que se quedaron hasta el final y me acompañaron en esta ocasión. el episodio que viene, creo que Douglas ya estaría... Estoy seguro que Douglas ya estaría con nosotros, así que vamos a regresar... Perdón, vamos a regresar a las pláticas normales que ya hemos visto anteriormente. Definitivamente me hubiese gustado tener la opinión de Douglas en este caso, para algunas cosas. Pero creo que también esto me permite darles mi punto de vista
al
100 % como un desarrollador, un developer haciendo trabajos de DevOps. que bueno, muchas gracias, deja un like si te gustó, si te gustó mucho más deja un comentario y bien, gracias, nos vemos a la próxima.