Dev&Ops

En este episodio, Juan y Douglas discuten la evolución y relevancia de WordPress en el mundo actual, desmitificando su uso y destacando su robustez y escalabilidad. A través de experiencias personales y estadísticas, exploran cómo WordPress se ha convertido en una herramienta esencial para empresas de todos los tamaños, y cómo su comunidad Open Source contribuye a su crecimiento. También abordan la importancia de la integración de prácticas modernas como DevOps en el uso de WordPress.
En esta conversación, se exploran las capacidades avanzadas de WordPress, incluyendo la automatización de procesos mediante WPCLI, la gestión de dependencias con Composer, y la implementación de prácticas modernas como CI/CD. Se discute la importancia de la seguridad y el uso de CDN, así como la adaptación de WordPress a entornos de contenedores y Kubernetes. Además, se analiza el desarrollo de plugins y la personalización de WordPress, así como la tendencia hacia el uso de WordPress como un Headless CMS, permitiendo una mayor flexibilidad en el desarrollo de front-end.

What is Dev&Ops?

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.

Douglas (00:00)
Y de nuevo, no son empresas que es que porque vienen manteniendo desde hace diez años su sitio en WordPress y ya no lo pueden sacar. Cuando sacan algo nuevo, también lo sacan en WordPress.

empresas como Microsoft, que también son clientes de Tenup y que yo personalmente trabajo manteniendo la infraestructura de los blogs de Microsoft, corren en WordPress,

Juan (00:21)
que uno pensaría al

ser Microsoft utilizarían sus tecnologías, ¿no? .NET. Pero una cosa no quita la otra,

Douglas (00:26)
usarían .NET.

Una

cosa no tiene la otra y si vos entras a Microsoft.com y entras a la parte informativa, normal y eso va a ser la otra, tal vez su .net y otras cosas. Pero todos los blogs de Microsoft que se accesan desde Microsoft.com están en WordPress.

Juan (00:48)
Bienvenidos sean todos, gracias por acompañarnos a un nuevo episodio de Dev & Ops. Estamos aquí para poder platicar de muchos más temas que nos apasionan. Conmigo está mi amigo Douglas, como siempre. Douglas, ¿qué tal estás? ¿Cómo te ha ido en estos días que no te visto ya? Ya hace un par de días.

Douglas (01:07)
Juan, tal? Gracias. No, estoy muy bien. Muy bien, gracias a Dios. Como siempre, contento de que podamos tener la oportunidad nuevamente de hablar de estos temas realmente que la paso muy bien discutiendo estas diferentes temáticas, contar nuestras experiencias y sobre todo poder aprender también de vos y de tu perspectiva por la gran experiencia que tenés en el área de IT

y contento, definitivamente contento.

Juan (01:37)
Gracias.

Gracias Douglas, creo que este va a ser uno de esos episodios donde creo que te voy a dar la batuta un poco más porque el tema de hoy vos tenés mucho más experiencia que yo pero antes de entrar en materia me gustaría nuevamente darle las gracias a todas las personas que nos siguen a todas las personas que le dan like, se suscriben, comentan, comparten muchas gracias porque de nuevo como saben todas esas cosas nos ayudan a poder crecer y la idea es poder llegar a más personas para que puedan

estos consejos que damos.

Podemos tener más alcance y a alguien más le va a ayudar. Una de las cosas que hablamos con Douglas desde el inicio es que nos interesa estar hablando y estar dando estas pláticas porque consideramos que, al menos en el ámbito de Latinoamérica, a veces no se tocan estos temas. Entonces, por eso nos gustaría poder llegar a más personas y se los agradecemos todo el apoyo que nos dan. Creo que lo has visto, ¿no, Douglas?

que... por ahí llegan algunos haters pero también ya he notado que hay personas que nos dan el lugar al vídeo, contenido, no tanto a nosotros sino al contenido y tratan de debatir este tipo de ataques a veces se dan.

Douglas (03:00)
Si, de eso se trata, del contenido, realmente es lo que queremos, el contenido es el que enriquece y el que tal vez nos va a tratar de llevar por un mejor camino y yo estoy realmente contento, verdad, pienso en 50 personas que ven un video y si esas 50 personas están en un solo cuarto, está llenísimo, para mí es exagerado.

que de esas 50 personas, 5 puedan llevarse una enseñanza de nuestra parte, es grande. Y de igual manera, lo que ustedes ponen en comentarios, hay muchas cosas interesantes y también que despiertan nuestra atención y nos hacen querer probar y entrar en nuevas cosas o nuevas áreas de la informática. Entonces, al final, todos aprendemos y de eso se trata, crear esta comunidad para que todos podamos beneficiarnos unos

de los otros.

Juan (03:53)
Es correcto, es correcto. Yo le he notado que a veces damos un contenido y muchas personas en los comentarios también aportan y eso ayuda a que todos crezcamos, que todos aprendamos algo. Pero bien, muchas gracias. Y para dar paso al tema de hoy, que como probablemente están viendo en el título del episodio, el día de hoy vamos a hablar sobre WordPress. Este es un tema que en lo personal...

Douglas (04:05)
Gracias.

Juan (04:21)
me ha llamado mucho la atención y me ha interesado mucho más después de que Douglas me ha hablado de cómo realmente funciona hoy en día, cómo son las buenas prácticas que existen en la industria hoy en día porque como muchos y como muchos que están viendo hoy en día estoy seguro, yo también antes pensaba que WordPress, no sé, lo tenía como con cierta estigma y créanme es normal pero también créanme que estamos equivocados, es algo muy

alejado de la realidad y pues para eso creo que Douglas nos va a poder ir despejando algunas dudas aclarando algunos mitos por eso me interesa mucho este episodio porque creo que nos va a servir a Douglas voy a empezar con la primera pregunta porque creo que aquí te voy a llenar de preguntas quiero que nos

Douglas (05:16)
Dale, listo. Estoy

listo.

Juan (05:18)
Creo que excelente.

Pero bueno, antes de preguntarte como tal, de hecho lo que tengo en mente es que nos hables un poco tal vez de cómo es tu experiencia porque estamos de acuerdo que al ser un sysadmin, hacer DevOps, has tenido muchos puestos de trabajo y llegar a un lugar donde trabajas con WordPress siempre desde tu lado de...

digamos no tanto el desarrollo pero estás involucrado en todo el proceso, cómo ha sido tu experiencia, cómo lo ves, contamos un poco sobre eso.

Douglas (05:56)
Sí, sí, sí, gracias Juan. Bueno, mi experiencia en antes de la primera vez que tuve la oportunidad de configurar un servidor con WordPress, yo estaba en la lista que acabas de mencionar, en la lista de personas que creían que WordPress era para jugar un poquito, para jugar un poquito y tal vez probar un poquito de cosas, pero no era para nada grande.

Pero ya mi primera experiencia real fue como por ahí de que creo que el 2009 si no me equivoco en este trabajo donde vos y yo nos conocimos, llegué mucho antes vos no habías llegado pero le dieron la tarea a un programador de que hiciera un sitio pequeño en WordPress y alguien pensó que era buena idea dejarlo a él configurar el servidor.

Juan (06:33)
mmm

Douglas (06:51)
No te voy a hacer larga la historia, Juan, pero él instaló PHP, instaló MySQL y descargó WordPress y lo instaló. Quiso subir un archivo, le di un error de permisos y su solución fue darle permisos a la carpeta de WordPress, permisos de 777. Para los que no lo saben, en Linux, eso es una manera de dar permisos a los directorios o archivos.

donde 7 es el máximo nivel de privilegio para lectura, escritura y ejecución de archivos y el primer 7 es el usuario que creó los archivos, el segundo 7 es el grupo al que pertenece ese usuario y el tercer 7 es cualquier otro usuario en el sistema. Entonces, prácticamente él configuró WordPress para que cualquier persona que se conectara al sistema tuviera permisos para hacer lo que quisiera.

Juan (07:46)
en

Douglas (07:46)
Así es, era una plaza pública.

Juan (07:46)
una plaza y entraba al que quisiera y me ha pasado debo debo confesar que yo he cometido ese pecado

Douglas (07:55)
Sí sirve hacer ese cambio para asegurarme que el problema de permisos luego tengo que ajustarlos a lo que realmente necesito, ¿no? Pero como era de esperarse...

Juan (08:01)
jajaja

Douglas (08:06)
era, fue cuestión de tiempo y fue poco tiempo para que este sitio fuese atacado por un code injection, una inyección de código y la página prácticamente era llena de publicidad de un medicamento que había para personas de la tercera edad antes para que las personas de la tercera edad funcionaran, funcionaran en su vida íntima, verdad, no doy detalles del medicamento porque no son sponsors pero

Juan (08:14)
mmm

Douglas (08:36)
Pero fue víctima de un cold injection. Y entonces en ese punto es donde deciden llamar a quienes éramos los examen en ese momento. Fue donde yo fui y esa fue mi primera experiencia.

realmente teniendo que trabajar con WordPress. Recién lo agarré, pensé que era... Sí, a quien se le ocurre WordPress. En la medida que empecé a trabajarlo y ajustarlo y leer documentaciones, me fijé que no había sido culpa de WordPress. En lo absoluto, ¿verdad? Había sido simplemente mal configurado y eso puede pasar con cualquier aplicación. Si no restringís permisos, eso le va pasar a cualquier aplicación.

Juan (09:16)
El famoso error de capa 8, ¿no?

Douglas (09:19)
el

error de Kappa 8, correcto. Entonces no tenía nada que ver la tecnología en eso. De ese punto en adelante la empresa, aunque no era la fuerte, empezó a adoptar unos cuantos sitios de WordPress aquí y tal vez algunos cinco o seis, donde se instalaban todos en un solo servidor. Y mi experiencia con WordPress fue mejorando. En la actualidad, y es aquí donde yo comienzo a...

Juan (09:25)
Uh-huh.

Douglas (09:47)
Bueno, antes de eso, de estar configurando estos seis, ocho servidores de WordPress en esta empresa.

Fui aprendiendo y fui viendo más el potencial de WordPress. Fui viendo más sus capacidades y ya fui viendo y aceptando y entendiendo la idea de que WordPress tiene un lugar y un lugar bien grande y un uso bien grande. Y al final es necesario porque ya lo hemos mencionado antes en otros temas. Se trata de no reinventar la rueda. Y si querés un CMS, un administrador de contenido, ¿por qué

Juan (10:12)
Mm-hmm.

Douglas (10:23)
lo vas a desarrollar desde cero cuando tienes algo como WordPress. En fin, cuando me muevo a este trabajo en el que estoy ahora, yo trabajo para una empresa que se llama Ten Up. Ten Up de hacia arriba, ¿verdad? Esta empresa es una agencia digital de Estados Unidos y ellos son uno de los, son como el top 5, top 8 de los que en realidad han...

Juan (10:38)
Mm-hmm.

Douglas (10:51)
movido la industria de WordPress a nivel global. Como agencias digitales están entre los más grandes que manejan WordPress y han creado estándares en la industria desde los ambientes de desarrollo de WordPress hasta diferentes, múltiples contribuciones al WordPress Core, que es el programa de WordPress que instalas para que corra a WordPress, ese es WordPress Core, y muchos plugins.

que son estándares de la industria para ciertas funcionalidades. Entonces, cuando llego a trabajar para esta empresa, mi puesto actual es Lead Systems Engineer. Comencé como Systems Engineer y fui promoviendo a Senior Systems Engineer y hoy en día desempeño la función de Lead Systems Engineer. esa es el título, la forma en que ellos manejan las diferentes...

Juan (11:24)
jajaja

Douglas (11:47)
⁓ áreas de desarrollo, se les dicen disciplinas y la parte de desarrollo web se les dice web engineering, la disciplina de web engineering, eso incluye front and back end y las diferentes áreas.

Juan (11:55)
ok

Douglas (12:00)
Y la parte de sysadmin, DevOps, reliability, engineer, puedo hablar hoy, SRE es Systems Engineering. Es esa área, ¿verdad? Entonces, es simplemente el título, pero al final me llama la atención porque vos decís cómo se implementa lo que yo sé trabajando en WordPress. Es lo mismo, soy un SRE. ⁓

Juan (12:23)
Mm-hmm.

Douglas (12:23)
donde

no es el único producto, pero el producto principal es WordPress. hoy en día Juan trabajó en esta empresa que es de los líderes en la industria en cuanto a WordPress se refiere, es una agencia digital que trabaja con empresas muy grandes y yo a nivel personal trabajo con empresas de mucho renombre y tal vez ahí las voy a ir mencionando más adelante a medida demos un par de ejemplos. Pero entonces,

trabajo con WordPress administrando sitios para editoriales que tienen cientos y miles de usuarios y conexiones al día o por minuto y se mantienen en alta disponibilidad y bueno, ahí lo vamos a ir discutiendo un poquito, pero hoy en día esa es mi experiencia en WordPress y de nuevo aclarando...

Si bien es cierto, tengo entendimiento de cómo funciona la parte de desarrollo de WordPress, de crear plugins, temas, ese tipo de cosas. Obviamente, aquí donde va mi experiencia va más dirigida hacia la parte de sistemas y es a lo que más voy a ir hablando. creo que... Hice un poco larga la respuesta, Juan, pero creo que es importante que para que... Los aquellos que nos están escuchando y nos están viendo...

sepan cuál ha sido mi experiencia alrededor de WordPress para que tal vez entiendan un poco mi postura, no tienen que compartirla. Sin embargo, que sepan que mi postura y mis ideas y proyección alrededor de WordPress vienen de una experiencia sólida. Profesional, sí. Gracias a Dios.

Juan (14:05)
profesional.

Sí, la verdad es que tal vez vamos a...

Podría ser interesante compartir un poco tu perfil en GitHub, porque para los que estén interesados en todo este tema de WordPress y quieren profundizar un poco más, podrían seguirte, ya que sos alguien que ha aportado mucho en el open source en WordPress. Y me has mostrado algunos proyectos para...

para lo que son GitHub Actions y que tienen que ver con WordPress. Es muy interesante todo este mundo. Hay muchas cosas que mencionaste que me llaman la atención. Por ejemplo, me llama la atención cómo esta empresa, ¿dónde estás? Ten Up, no solamente utilizan el producto.

que eso lo que sucede la gran mayoría de las veces, las empresas. no es que sea algo malo, pero normalmente solo utilizan el producto, el open source y listo. Pero el hecho de que algo sea open source significa que podemos aportar. Y esa parte, la verdad es que me encanta cómo donde estás ellos no solo se preocupan en utilizarlo, sino también en devolver a la comunidad. esto...

ha ayudado a a mejorarla

Recuerdo que me mencionabas algunas herramientas que yo las he utilizado.

y fueron creadas y fueron desarrolladas por parte de tu equipo, ¿no? Muy, muy, muy interesante. Algo que también me llamó la atención y me gustaría también mencionar cómo ha sido también un parte de mi experiencia con WordPress, porque se me vino a la mente ahorita que estabas hablando de decir, ¿por qué si ya tenés un WordPress y un CMS funcionando, por qué volverlo a hacer desde cero, por qué reinventar la rueda? Y es que debo confesar que mi primer acercamiento con WordPress

WordPress

fue a través de un cliente, me dijo ayúdame a darle mantenimiento a la página que ya existía y lo primero que vi fue WordPress, no le entendí y mi reacción como cualquier desarrollador junior fue no, hagámoslo desde cero. Por algún motivo el cliente aceptó, una persona de edad avanzada, pero esta persona era la que mantenía la página que era de noticias.

Douglas (16:34)
esa es la misma respuesta Juan, perdón, de cuando dice, mire que mi computadora está lenta, hay que formatearla. volverlo a hacer es como el equivalente, hay que formatear.

Juan (16:40)
Correcto, correcto.

Así es. sí, me estaba acordando de eso. A nivel personal me sirvió mucho porque aprendí muchas cosas sobre el desarrollo, porque al final del día tuve que rehacer la funcionalidad que ya tenía WordPress. Pero no era necesario para nada. Eso para mí fue hace bastantes años y...

Douglas (17:09)
Sí.

Juan (17:15)
Y esa fue como la impresión que yo tenía hasta hace algún tiempo, ¿no? Pero hoy en día es muy utilizado, como mencionaba, si nos estás platicando, es utilizada por grandes marcas. En tu opinión, que ya has estado involucrado al 100 % con todo esto, ¿qué nos podrías contar de por qué están usados, por qué se mantiene y por qué la gente lo prefiere, ¿no? Incluso...

empresas grandes que normalmente tendrían el dinero para pagarles a desarrolladores que hagan esto desde cero porque se van por WordPress.

Douglas (17:51)
Sí, buena pregunta Juan y fíjate que esto es algo en lo que he pensado desde que estaba en esta otra empresa y estaba encargado de estos 6, 8 sitios de WordPress que corrían todo en su propio servidorcito y a medida fui enriqueciendo mi conocimiento viendo la documentación de WordPress para instalar y correr WordPress

pude darme cuenta que WordPress es lo suficientemente simple como para que cualquier desarrollador o cualquier persona lo instale, baje un tema o un par de plugins y tenga su sitio web.

Claro, no es como esos sitios como Wix y esas otras plataformas que te lo genera rápido, ¿no? Recordemos que WordPress salió creo que en el 2003 o 2002, por ahí, si mal no recuerdo, y ese tipo de cosas antes no existían. Entonces, tener la oportunidad de que con un par de clics, instalar algo, bajar un tema, bajar dos, tres plugins para enviar un correo electrónico, para llenar un formulario y tener un sitio corriendo, era algo...

Juan (18:38)
jajaja

Douglas (19:02)
poderoso, verdad, y si el developer era lo suficientemente inteligente como para no darle permiso 777 el directorio tenía un sitio funcional entonces WordPress es lo suficientemente simple como para que cualquiera puede instalarlo y correrlo pero WordPress a la vez y esta es la parte interesante mira Juan, WordPress a la vez es lo suficientemente robusto

como para correr una aplicación enterprise en un ambiente de producción siguiendo todas las normas que necesites en producción, alta disponibilidad, cluster, niveles de caching, segmentar en diferentes capas o en diferentes layers.

WordPress tiene también el poder para correr a esa altura y tal vez más adelante puedo darte un par más de ejemplos, pero tiene un REST API al cual puedes hacerle llamados. Entonces, esa versatilidad hace que un freelancer se decida por WordPress porque no tiene que reinventar la rueda. Y quiero aclarar algo, no está malo que si estás aprendiendo, si sos una persona que está aprendiendo...

y queras hacer un blog o un CMS como parte de tu prueba, hacerlo. Es importante, te va a enriquecer mucho, te va a llevar al siguiente nivel, vas a entender cómo funciona. Entonces no estamos diciendo que eso es algo malo. Y si también al final decidís hacerlo para proyectos de producción, también se puede hacer. No, estamos diciendo que es algo malo. Pero cuando el tiempo es un factor, entonces un freelancer o una empresa pequeña que tiene varios proyectos, vas a escoger WordPress.

Juan (20:25)
claro.

Douglas (20:44)
pero también una empresa grande, un enterprise, un corporativo grande que necesita tener un editorial amplio, tal vez en diferentes ciudades o en diferentes países.

y un sitio estable, robusto para estar populando su contenido, también se va decidir por WordPress. Porque se va a brincar el espacio de desarrollar de cero un CMS y de estar manteniendo y estar pensando en parcias de seguridad, estar pensando en nuevos features. Porque eso es lo que ocurre, la gente no ve eso. Si vos haces tu propio CMS, tenés que estar pendiente de vos implementar seguridad y nuevos features que estás sacando la industria. Mientras que WordPress, la comunidad se encarga de estar así.

Juan (21:18)
Mm-hmm.

Douglas (21:27)
eso y vos solo tienes que estar actualizando. Entonces te brincas esa parte y una industria, una enterprise grande también se decide. eso entonces el hecho de que WordPress es fácil o complejo, si así lo querés, es lo que en mi opinión personal hace que WordPress haya sido tan adoptado desde el principio, verdad, y que hoy en día siga siendo el CMS más usado en todo el internet.

Juan (21:57)
Si, es un sistema completo que ya fue como dicen, battle tested ya ha sido probado por muchos ya sabes que funciona ya sabes que existen plugins que te pueden solucionar algún problema y si es necesario es posible crear plugins nuevos entonces definitivamente es una opción muy viable hoy en día de no por

no porque creamos que es algo del pasado o que ya está viejo, no, nada que ver, sí, totalmente, ¿no? Perdón, vamos a... Me gustaría mencionarte, algunos valores que hay por ahí, ¿no? Algunas estadísticas sobre WordPress, ya que mencionabas cómo está siendo utilizado y cómo es de robusto.

Douglas (22:32)
Sí.

Juan (22:50)
se dice por ahí que la gran mayoría de internet corre en PHP y es porque está siendo utilizado en WordPress aproximadamente un 43 % 43.5 % de los sitios web que existen en internet están hechos en WordPress esto nos habla mucho sobre la robustez que nos estaba diciendo y como muchos de estos sitios web no fueron creados ayer fueron creados hace mucho tiempo y siguen

funcionando nos vamos a topar con yo me he topado con sitios web que cuando ves los headers y ves la estética y ves muchas cosas te das cuenta que está hecho en wordpress aproximadamente esto serían 810 millones de sitios web que hay hasta la fecha es un número gigantesco que realmente te deja wow te deja pensando en cómo si creías que

que todo era CSS y HTML y sí, pero también por detrás está WordPress los CMS porque al final del día este es el enfoque de WordPress de los sitios web CMS aproximadamente el 62 % usan WordPress así que cuando escuchamos un CMS lo más probable es que se están refiriendo a y pues

Esto lo que nos dice es que PHP sigue siendo igual de relevante hoy en día a como lo era antes. Y sé que hay muchos...

Sé que hoy en día hay muchos haters sobre PHP, no sé por qué, la verdad, pero no. PHP sigue estando igual de vigente que antes. Son un par de datos, Consideradlas que se traduce a lo que vos ves en tu trabajo, o es más o es menos.

Douglas (24:42)
Sí.

No, Juan se traduce, sentido perfecto para mí que en mi día a día trabajo con WordPress por diferentes cosas. Estas estadísticas que nos estás dando, trato de medio estar un poco pendiente de ellas de nuevo porque trabajo en WordPress desde hace tres años. ⁓

Y como vos mencionabas, vuelve a PHP relevante. Entiendo por qué hay haters de PHP y es porque tal vez PHP es más enfocado para web únicamente, donde otros lenguajes tienen versatilidad para hacer otro tipo de cosas.

No que PHP no puedas hacer un CLI o no puedas hacer DevOps o no puedas hacer otro tipo de cosas. Pero realmente, pues si nadie más lo usa, qué lo vas a usar? Para eso, ¿no? Pero, en fin, para la web, el hecho de que WordPress sea el CMS más usado y que más de un tercio de la web esté utilizando WordPress, pone a PHP en el mapa. Nos guste o no nos guste.

Y la forma en que yo lo miro, Juan, es cómo las grandes corporaciones no sólo siguen manteniendo sus sitios que están en WordPress, sino que están lanzando constantemente y todo el tiempo cosas nuevas en WordPress. Mirad.

Los editoriales, por editoriales me refiero a periódicos, agencias de noticias, a revistas, ¿verdad? A estas empresas que se dedican ⁓ a transmitir información de forma escrita, los editoriales grandes, usan WordPress.

Juan (26:33)
periodico.

Douglas (26:49)
donde yo trabajo, se tiene clientes como Boston Magazine o Boston Globe y otros de los editoriales más grandes en Estados Unidos y fuera de Estados Unidos, ¿verdad? Que tienen sus sitios editoriales, sus sitios webs en WordPress. Y de nuevo, no son empresas que es que porque vienen manteniendo desde hace diez años su sitio en WordPress y ya no lo pueden sacar. Cuando sacan algo nuevo, también lo sacan en WordPress.

empresas como Microsoft, que también son clientes de Tenup y que yo personalmente trabajo manteniendo la infraestructura de los blogs de Microsoft, corren en WordPress, ¿verdad?

Juan (27:33)
que uno pensaría al

ser Microsoft utilizarían sus tecnologías, ¿no? .NET. Pero una cosa no quita la otra,

Douglas (27:39)
usarían .NET.

Una

cosa no tiene la otra y si vos entras a Microsoft.com y entras a la parte informativa, normal y eso va a ser la otra, tal vez su .net y otras cosas. Pero todos los blogs de Microsoft que se accesan desde Microsoft.com están en WordPress.

Empresas como Google hacen lo mismo. Uber, verdad. Uber tiene sus blogs, el blog de Uber, el Newsroom y otro montón de blogs y plataformas. Uber, que también le trabajo de manera directa, manteniendo la infraestructura que corre los blogs de Uber. Están en WordPress, verdad, están en WordPress. Y Uber tiene un editorial a nivel global.

Casi que vos entras de cualquier país y vos entras a uber.com plecablog y te va a redirigir a la página de tu país porque tiene editoriales en cada país, es global prácticamente. No recuerdo el dato de en cuántos países manejan ellos la editorial y tienen un proceso donde suben las notas y pasan por procesos de revisión interna y cambios hasta que están listos para ser publicados y WordPress tiene esa facilidad y resalta y brilla.

Juan (28:30)
Ok.

Mm-hmm.

Douglas (28:59)
en lo que son los editoriales. Y aquí puedo seguir mencionando empresas grandes, a las que yo... No que solo...

Teno, la empresa a cual trabajo tiene como cliente, sino que yo manejo su infraestructura. puedo decir Salesforce, GoDaddy, son grandes, que tienen sus blogs ahí. T-Mobile, Starbucks de Estados Unidos y de Canadá tienen ahí. La página del Nobel Prize está en WordPress.

Entonces esta información, esta estadística que vos nos diste de que WordPress es el más usado, la razón por la cual sigue siendo así, vuelvo al punto, no es solo porque los sitios viejos que ya están en WordPress toca mantenerlos, sino que porque todas estas empresas

siguen lanzando sus nuevas editoriales y sus nuevos sitios en WordPress porque ven el beneficio, el poder, la rapidez, mejora no solo a nivel de performance, de rendimiento y de optimización les funciona, sino que también sus flujos internos como editoriales se les facilita cuando trabajan en WordPress.

Juan (30:13)
si creo que va de la mano con el lo que todos escuchamos de utilizar la herramienta adecuado para el la solución adecuada para el problema adecuado en este caso pues sí tenés como mencionaba no ellos tienen tal vez parte de su sistema está en punto net está en en otros lenguajes o incluso en NextJS pero para los blogs lo manejan todo lo que es el cms lo manejan con con wordpress si es

muy muy interesante. Creo que nos ayuda también a ver que hay un lugar para todo. No es necesario, como decía, reinventar la rueda. Podemos reutilizar estos servicios para partes de nuestro sistema que hoy en día es más fácil que antes tener como seccionado que cuando llega a una una URL estamos utilizando una tecnología va a otra parte de la URL está utilizando otra tecnología. Hoy en día es más fácil, así que vale la pena sacarle provecho a todo eso.

Douglas (30:48)
Sí.

Gracias.

Juan (31:14)
La verdad es que muy interesante, en lo personal siempre me he topado con malos comentarios sobre WordPress. Yo ya no lo veía así, yo ya sabía que WordPress era una opción muy viable, sin embargo...

Para mí seguía siendo como una opción de pequeñas o medianas empresas. No lo veía como para manejar un tráfico tan alto o algo así. Sin embargo, como ya nos has comentado ahorita, sí es posible y sí lo hacen. De primera mano, sabes, lo has trabajado que se utiliza en lugares que tienen alta demanda y son muy resilientes.

Douglas (31:56)
Sí.

Juan (31:58)
no sé si nos pudieras comentar algunas cosas de un poquito más desde adentro, ¿cómo se logra esto? porque no sé si algunos conceptos que manejamos hoy en día como por ejemplo lo que son los microservicios y el caching

y todas estas cosas como se manejan en WordPress que van de la mano con lo que vemos en la industria hoy en día ¿no? ¿Cómo es en WordPress desde tu perspectiva?

Douglas (32:30)
Sí, creo que has tocado el punto clave, tal vez, al que va evolucionar esta conversación, Juan, porque es como de las críticas que se le hace a WordPress que no está de la mano con las aplicaciones modernas.

o no está de la mano, o no puede implementar conceptos modernos de desarrollo, no se puede implementar la cultura de DevOps alrededor de WordPress. La gente cree esas cosas y en realidad que eso no puede estar más alejado de la verdad. Cuestiones como microservicios no aplicarían en WordPress, ¿verdad?

vez esa parte hay que decirlo porque por el tipo de producto y solución que es WordPress que es para para editoriales y para páginas informativas no es no si bien es cierto se adapta mucho y se usa para

formulario de datos, ejemplo, algunos de los clientes y que tienen sus sitios muy fuertes y grandes son estos departamentos del gobierno de retiro en Estados Unidos, verdad, de las pensiones donde las personas en cada estado llevan sus pensiones y miran cuál ha sido sus aportaciones en las pensiones y cuánto va a ser su retiro, la pensión para su retiro. Muchos de estas empresas gubernamentales en Estados Unidos, sobre todo el lado de California, usan

nosotros les manejamos a muchos de ellos y ahí llevan ese tipo de datos, ellos van actualizando su información, su nueva dirección de correo y van viendo actualizado en tiempo real cuál es el aporte y ese tipo de cosas, pero por la naturaleza microservicios como tal sí no aplican a WordPress, ¿verdad? Pero todo lo demás, que tiene que ver con prácticas modernas, con cultura DevOps y este tipo de cosas...

no solo se pueden hacer funcionar en WordPress, sino que de hecho hacen, van de la mano y hacen que WordPress, su implementación sea más efectiva, más fácil, que mejora la colaboración. El mismo beneficio que te genera la cultura DevOps, el mismo beneficio que te genera conceptos nuevos de desarrollo en cualquier otra tecnología, también te los trae a WordPress. Y aquí te voy a dar un montón de ejemplos, Juan, y sentirte en la libertad de

de tal vez hacerme preguntas o si tenés algo que agregar, a medida voy hablando porque es bastante, voy a tratar de mencionar lo relevante, pero si me interesa esta parte Juan, que la gente pueda entender cuál es el alcance de WordPress y cómo WordPress puede participar de los conceptos y flujos modernos de desarrollo de software.

Juan (35:10)
Claro,

Douglas (35:24)
Uno de ellos sencillo, verdad, es que WordPress se separar, se puede segmentar. Estamos acostumbrados a ver un sitio de WordPress corriendo todo en el mismo servidor, PHP, Nginx, MySQL, instalado en todo el mismo servidor y funciona y te va a correr bien, ¿verdad?

Pero WordPress se puede separar en capas, puedes tener un layer o una capa de base de datos, puedes tener otra capa de caching, la capa de los web servers y eso te hace que escales a medida necesitas, si tenes mucho trafico en base de datos escala solo esa capa o si necesitas más, manejar más, request de usuario, incrementar la capa web, etc. ¿Verdad? Entonces...

Juan (36:07)
Cuando hablas

de una capa, te referís a, por ejemplo, sacar esa funcionalidad, por ejemplo, la base de datos, ponerla en otro servidor. OK.

Douglas (36:15)
Correcto. Correcto.

Y eso ha sido una verdad en monolítico siempre. A veces se ha tenido la concepción errónea de que monolítico es que todo ocurre en el mismo servidor. Y si bien es cierto, muchas veces es así, ¿verdad? Al final el monolítico se refiere más a la base del código.

Juan (36:21)
Sí.

Douglas (36:34)
que otra cosa, pero siempre has podido tener la base de datos afuera en una capa diferente, si tenes caching en otro lugar, los webservers en otros, e inclusive si tenes otro tipo de servidores que hagan otra función también en un layer separado. Y eso te permite escalar esas diferentes layers o esas diferentes capas a medida vas necesitando. Entonces con WordPress se puede hacer eso. Es algo simple, pero realmente que me he topado con mucha gente que no sabía que eso era una posibilidad en WordPress.

Juan (36:36)
Correcto.

Ok

Douglas (37:05)
Más allá de esto, esto aclara otra cosa que no parece que mucha gente no sabía y es que WordPress puede correr en cluster, ¿verdad? Que te trae no solo alta disponibilidad, pero también te permite manejar más tráfico de manera más efectiva. La escalabilidad horizontal tiene más beneficio sobre la escalabilidad vertical.

Juan (37:30)
Sí.

Douglas (37:31)
Y para

los que no sepan, escalar verticalmente significa agregarle más recursos a tu servidor. Tienes un servidor con 4 GB de RAM y empieza a ponerse lento por el tráfico, entonces le agregas 8 GB de RAM. Eso es, es un poquito más de procesador, más de disco duro y lo estás escalando verticalmente para que pueda soportar más tráfico. Pero también puedes escalar de manera horizontal.

Juan (37:44)
más procesador, más disco duro.

Douglas (37:56)
si lo haces en vez de un servidor de 4 GB, dos servidores de 4 GB. eso suele ser, no suele ser, es mucho más óptimo, ¿verdad? Pero para que eso sea así, tu aplicación tiene que tener la capacidad de manejar sesiones, porque los diferentes llamados, los diferentes requests, el primero va a ir a un servidor y le va a responder al usuario, el siguiente va a ir al otro servidor.

Y si no manejas las sesiones, el otro servidor lo va ver como una petición nueva y va a querer llevarte desde el principio. tu aplicación tiene que poder manejar sesiones y en WordPress es muy fácil correr en cluster para que pueda manejar las sesiones. ¿Verdad?

Juan (38:27)
Sí.

Douglas (38:40)
Y se configura en cluster y le puedes agregar, lo pones con Nginx y le pones a page caching que lo mencionamos en unos episodios anteriores, verdad que es esto donde Nginx si el contenido ya está generado y vos lo configuras así lo va a servir de caching en lugar de enviarle la petición a PHP y que en su secuencia PHP se lo envía a la base de datos, verdad. Cuando se configura en cluster y aquí esto son de las cosas que la gente dice sí, sí se puede pero es muy

lento porque no todo el mundo sabe hacerlo bien. Mucha gente comete el error de que instala WordPress en un archivo NFS, verdad, y para quienes no sepan, NFS es un tipo de file system que funciona por medio de red.

y que un servidor, ya sea un sistema operativo o un arreglo de disco central comparte el mismo disco duro entre diferentes servidores. Entonces lo que significa que cada vez que ocupa leer y escribir tiene que ir por la red, la petición, para ir a leer y escribir. Entonces cuando tenemos los servidores y se instala WordPress en el NFS se vuelve el rendimiento malo.

Lento, porque no es para eso.

Juan (40:01)
Me ha pasado.

Sí.

Douglas (40:02)
Sí, y eso es un error común.

Lo único que WordPress necesita compartir con todos los servidores que son parte del cluster es el directorio de Uploads. WordPress tiene una estructura de directorios, tiene un directorio que se llama WPEGionContent y ahí están tus temas, ahí tus plugins y otras cosas, y ahí está el directorio de Uploads, que cuando vas al administrador de WordPress y subes una imagen, se baja ese directorio. Solamente ese directorio es el que necesitas compartir en

los

demás servidores

WordPress tiene que estar instalado en el disco duro local de cada servidor para que el rendimiento sea más óptimo y se puede compartir a este director de uploads ya sea por NFS o por STREET que es el que de hecho se recomienda más para un mejor rendimiento hay plugins en WordPress que hacen que en lugar de mandarlo al director local lo manda un bucket de STREET de AWS entonces

esa es otra de las cosas en WordPress, puede correr como cluster.

Juan (41:08)
Me gustaría aprovechar, ahorita que han mencionado eso, mencionar que a veces este tipo de errores suceden porque desde mi punto de vista creo que a veces subestimamos no solamente WordPress, cualquier servicio o cualquier tecnología o solución, herramienta, como lo quieras decir, que aparenta ser muy fácil.

que como lo vemos que es muy fácil no nos tomamos el tiempo para leer la documentación, informarnos realmente cómo se deben hacer las cosas y realmente indagar cuáles son las buenas prácticas para este producto, esta herramienta en concreto porque lo que estabas mencionando a mí me pasó y recuerdo que mi problema fue que yo quería hacer uploads y conectarlo

Pero como no entendía muy bien cuál era la estructura de las carpetas y los folders de WordPress, terminé montando todo y de inmediato empezó a saber que todo corre mucho más lento y no es la forma. Pero sí, por eso me gustaría hacer el paréntesis que recordemos leer la documentación, recordemos informarnos de lo que realmente estamos utilizando, porque a veces eso es lo que pasa.

Douglas (42:29)
Sí,

me gusta que toques ese punto, verdad, porque a veces nuestra falta, y aquí lo quiero decir con contacto porque tal como te ha pasado a vos, me pasado a mí, y es que cuando no sabemos manejar algo o cuando hicimos mal algo, culpamos a la tecnología, verdad, ocupamos a la herramienta y fue nuestra falta.

muchas veces es justificado, no tengo el tiempo suficiente para dedicarle, pero al final del día fue mi culpa. Aquí voy a poner un ejemplo rapidito fuera de tecnología y es, yo tengo un carro en particular con una marca en particular que no lo voy a dar, pero la gente me decía, mire, ese carro da problemas con la caja, ¿verdad? Y también ese carro le falla a la doble, entonces...

Juan (43:15)
Ok.

Douglas (43:18)
yo ya había investigado y cuando voy al taller me dice la gente mire lo que ocurre es que este carro a la caja se le hace mantenimiento cada cierta cantidad de kilómetros y también a la parte de la doble ahí tienen ellos un aceite especial y también se le hace un mantenimiento una vez al año ¿qué ocurre? dice él como desde el dueño en Estados Unidos cuando se trabajó el carro acá la gente no sabe que se le hace mantenimiento nunca se lo hacen

y falla y la gente piensa que es un problema de que ese carro salió malo, es lo que la gente te dice, Entonces, pero si usted le hace sus mantenimientos al día, no le va fallar. Entonces, tengo varios años con el carro y me funciona sin problema porque el estado haciendo mantenimiento.

Juan (43:50)
Sí.

Douglas (44:06)
Y eso lo traigo a mi trabajo y lo traigo al mundo de tecnología, en el cual si estoy usando las cosas de manera incorrecta, no va a funcionar bien y entonces tomo la decisión de venir y decir, esto no sirve. Yo creo que cuando, si no tenemos el tiempo, hagamos, no emitamos juicio y digamos esto no sirve. Si yo no lo he, no he leído la documentación, me he asegurado bien.

Juan (44:16)
No funciona.

Douglas (44:34)
de que no sirve porque hay un par de cosas por ahí que en realidad no sirven mucho, Pero mientras yo no me he asegurado, mi respuesta y mi postura frente a ello tiene que ser no lo conozco lo suficiente como para usarlo, ¿verdad? Esa debería de ser mi respuesta. Y eso pasa con WordPress, ¿verdad? Cuando la gente lo quiere usar a escala.

quiere usar soluciones fáciles porque tal vez hay un tutorial facilito donde dice hay un tipo de servicios en Linux que te están replicando el disco duro de entre varios servidores y mucha gente usa ese y ahí instala WordPress y se encuentran tutoriales porque como con 25 pasos lo instalas y lo tenes corriendo y la gente dice ay, ya hice mi cluster, que bonito y luego ven... sí

Juan (45:20)
Aprende WordPress en 20 minutos. Te encontrás un

video.

Douglas (45:23)
Y luego

ves que el rendimiento es malo y decís, a WordPress no sirve. Y ponerte a pensar que tenés cada petición del usuario, activa WordPress Core, la instalación de WordPress, el director de WordPress, y para que pueda funcionar, tiene que ir por medio de la red a leer y escribir un archivo, ahí es hay un problema. ⁓

Juan (45:26)
Sí, ok.

Douglas (45:44)
Pero sí, esa es una idea de roña que tiene la gente y tal vez para avanzar aquí Juan.

Otra cosa con WordPress es que en la capa de base de datos puedes usar diferentes métodos de replicación. sea, no es que tienes que tener un solo servidor, puedes tener una replicación de master a master en MySQL o en MariaDB. O puedes tener master y diferentes replicas, que son replicas solo de lectura, y WordPress tiene diferentes plugins que le dicen, mirave, estos servidores aquí puedes leer y escribir.

aquí se solo leer. El que nosotros usamos mayormente y es el más recomendado es galera, un clóster de galera y se está replicando, pero al final el método que se prefiera, pero de nuevo eso hace que la base de datos no sea lo que se conoce como un punto único en el que pueda fallar la aplicación o como el single point of failure.

Juan (46:47)
Correcto.

Douglas (46:47)
porque la base de datos está replicada, de esa manera también puede escalar la base de datos y TAS tienes garantía, no solo tienes alta disponibilidad, pero también la puedes escalar cuando usas un método de replicación para la base de datos.

Juan (47:03)
No sé si es esto

que está relacionado o bueno si es otra cosa tal vez nos lo mencionan después. Recuerdo que una vez me mencionabas sobre cómo WordPress tiene varios procesos corriendo. No sé si estoy mal, que uno de ellos tal vez tiene que ver con el backup y podés ir eliminando procesos para ir minimizando el tiempo de respuesta en cada query o estoy confundiendo conceptos.

Douglas (47:32)
No,

que tal vez mezclaste un par de conceptos, pero me gusta que hagas la pregunta, fíjate Juan, porque algo que tiene WordPress es el WordPress Chrome, ¿verdad? Son Chrome jobs, porque en WordPress vos podés definir, vos tenés por ejemplo, personas que suscriben a tu newsletter, ¿verdad?

Juan (47:37)
Jajaja

Ajá.

Douglas (47:59)
y se suscriben por medio de tu página web y se crea la base de datos. Entonces vos tenés que todos los lunes mandé un resumen a todos tus suscriptores. Entonces WordPress tiene un cron job.

que está corriendo y cuando es lunes a la hora que vos le pusiste manda el correo a los usuarios ¿Verdad? O tenés un proceso, un plugin que hiciste específico para sincronizar información de ventas de otra base de datos, jalarla para WordPress ese inventario ¿Verdad? Y que luego se salga para ventas y eso lo tenés que correr cada 8 horas por ejemplo.

para que no esté pegado constantemente. Entonces, ese WordPress Chrome está pendiente, está viendo y a las ocho horas se ejecuta. Por defecto, el WordPress Chrome se activa en cada request. Quiere decir que si vos entras a tu página .com, por defecto WordPress activa el WordPress Chrome. Chequea que no hay nada, pero activó el WordPress Chrome. Luego le das click a especiales.

Juan (49:03)
Ahá

Douglas (49:08)
Y entonces cuando entras especiales se vuelve a activar el WordPress Chrome y eso es solo vos corriendo. agregales 10 usuarios, 20 usuarios, 100 usuarios. Entonces lo que se hace en estos escenarios, cuando tienes un sitio con alto tráfico, es que se deshabilita el WordPress Chrome.

y se mueve a un cron job fuera de WordPress. Normalmente con el cron tab de Linux, que es el servicio de Linux que corre los cron jobs, ejecutas el WordPress cron cada minuto o cada cinco minutos dependiendo tu comportamiento que tanto tiene tu sitio, lo ejecutamos de forma fuera de WordPress este servicio, estos cron.

Juan (49:33)
Ok.

Ya lo controlo yo

de mi lado, ya lo configuro como yo quiero. Y le quita, sí.

Douglas (49:52)
y le quitas esa carga en cada request

que está afectando el rendimiento de WordPress. Pero eso es parte de conocer WordPress, conocer cómo funciona. ¿Me entendés?

Juan (50:02)
Si, dudo

que muchas personas sepan sobre, al menos las que hemos seguido los tutoriales que hay por ahí los más normalitos no sabemos de ese tipo de optimizaciones que se le pueden hacer y me imagino que así hay muchas, así hay muchas optimizaciones

Douglas (50:20)
Sí,

sí, sí, así hay muchas optimizaciones y fíjate que una de ellas, es, y esto es otra cosa grande que tiene WordPress, que ha evolucionado, que es la parte de la búsqueda. WordPress tiene su texto, su área, su barra de búsqueda donde entre tus blogs o entre tus noticias vos buscas ponerle, no sé, DevOps y él va a filtrar, va a ir a buscar a la base de datos todas las noticias de DevOps y te las va a retornar.

Juan (50:32)
Sí.

Ok.

Douglas (50:50)
o vos pones ahí Juan Ramos y te va a buscar todo el Juan Ramos y te lo va a retornar. Cuando tenés 30 posts no te afecta mucho, y tal vez no tenés tanto tráfico. Pero imagínate un editorial grande.

que tiene cientos o miles de posts y tiene los mismos cientos o miles de usuarios, haciendo búsquedas, esa funcionalidad de WordPress, de Search, se volvía un cuello de botella grande para los sitios de WordPress. Y eso era de las principales funciones que mataba la base de datos. Pero esa búsqueda, Juan, esas búsquedas se pueden mover a Elasticsearch.

que es un tipo de base de datos que es más óptima, es más rápida para este tipo de cosas. Entonces WordPress tiene diferentes plugins donde puede mover este search, esta búsqueda, a que pase en Elasticsearch y no pase en la base de datos de WordPress. Por cierto, Tenup...

Juan (51:35)
ok

Douglas (51:57)
que sabe para cuál trabajo, ha desarrollado uno de los plugins más utilizados que hacen esta función que se llama ElasticPress, ¿verdad? E inclusive tienen un servicio pagado donde te pueden dar una instancia de Elastic Search optimizada que es más barata que la agarre en Elastic Search en la nube o que corras Elastic Search Boss en tu... como Open Search en AWS, ese tipo de cosas.

Juan (52:22)
Eso es.

Douglas (52:23)
y

está optimizada para eso. puedes usar el plugin y conectarlo con tu instancia propia. No tienes que usar el servicio pagado de TENOP que se llama ASIC Press IO, pero TENOP es de los desarrolladores de uno de los plugins más utilizados, pero vos podés mover.

las búsquedas y le quitas esa carga a la base de datos y pasa en ElasticPress de forma mucho más rápida, mucho más efectiva y no solo en las búsquedas, incluso a veces hay funcionalidades propias de tu sitio porque si esto es un plugin custom para algo y tiene una búsqueda pesada o fuerte en la base de datos por medio de este mismo plugin de ElasticPress o cualquiera de los otros plugins que hacen cosas similares vos puedes mover estos queries.

a que pasen en Elasticsearch y que no pasen en la base de datos y le quitas la carga a la base de datos. mira este tipo de funcionalidades que va dando, inclusive hoy en día ElasticPress, usas los servicios de ElasticPress IO, hasta tienen inteligencia artificial, donde al usuario en la búsqueda, directamente de Elasticsearch, por medio de ElasticPress IO, le está dando sugerencias de qué buscar.

Juan (53:28)
Ok

Douglas (53:38)
con inteligencia artificial, ¿verdad? Y todo eso pasa en un layer de Elasticsearch que está más optimizado para búsquedas comparado con MySQL o MariaDB. Y de nuevo, vuelve tu sitio que vuela, vuelve tu sitio más óptimo porque la base de datos no tiene esa carga. Porque si la base de datos en WordPress se te cae o si perdés la conectividad a la base de datos, entonces el sitio se te cayó por completo, ¿no? Y es de la...

Juan (53:51)
y

Douglas (54:08)
de los componentes más importantes en una instalación de WordPress.

Juan (54:13)
que eso es lo que me llama la atención de WordPress y lo que me parece increíble, ¿no? Que te dan todo para iniciar, te dan el paquete completo con WordPress y no necesitas preocuparte de casi nada. Pero a medida tu sitio, tu aplicación, tu e-commerce va evolucionando.

WordPress también te permite continuar ahí y solo es de entender cómo funciona e ir optimizando. Al menos eso es que voy captando de todos estos pequeños tips que nos estás dando. Es que WordPress nos permite ir escalando junto con él.

Douglas (54:43)
Mm-hmm.

Sí, exactamente. Recordar la perspectiva con la que inicié. es que WordPress es tan simple como para que cualquiera lo ponga correr rápido, ¿verdad? Pero tan robusto como para permitir escalabilidad a nivel enterprise. Y hasta el momento te he mencionado un nivel de escalabilidad de WordPress donde yo sé que la mayoría de personas que sólo han instalado todo en un servidor probablemente no sabían que existía, ¿verdad?

Juan (55:21)
Sí.

Douglas (55:23)
WordPress.

bueno, Juan, hay muchas cosas más. ejemplo, Object Catching. También WordPress tiene plugins. Plugins es el que extiende la funcionalidad de WordPress. Por eso digo plugins. Así funciona WordPress.

Juan (55:31)
⁓ ok, ok

sí, es el lenguaje que se maneja dentro de WordPress plugins.

Douglas (55:47)
Sí,

es lo que extiende la funcionalidad, correcto. Entonces se maneja como plugins, pero que te permiten la implementación de Object Caching, que en episodios anteriores lo he explicado, que son estos llamados a la base de datos, ¿verdad? Y se retorna un, se hace un query y regresa el resultado y ese query lo va a usar, ya sea el mismo usuario u otros usuarios, ese queda guardado en Object Caching, ya sea en Redis o Memcache, que son los más usados en WordPress.

también verdad y la siguiente vez se va a jalar de cash en lugar de volver a ir a la base de datos de nuevo estamos cuidando el rendimiento del sitio web vos no mencionaba me acuerdo en ese momento que que a veces lo que un usuario hace se pueden beneficiar todos los demás usuarios verdad y WordPress te permite implementar eso fácilmente con object caching y de hecho en WordPress es tan simple como instalar el plugin

y ponerle una configuración para conectar los redis y ya lo tenés listo, ¿verdad?

ya lo tenés listo. Obviamente para soluciones grandes un programador se asegura de que guarda en cache y que no guarda en cache vos nos decías que si no sabes usar cache de manera óptima en realidad tenés mas problemas que lo que estas queriendo solucionar y todo esto lo puedes hacer en WordPress, Escojer que es lo que guardas, que es lo que no guardas para tener ese rendimiento pero WordPress te permite instalar e implementar, perdón, Object Cache

Juan (57:00)
claro.

Sí, sí.

Douglas (57:21)
en tu configuración de nuevo cuidando el rendimiento. Otras cosas que la gente también creo yo que se pierde Juan, o que creen que WordPress si no tiene eso y que es la implementación de la cultura DevOps, la implementación de pipelines, de CI-CD, verdad, a veces se cree que como cuando ves un tutorial de instalar WordPress, ¿qué es lo que has visto? ¿Copias el directorio o bajas WordPress?

te bajas la URL y le das WordPress pleca install, o tu sitio web pleca install o la IP de tu VPS pleca install y ahí empiezas a poner la base de datos de manera manual todo ¿verdad?

Juan (57:59)
Sí.

que ese era uno de mis, ⁓ ¿cómo decirlo? ⁓ algo que me incomodaba de WordPress porque al menos lo que yo entendía es que esa era la única forma y en mi mente era, ok, ¿cómo puedo tener todo esto replicable? ¿Cómo puedo lanzar esto mismo en otro ambiente de testing? Este, diferentes ambientes, ¿no? Que no sea producción. Y luego decía yo, ¿cómo puedo volver a levantar esta misma infraestructura que ya tenía creada?

con todas las mismas configuraciones porque sí, los backups funcionan pero no sé, al menos para mí eso era muy incómodo de WordPress.

Douglas (58:43)
Sí,

de nuevo porque los tutoriales en línea y qué bueno, no estoy criticando esos tutoriales, ¿verdad? Qué bueno por ellos han ayudado a mucha gente, sí, han ayudado a mucha gente y yo estoy en esa lista de personas que se beneficiaron en su momento de ellos, ¿verdad? No los estoy criticando. Sin embargo, mi punto es decirle a la gente que WordPress va más allá, pero mucho más allá. Tiene un CLI, WordPress, ¿verdad? Se llama el WPCLI.

Juan (58:51)
Sí. Qué bueno que existen.

Douglas (59:13)
WPCLI, que todo lo que ejecutaste desde el administrador, desde la instalación, actualización, hasta otras funcionalidades, los puedes hacer desde el WPCLI. Entonces, inmediatamente eso te deja automatizar procesos.

si quieres actualizar WordPress, si quieres actualizar otras funcionalidades, si quieres cambiar funcionalidades o settings dentro del admin y vos tenés 8 servidores, no tenés que ir uno por uno al admin a hacerlo, podés automatizar este proceso utilizando WPC Lite, como lo hace la industria.

Juan (59:49)
No.

Douglas (59:55)
con cualquier otro tipo de aplicación. Aparte de esto, instalar dependencias, instalar plugins, los puedes hacer desde el admin si tenés un servidor, ¿verdad? Pero si vos tenés un cluster y vos te vas al admin a instalar un plugin, ese plugin se va a instalar solamente en el servidor donde cayó tu request, los demás servidores no se van a instalar.

A menos que tal vez lo tenga por NFS compartido todo el director de WP Content que de nuevo no es recomendado, solo es upload el que deberían de compartir por NFS, idealmente es 3. Pero entonces se usa Composer que es un manejador de paquetes de PHP. Para quienes no sepan que no lo han utilizado es muy parecido al package.json de Node.

Juan (1:00:38)
Sí.

Douglas (1:00:45)
¿verdad? donde ahí pones que paquetes querés y que dependencias y corres npm install y te las baja y te las descarga Composer es lo mismo para PHP es como la npm de PHP, correcto, si lo queremos ver de esa manera, con Composer instalamos los plugins entonces ¿qué ocurre? hay un proceso en CI que corre un proceso de build

Juan (1:00:55)
Sí. Composer es como el NPM de PHP.

Douglas (1:01:15)
en CI CD e instala las dependencias con Composer porque no se publica esa otra, o sea, quien lo haga no está mal, pero de nuevo, como estamos tratando de desmentir a la gente que piensa que WordPress no puede implementar prácticas modernas, no se guarda en tu repositorio el tema ya generado, guarda solamente el código fuente. Y en CI CD...

ejecuta los diferentes comandos, Composer para instalar las dependencias, cualquier otro comando, muchas veces los temas también hay que bajarles, NPM install también, módulos de node, para hacer el build. Entonces haces todo el build en CI-CD y va a instalar y te va a generar lo que es prácticamente el contenido del directorio, doble-peg y un content. ¿Verdad?

Juan (1:02:06)
Ok.

Douglas (1:02:07)
te lo

genera, va a crear tus plugins, tus temas y todo lo que vos tenés y te lo va a empaquetar en el WP Content y luego con tu CI-CD eso se va publicar a tus servidores si son servidores máquinas virtuales o a contenedores si lo tenés como contenedores que también voy a hablar de eso un poquito más adelante. Puedes implementar Juan Unit Testing o el tipo de testing que vos querrás en un Pipeline.

para que escanee tu código, para que haga las pruebas correctas y si todo está bien, haga la publicación inmediata de tu código o te mando un reporte. Entonces, todo lo que tiene que ver trabajar con Git, Pull Request o Merge Request, dependiendo con qué plataforma trabajas, todo este mismo flujo que usas para cualquier otro tipo de aplicación se hace en WordPress. Si estás trabajando un sitio freelancer solo, yo te recomiendo que lo hagas de esa manera.

Juan (1:02:49)
Ok.

Douglas (1:03:08)
te va a traer beneficios a la larga, es más rápido, más organizado, tenés todo tu todo tu cambio, tu historial de cambios en código porque es lo que vos decías, lo que te incomodaba, te preocupaba de que de que sí tengo que restaurar un backup pero asegurarme y si olvido una configuración, si olvido esto, si olvido lo otro, no pasa, verdad, si lo tenés todo como código ahí está el historial.

Juan (1:03:29)
Sí y que...

y que ok en el primer sitio web está bien lo hacemos todo lo que mencionaba click ops dar click aquí dar click allá pero ya cuando vas por el tercer sitio web ya es muy incómodo muy incómodo porque son cosas que ya hiciste antes se van a repetir y que si algo sucede

Douglas (1:03:46)
Sí.

Juan (1:03:54)
Al menos eso me pasó a mí. Hice algo mal, hice algo malo en la configuración y se arruinó la instancia. Entonces me tocó volver a hacer eso. Entonces eran tres sitios web pero terminé haciéndolo como cinco, seis veces.

Douglas (1:04:11)
Sí,

y se vuelven lo que decía, veces esas malas experiencias mías y esa falta de conocimiento que no estoy criticando la falta de conocimiento. Todos comenzamos así y yo creo que inicié mi discurso diciendo que yo estaba en la lista de personas que eran haters de WordPress, ¿verdad? Como para sentar un precedente. Pero esa falta de conocimiento que no es mala, no comentamos el error de venir y decir que la tecnología o la herramienta no es buena. Perdón.

Juan (1:04:40)
Sí, sí, sí.

Douglas (1:04:41)
Pero

sí, de nuevo, mira CLI, CI, CI-DE, Build Process, Package Manager, Testings, lo que se te ocurra está para WordPress. De hecho vos mencionabas de las contribuciones que yo he hecho Open Source para WordPress son dos GitHub Actions. Una es para escanear sitios de WordPress, escanear tus plugins, asegurarte que no está instalando un plugins que está vulnerable, una versión que es vulnerable.

verdad y si plugin está vulnerable te va a tirar un mensaje y no te deja publicar a menos que vuelve que harás un bypass verdad también otra otra otra de las acciones que trabajes para publicar a una plataforma de hosting de WordPress que se llama Pantheon entonces de nuevo todo parte de CI CD entonces no caigamos en esa en esa

Juan (1:05:16)
Ok.

Douglas (1:05:34)
creencia de que no es posible porque de hecho se trabaja muy bien, muy ordenado, muy productivo WordPress siguiendo la cultura DevOps. Para avanzar Juan, porque es bastante ¿no? Y yo creo que la gente no se esperaba que hubiese tanto en WordPress, pero fácil para implementarle CDN, WAF ¿verdad?

porque se conocen, al ser algo tan utilizado y tan abierto, se conocen vulnerabilidades comunes y hay que asegurarse de protegerlas, ¿verdad? Pero también al conocerlas es fácil saber qué directorios o qué endpoints o qué paths hay que proteger, cómo configurar el caching, esto que te mencionaba de que si vos usas S3 para el director de uploads, hay servicios como Cloudflare, a mí me encanta Cloudflare y lo recomiendo

mucho

para WordPress ellos tienen un equivalente a S3, sea que se llama Object Storage, verdad que se llama R2 y si vos creas un bucket de R2 con Cloudflare te deja linkearle un dominio a tu bucket, verdad entonces si tu sitio es ejemplo.com entonces vos puedes crear un bucket y que esté linkeado a CDN. ejemplo.com, verdad.

Juan (1:06:37)
Ok.

Douglas (1:06:56)
Y entonces, inmediatamente con el plugin que te conecta WordPress con el bucket de R2, te está generando todos los links de las imágenes que subiste al admin, te está generando los links a que sean llamados no desde ejemplos.com pleca AWP Content, sino que desde CDN.ejemplo.com.

Juan (1:07:16)
jaja

Douglas (1:07:19)
y le estás quitando el tráfico de servir imágenes a tu sitio de WordPress y se va directo al bucket donde lo subió. Entonces no solo te sirvió para compartir los archivos entre todas las instancias del cluster, sino que también te está quitando el tráfico de que esté llegando a tu cluster y está mandando la carga directamente al bucket. Y esto es una integración fácil que se hace con Cloudflare.

Pero sí, es fácil implementar CDN, WAF y todas estas diferentes políticas que ocurren al Edge sin ningún problema. Otra de la grande, es que WordPress funciona muy bien en contenedores. Funciona perfectamente en contenedores.

Juan (1:08:06)
Sí.

Douglas (1:08:10)
donde trabajo aquí en Tenup, muchos clientes o están en plataforma de hosting que se le dice manage hosting o es un hosting administrado que ya...

como WordPress VIP, WordPress Engine, GoDaddy tiene sus plataformas que ya te dan WordPress fácil, hay otra que se llama Pagely que es de las usadas, que es de GoDaddy también hoy, GoDaddy la adquirió, Pantheon esta otra que te mencionaba, muchas usan estas plataformas, verdad, estas plataformas en sus back-end son contenedores, la mayoría de ellas, Pagely no es contenedores.

son máquinas virtuales, pero las demás funcionan con contenedores. Y todas las instancias que nosotros administramos, nosotros creamos infraestructura y que nosotros mantenemos, corren en Kubernetes. Corren en Kubernetes con servidores y de nuevo todos los estándares. En Kubernetes se publican con Helm.

Juan (1:09:05)
Ok.

Douglas (1:09:12)
Y el Helm Chart también es propietario de Tenup, pero es público, es público, es open source. Y este te publica WordPress, crea en cada pod, porque en WordPress, en Kubernetes, perdón, la unidad mínima es un pod. No es un contenedor, es un pod. Y un pod normalmente tiene solo un contenedor, pero puede tener más de un contenedor a veces, ¿verdad? Entonces aquí se crean dos contenedores por pod.

Juan (1:09:28)
Ok.

Douglas (1:09:39)
Uno con Nginx para que sirva el contenido estático porque lo hemos mencionado antes. Nginx es diseñado para servir contenido estático y otro con PHP para manejar los procesamientos de WordPress. En Kubernetes corre perfectamente lo que te decía de los run jobs, ¿verdad?

corre aparte con tenadores que no reciben tráfico web, que están corriendo con cronjob, el cron de WordPress, ¿verdad? Fuera de ahí. Y si tenés otra funcionalidad y querés agregar más cronjob, fácilmente se van agregando pods a Kubernetes para que vayan corriendo de esa manera. Hay un pod de servicio.

que es un pod que se usa para correr, se ocupa correr comando del CLI o de troubleshooting, no ver cosas, es un pod que no está recibiendo tráfico web tampoco, verdad, está conectado a la misma base de datos, es parte del mismo sitio, pero no recibe tráfico web, entonces ahí puedo hacer pruebas y puedo hacer troubleshooting y todos los otros beneficios que tiene WordPress, Ingress, te crea tu Ingress record, te crea tu DNS y todo esos beneficios de WordPress, de Kubernetes, perdón, verdad, que esa es esa es la, grande de Kubernetes.

Juan (1:10:48)
Mm-hmm.

Douglas (1:10:52)
que vos mandas a deployar algo y él te creó el off balancer en AWS, te creó el Ingress Record, te creó el certificado de seguridad, te creó el récord de DNS, te creó alertas, dependiendo de cómo tengas configurado tu Kubernetes, él te hace todo.

Juan (1:11:03)
Sí.

Douglas (1:11:10)
WordPress corre perfectamente en Kubernetes y lo mandas a deployar y te beneficias de todas estas cosas que tiene Kubernetes. También he corrido WordPress en Docker Swarm.

Juan (1:11:26)
Ok,

en su arm.

Douglas (1:11:27)
en Docker Swarm

y lo he corrido muy bien. hecho, uno de los clientes grandes, y yo puedo mencionar los clientes abiertamente, detalles de su tecnología como tal, no es correcto mencionarlos. Entonces, en ese sentido ahí no doy nombre, pero uno de los clientes grandes en algún momento tenía sus blogs de WordPress y corrían en Docker Swarm, ¿verdad?

Juan (1:11:40)
Claro,

Douglas (1:11:50)
para quienes creen que también DockerSwap no sirve, tiene su función también y funcionaba muy bien.

Juan (1:11:56)
vos que tenías que estar al tanto

de esto era más fácil en Kubernetes, supongo ya que conoces Kubernetes

Douglas (1:12:03)
Sí,

Ese es el punto, ya que conozco Kubernetes, ¿verdad?

Juan (1:12:08)
Sí, porque hay que admitir que Kubernetes

es bastante intimidante al inicio. Tiene tantas funcionalidades que es muy fácil perderse y es bastante abrumador. Tiene muchas cosas.

Douglas (1:12:14)
Sí.

Sí, y si te fijas, le he ido poniendo complejidad a todo lo que puede tener WordPress y estoy poniendo Kubernetes en un punto en el que es para personas que tienen la experiencia de manejarlo, ⁓ ya contenedores que tienen la experiencia, pero que tal vez estas personas...

Juan (1:12:29)
Eso es todo.

Douglas (1:12:39)
Tienen bastante experiencia ahí, pero al no conocer WordPress piensan, no quiero WordPress porque no va correr en mis clusters de Kubernetes, ¿verdad? Y no trabajamos. Yo no quiero estar manejando máquinas virtuales por separadas y cometen ese error, ¿verdad? Y estoy aclarando, WordPress es tan poderoso de que se adapta sin ningún problema a correr en ambientes de contenedores orquestrados como Kubernetes o como Docker Swarm.

Juan (1:13:08)
Sí, creo que lo que podemos ir captando, los que estamos escuchándote, es que, o al menos esta es mi reflexión aquí, es que WordPress se adapta a nuestras necesidades y a nuestras capacidades.

Douglas (1:13:22)
Mm-hmm.

Juan (1:13:24)
porque mencionabas, ok, contenedores, yo he utilizado WordPress con contenedores pero de manera muy básica donde yo utilizo la imagen oficial y le voy agregando ciertas variables de entorno y luego sobre eso ya yo edito el UI no tenía el conocimiento de los comandos que se pueden hacer así que asumo

Y esto lo que yo quería hacer en cierto momento. Es crear todo el Docker image, perdón, el Docker file, donde ya tenés todas estas instrucciones establecidas. Y esto me va a permitir a mí poder subir esta imagen a mi repositorio, a mi registry, y luego esto lo puedo deployar en cualquier ambiente, ¿no? En un ambiente de testing, tiene todo lo que yo quiero que tenga. Y luego en el ambiente de producción, sería lo mismo que el testing, pero conectado a otra vasera.

datos conectado a otros servidores de caching y etcétera así que incluso lo que mencionabas anteriormente de tener varios contenedores contenedor que me permite a mí hacer de servicio lo cual eso me vuela la cabeza porque me parece una solución tan increíble el hecho de tener una podríamos decir como una réplica no que está por fuera del tráfico

Douglas (1:14:46)
Sí.

Juan (1:14:47)
Y esta me permite a mí poder trabajar a mí de manera sin afectar el tráfico de los clientes y poder realizar otras operaciones. me parece increíble. Así que creo que el que quiera indagar en WordPress, creo que esta ha sido una masterclass de tu parte. Pero sí, muy interesante el tema de los contenedores, como te mencionaba.

lo he hecho de manera básica pero veo que el cielo es el límite con WordPress, te puede hacer de todo, puede adaptarse a lo que yo sé y puede ir creciendo. Claro, como mencionábamos antes, si no aplicas bien los conceptos se puede descarrilar todo.

Douglas (1:15:26)
Sí.

Sí,

o si no ocupas una de estas funcionalidades, ejemplo, digamos, ElasticPress, esta función que te permite este plugin que te permite mover los search a Elasticsearch. Si no tenés tanto search en tu sitio...

Juan (1:15:42)
también.

Douglas (1:15:55)
no lo implementes. ¿Para qué vas a agregar la complejidad de manejar un cluster de Elasticsearch o un servidor de Elasticsearch para una funcionalidad que es poco usada en tus sitios? Entonces, esto que nos lleve a mantener un balance, ¿verdad? Pero la intención de esta charla es que la gente sepa...

Juan (1:15:56)
Sí.

Mm-hmm.

Douglas (1:16:18)
el poder de Warpress. Y fíjate que tengo una funcionalidad más de Warpress que me gustaría tocar, Juan, y no quisiera que cerremos el episodio y no mencionarla. Entonces, si te parece...

Juan (1:16:34)
Me gustaría, antes de que pases a eso, tengo una pregunta pendiente y quería hacértela. En tu experiencia, por lo que ves, en cómo trabajas, al menos tu perspectiva de dónde trabajas, ¿cuál consideras que es lo que más se suele hacer? ¿Crear plugins o utilizar los que ya existen? Me imagino que...

Douglas (1:16:38)
¿OK? Sí, sí.

Juan (1:17:01)
como de nuevo voy, en lo que vos manejás podés notar como hay un tipo de desarrollo que puede, que sea modificar o crear plugins y los hacen a su medida, pero también estoy seguro que solamente utilizan otros plugins. ¿Cuál sería el porcentaje desde tu perspectiva? ¿Qué es lo que más se suele hacer? Ojo, aclaro, estamos hablando aquí en un nivel de escalabilidad muy alto con alta disponibilidad.

Douglas (1:17:31)
Sí, fíjate que me gusta esa pregunta, me gusta bastante, de hecho. Mira, la respuesta corta es que se usan más los plugins que ya existen para funcionalidades comunes. ¿A qué voy con esto? Es muy común crear formularios en tu sitio web, para el contact form o cualquier otro tipo formularios y hay una lista pequeña

Juan (1:17:41)
Ok, ok.

Douglas (1:18:00)
de plugins súper utilizados por la industria, verdad, los más adoptados por la industria y esto es importante, por eso estoy haciendo el comentario, que los sitios solamente utilizan ese plugin, no se ponen a desarrollar otro para hacer formularios, pero tampoco te utilizan cualquiera, te utilizan plugins que son bien mantenidos por la comunidad, vengan administrados y que la industria los ha adoptado. Si quieres hacer una funcionalidad que te haga...

Juan (1:18:04)
jeje

Ok.

Douglas (1:18:28)
indexar sitio para SEO. Hay un plugin que es el más utilizado por la industria y ese es el que se utiliza. De hecho, cosas que se hacen común y seguido en WordPress, ha llevado a las diferentes comunidades a crear sus plugins. Los plugins que ha creado Oteno, tiene uno por ejemplo que maneja redirects.

Juan (1:18:46)
Ok.

Douglas (1:18:52)
redireccionar tráfico porque muchos programadores no lo saben hacer a nivel de web server entonces lo hacen en WordPress y era tan utilizado pero no había algo sólido que creo uno y hay otros dos tres más por ahí que ya están esos plugins mantenidos ya en la industria y quien quiere hacer un redirect usa ese plugin quieren hacer SSO verdad? Single Sign On

Juan (1:19:18)
Sí.

Douglas (1:19:18)
hay dos o tres plugins

bien utilizados en la industria que se agarran y se adaptan y eso se usa ¿Verdad? ¿En qué momento se desarrolla un plugin? Cuando es una funcionalidad personalizada para tu sitio ¿Verdad? No hay...

Juan (1:19:34)
cuando es algo muy

específico.

Douglas (1:19:36)
Es específico, tenés que sindicar contenido de un sistema interno, tenés que generar un tipo de información o cosas en particular, tenés que generar un reporte para el cliente, tenés que conectarte con un servicio externo el cual no tiene compatibilidad previa, en ese momento se crea un plugin. Todos los sitios, absolutamente todos, llevan mínimo un plugin personalizado.

porque cada cliente tiene su partecita, y eso lo que voy. No he visto hasta el momento un sitio que hemos hecho que no lleve un plugin personalizado para mantenerlo, y obviamente todos llevan el tema que sí es personalizado para el cliente, pero ese es el momento en que se hace plugin, cuando es para las funcionalidades personalizadas de tu sitio o el cliente esas funciones, esas necesidades únicas.

Juan (1:20:20)
Ok.

Douglas (1:20:35)
Pero quiero recalcar, los plugins que se usan para cosas comunes son bien adoptados por la industria porque si quieres buscar un plugin de formularios te vas a encontrar con cientos o miles y la mitad o más van a ser buenos, ¿verdad? Pero yo te sugiero no te compliques, andate con los más usados porque esos van a mantener el soporte, van a mantener compatibilidad y al final del día quieres hacer eso, pero esa es.

Juan (1:20:45)
Sí.

ya fueron probados

por otras personas también.

Douglas (1:21:04)
Ya

son probados, son mantenidos y como lo usa tanto la industria generan reportes de bugs seguido, reportes de vulnerabilidades y se van parcheando de manera seguida, entonces esa es la razón. Usas un plugin que te gustó mucho, que sí está bonito y todo, pero que el que lo mantiene lo toca tres veces al año.

y tienes una vulnerabilidad grande, no lo vas a poder usar, ¿no? No querés verte en esa necesidad.

Juan (1:21:33)
que sí

qué curioso entonces quiere decir que perfectamente un desarrollador puede hacer carrera junto con WordPress así como hay gente que hace carrera con Laravel y react no con frameworks específicos perfectamente yo puedo especializarme en WordPress y dedicarme a entender todos estos funcionalidades internas y crear plugins ya sea para venderlos o para crear

plugins como decía, muy específicos para un usuario o varios usuarios. De entrada, de nuevo perdón, me llama la atención como WordPress es tan grande y hay tantas cosas que desconocemos, personas como yo, que tal vez no estamos tan al tanto de su mundo.

Douglas (1:22:27)
Sí,

y fíjate que eso que decir de hacer carrera en WordPress, no que estoy incentivando a nadie que busque aprender WordPress para hacer carrera, por favor cada quien tome el rubro que quiera, la intención de esta charla es para hacerles ver que WordPress sigue siendo relevante, que no va dejar de ser relevante en los próximos años, verdad, y que tiene el poder necesario para seguir las prácticas modernas, pero...

No solo puedes hacer carrera con WordPress haciendo temas y plugins, verdad? Y para luego venderlos porque es una funcionalidad útil, pero también al ser muy utilizado hay gente que necesita programadores con experiencia en WordPress y por ahí sale un poco de controversia en línea porque hay muchos lugares donde buscan... El puesto de trabajo dice WordPress Developer y la gente se molesta, verdad? Porque dice...

Juan (1:23:23)
se rasgan las de

vestiduras

Douglas (1:23:25)
Sí, se rasca en las vestiduras y se postran en el suelo porque

decimos que que developer es para un lenguaje de programación y estoy de acuerdo, estoy de acuerdo, no voy a discrepar en eso en particular, lo digo porque a veces nos cerramos en un concepto y nos dejamos de ver la visión por encerrarnos en un tecnicismo.

Juan (1:23:40)
Sí. ⁓

Douglas (1:23:53)
la mayoría de estas personas nos las mire molestas cuando dicen un React Developer. Por ejemplo, cuando React es un framework y lo que tienes que conocer es JavaScript, ¿verdad? Porque dicen incluso Node.js y Node.js es el Engine que hace que JavaScript pueda correr como backend, en realidad. Entonces, si nos queremos ir técnicos, tampoco pediríamos un Node.js Developer, Diríamos un JavaScript Developer.

Juan (1:24:00)
Correcto.

JavaScript Developer.

Sí.

Douglas (1:24:21)
porque es el lenguaje nativo. también, a algunas gente si también les molesta el término React Developer, pero mucha gente que tal vez critica el término WordPress Developer, no critica el término React Developer. O tal vez hay tecnologías y soluciones como Salesforce, que ellos tienen su suite de diferentes soluciones y te va a salir ahí Salesforce Developer. ¿Verdad?

Juan (1:24:38)
jajaja

Douglas (1:24:44)
Lo que esto en realidad está diciendo es que quieren un programador que tenga conocimiento y experiencia previa en estas áreas. Según una empresa te dicen, WordPress Developer, quieren un programador de PHP.

Juan (1:24:51)
Correcto.

Douglas (1:24:57)
o tal vez de front-end, porque sí va a ser la parte de front-end en WordPress, pero que ya sepa cómo funciona WordPress. Y esto vuelve a cerrar el círculo con la conversación de DevOps Engineer, y quien se molesta porque DevOps es la cultura y no el puesto.

Juan (1:25:12)
jajajaja

Douglas (1:25:16)
es real, sí, es cierto, pero que ese tipo de cosas no nos marquen o nos ofenda. Si sabes WordPress, tenés experiencia en WordPress y hay en algún lugar un puesto que dice WordPress Developer, aplica A. Y cuando te pregunten, y si te quedas con el puesto y te pregunten, ¿de qué sos? WordPress Developer, porque ese ⁓ es mi título de trabajo. Sí.

Juan (1:25:30)
Claro.

Eso es que dice mi puesto. Sí, yo opino

similar a lo que hemos mencionado. Yo lo veo más como, hablando, ¿no? React Developer, WordPress Developer. Yo lo veo más como una especialidad. Así como está el médico general y luego hay un dermatólogo que se especializa en algo.

considero que hay personas que nos especializamos en algo. Yo me he especializado, sí, en un lenguaje, pero también dentro del lenguaje me he especializado con ciertas librerías, ciertas herramientas. Si me cambias esas librerías, esas herramientas, probablemente no voy a estar tan perdido, pero sí me toca volver a revisar algunos conceptos, algunos términos. Yo lo único que...

que le recomendaría a alguien que tenga ese título, ¿no? React Developer, WordPress Developer, es que nunca se olviden de ver otras alternativas. Porque ¿qué pasa si el día de mañana, Dios no lo quiera, pero si el día de mañana?

ya no pueden ejercer ese título. Veamos lo que estaba pasando con WordPress, con toda la polémica que hubo, con WP Engine y todas estas cosas. Fue un momento, me imagino, un poco complicado para las personas que estaban especializados con WordPress. que nunca está de más especializarte, pero tener el conocimiento de que otras alternativas hay por afuera. Eso es lo único que yo podría recomendarle a las personas. La especialidad no está mal.

Douglas (1:27:11)
Sí, sí, y es simplemente tener mente abierta y uno comprender, sea, no ser, no discutir por terminología, ¿verdad? No discutir por cosas de forma. La esencia así no puede cambiar, el núcleo, la base. Si vas a ir hacer WordPress y no lo vas a hacer, lo van a hacer con clickups y un montón de cosas, agarrar trabajo.

Juan (1:27:22)
Sí.

Douglas (1:27:39)
Si lo necesitas, no... Yo no voy a criticar a nadie que haga ningún tipo de trabajo, ¿verdad? O voy a evitar hacerlo. Trato de tener mucho cuidado en eso. Pero tal vez, de un tipo de trabajo así, si buscas evolucionar y moverte, ¿no? Pero, ¿por qué nombre le ponen en la empresa en la que estás? No hay ningún problema. Mientras la mentalidad, como vos dijiste, y estoy de acuerdo con vos, Juan, es... seguís evolucionando.

Juan (1:27:52)
Sí.

Douglas (1:28:02)
sos un WordPress developer en tu trabajo pero en tu tiempo libre estas estudiando otras tecnologías, otros lenguajes, otros conceptos, tenes freelance en otras áreas, etc. Yo no me considero un WordPress y Salmin por ejemplo, yo soy un SRE, la mayoría de sitios en los que están...

Juan (1:28:17)
jajaja

Douglas (1:28:24)
están hechos en WordPress, no solo WordPress, pero la mayoría están hechos en WordPress. Pero si escuchas un poco lo que te he mencionado ahorita, abarco todas las áreas. Mi trabajo abarca todo tipo de áreas en DevOps, CI, CD, en bases de datos, replicaciones, galera, Elasticsearch, Redis Clusters, CDN, WAF, etcétera, etcétera, etcétera.

Juan (1:28:49)
Sí.

Douglas (1:28:49)
Entonces,

y si de nuevo en la empresa donde yo estoy, el puesto se llama Lead Systems Engineer. Si me dijeran que soy WordPress Admin, pues sería WordPress Admin. Al final yo sé cuál es mi conocimiento y cómo lo pongo en práctica y eso para mí es lo importante. Me tocará aclarar un poco, Cuando diga, presente, no, soy WordPress Admin, ¿qué es eso? Tal vez me hace aclarar un poco más. Pero no me quitaría el sueño, es lo que quiero decir.

Juan (1:29:08)
¿Qué es eso?

Sí, que me gustaría aprovechar Douglas para felicitarte públicamente porque creo que tenés una actitud que los desarrolladores, los programadores deberíamos tener y muchas veces no lo hacemos, como lo que has mencionado, cómo has aprendido de WordPress por tu cuenta, El hecho de si antes tal vez no le tenías cierto estigma, pero al mismo tiempo...

te dedicaste a investigar, leer y empezar a ver cómo realmente funciona. eso creo que no cualquiera lo hace. De antemano te digo, los desarrolladores muchas veces no lo hacemos y deberíamos. Así que me agrada mucho esa parte de vos y ojalá que nosotros podamos seguir esa misma filosofía porque es muy importante, muy, muy importante.

Douglas (1:30:10)
Te lo agradezco mucho, Juan, realmente que lo valoro bastante viniendo de vos por tu experiencia en el rubro, verdad. También aclarar que no es que siempre fue así, es parte de la evolución como profesional ir entendiendo y recapacitando y soltando mucho lo que es la arrogancia y entender.

dejar de invertir tiempo en cosas que no van a tener ese significado, pero agradezco mucho tus palabras y tu observación, realmente, que ese tipo de cosas lo animan a uno a seguir en el camino por el que va trabajando en estas cosas. Sí, bueno.

Juan (1:30:49)
Sí. Bien, Douglas nos decías

que querías darnos un tip más, una aclaración más sobre WordPress en la industria actualmente.

Douglas (1:31:02)
Sí, sí, sí, justo ahí quería ir porque esta área no quería dejarla por fuera, ¿verdad? Y es el hecho de que WordPress puede correr como Headless. Para que no entiendan Headless es sin cabeza. sea que a le podemos arrancar. Es como al jinete, le podemos arrancar la cabeza. Pero ¿a qué me refiero con esto? ¿Verdad? Y por eso yo no quería dejar por fuera esto. Es que WordPress desde el 2016...

Juan (1:31:17)
¡Como el Ginete!

Douglas (1:31:29)
incluyó en su core, en su producto WordPress, ¿verdad? REST API. REST API. Y de manera interna, funciona con REST API. Aunque lo tengas todo en un servidor como un monolítico, pues se las he llamado internas con REST API. Este REST API me permite, o permite a las diferentes empresas, usar WordPress como CMS.

para administrar su contenido, beneficiarse del flujo que genera a los editoriales WordPress para crear contenido y pasar por proceso de revisión del contenido, del texto, la esencia de tu sitio, lo que vas a subir, beneficiarte de WordPress, pero tener en el front-end la tecnología que mejor te funcione por diferentes razones. Puedes tener en el front-end React.

o Next.js, View.js o puedes tener cualquier otro lenguaje totalmente diferente, es así lo que eres, verdad, y usar WordPress para como tu backend, como tu CMS administrando el contenido. ¿En qué escenario es esto útil?

Juan (1:32:36)
como mi Backend

quiere decir Douglas que así yo podría ser un WordPress developer y un React developer y ahí sí ya acabas con toda la polémica

Douglas (1:32:55)
ahí si te cae el hate del mundo entero pero en efecto

podría ser perfectamente un React Developer y un WordPress Developer y crear tu propio headless ¿verdad? pero ¿en qué escenarios es esto? hay varios uno de ellos puede ser si tenés un sitio de WordPress en el que tu tráfico

Juan (1:33:08)
Sí.

Douglas (1:33:24)
de frontend o informativo es mayor al tráfico transaccional, verdad? Entonces, esto te va permitir tener dos instancias de WordPress y tal vez cuatro de tu frontend, verdad? Y desplegar más contenido. Y si tenés temporada alta, entonces agregás dos servidores más de frontend, pero no necesitas agregar más servidores de backend.

Juan (1:33:32)
Ok.

Douglas (1:33:54)
Mientras que si tuvieras todo WordPress corriendo como monolítico tal vez en lugar de solo seis instancias por todo ocuparía diez para que te hagan lo mismo ¿Verdad? O estarías agregando más instancias con todo WordPress instalado cuando en realidad tu problema es servir contenido estático.

o contenido menos transaccional. sé si me explico, yo sé que el CDN nos va ayudar mucho, el caching nos va a ayudar mucho en este tipo de cosas, pero al final del día estás queriendo presentar mayor tráfico que no es transaccional. Entonces, en un escenario así, te conviene perfectamente una instalación de WordPress Headless, donde tengas un front-end diferente y solo mandas a llamar los requests de tu contenido al API.

de tu contenido servir los mismos lo que subija el Uploads, lo que te decía que si lo subija un Cloudflare o un R2, el mismo Headless va a mandar esos requests siempre directamente a R2 y lo de que es WordPress y el contenido lo va a ir a pedir a WordPress, ¿verdad? Y así solo escalas el tier de front-end, le estás agregando un tier más a todo tu sistema, ¿verdad?

pero se vuelve mejor para vos, se vuelve más productivo y lo controlas mejor la segregación de los diferentes layers de esa manera. eso es uno de los escenarios en los que te sirve un WordPress Headless. El segundo es... Sí. No, no.

Juan (1:35:22)
o sea que perdón que te interrumpa

como para entenderlo en mis palabras tal vez un poco más simplificado quiere decir que puedo mantener las bondades de WordPress utilizar ciertos plugins me imagino que no todos algunos van a necesitar de lo otro

puedo utilizar los plugins, utilizar las bandas de WordPress, la integración que tiene con S3 y todas estas diferentes optimizaciones que le podemos hacer, pero al mismo tiempo puedo desarrollar el front-end en la tecnología con la que yo estoy más familiarizado tal vez. Y como mencionaba, esto me permite también pues, segregar el tráfico de un lado al otro.

que wow, verdad es sí es muy, muy beneficioso. Sí veo que hay, me imagino que hay muchas empresas que deben optar por esta solución.

Douglas (1:36:08)
¿Sí?

Si

de hecho alguna de las grandes, de nuevo para no decir cuales ya cuando se requiere a tecnologías específicas no sería ético que yo lo mencione, pero alguna de las grandes de hecho funciona con Headless WordPress por esta misma razón porque el front-end escala más sin necesidad de escalar el back-end. Otros de los escenarios en el cual es beneficioso es si tenés un sitio web o una aplicación

Juan (1:36:31)
ok

Douglas (1:36:46)
que ocupa que sirva contenido de diferentes fuentes. Entonces de WordPress sale la parte editorial, tu blog, tus noticias, las páginas, la parte editorial, pero tal vez sacadas inventario de otro lugar, ¿verdad?

Juan (1:37:02)
No,

Douglas (1:37:03)
entonces jalás esa parte de inventario del otro lugar tal vez tenés un tipo de información de usuarios o algo de otro sistema incluso, verdad? eso lo sacas del otro usuario y entonces tu frontend ocupa servir de diferentes lugares y en lugar de estar haciendo tantos plugins porque en WordPress perfectamente puedes hacer plugins que estén jalando esa información y con WordPress la sirva

pero en lugar de esos procesos de sincronización dependientes de WordPress, puede hacer un proceso aparte que lo maneje otro equipo. Perdón.

Juan (1:37:40)
o incluso

con third parties, me imagino, ¿no? Con servicios third party. ¿Podría conectarse?

Douglas (1:37:46)
sí, sí, sí, puedes hacerlo así porque al final tu aplicación de front-end funciona de esa manera y lo quería, esta parte también la quería mencionar porque yo dije que microservicios no se aplica a WordPress, sin embargo esta cultura de the couple de sistemas separados que la introducen los microservicios de cierta manera, sí, verdad, porque podés tener un equipo que te maneje el inventario y ese equipo

Juan (1:38:08)
Sí.

Douglas (1:38:15)
crees su propio sistema de cómo tu frontend va a jalar la data. Otro equipo que maneja los usuarios o la facturación y ese equipo maneja el código y ese mismo equipo va a señalar cómo el frontend jala la data, ¿verdad? Y tenés WordPress con la parte editorial y tu frontend está jalando todo y tenés ese equipo separados manejando cada uno de estas áreas.

a que si lo hiciera solo con WordPress, dependés de los programadores de PHP de WordPress que mantengan los plugins dentro de WordPress, que no es malo en lo absoluto, no estoy diciendo que sea malo, pero está centralizando en los mismos equipos el plugin para ir a jalar la información de inventario a un lado, la de usuarios y de ventas a otros.

Juan (1:39:01)
Ok. Sí.

Douglas (1:39:01)
Entonces Headless te

sirve para que tengas equipos separados cada quien manejando esas cosas en su propia tecnología pero aun así la parte editorial mantenerla en WordPress y un front-end en React, un front-end en lo que se te ocurra usar, que te funcione mejor.

y serviste todo el contenido al usuario al final de esa manera. Entonces tenemos acceso a este REST API en WordPress que nos permite trabajar de esa manera y yo creo que más...

moderno y siguiendo estándares en la industria hoy en no se puede, verdad. Ya si después de esto Juan alguien considera pensar que WordPress solamente es humo, pues se lo respeto, cada quien tiene derecho a su opinión, verdad.

Juan (1:39:49)
Tiene derecho

a estar equivocado.

Douglas (1:39:53)
tenemos el derecho a estarlo si

así es verdad pero creo que la idea de nuevo ha sido de mi parte tratar de demostrar por qué WordPress es tan simple para que cualquiera lo pueda probar pero tan robusto como para que cualquier enterprise corra sus aplicaciones sus sitios cualquier editorial desde o en WordPress

Juan (1:40:05)
jajaja

Sí, y me imagino que así como hemos visto la evolución que ha tenido WordPress, o al menos me hace pensar en cómo era antes y cómo es hoy en día, no me extrañaría que dentro de algunos años, no sé cuándo,

pero no me extrañaría que empezáramos a ver a WordPress adaptando o implementando este concepto de microservicios. Tal vez no como lo conocemos en ciertos lenguajes, pero sí, digamos, dentro del mundo de WordPress tengan algo que sea como microservicios. De hecho, que me estás comentando, cómo se trabaja con este modo Headless,

suena como microservicios. La verdad es que si me lo describieras así nomás yo te diría, ⁓ ok, estás implementando microservicios. Tal vez ya sería un término, cuestión de términos, terminología y algunas partes más técnicas, ¿no? Pero sí, no me extrañaría que empezáramos a ver muchas más cosas por ahí.

por cómo ha evolucionado Warpress creo que no creo como como los villanos no en las caricaturas creo que no es la última forma todavía va a seguir va a seguir cambiando si tiene más evoluciones definitivamente bueno creo que ha sido muy provechosa todo esto que nos has dicho Douglas ⁓

Douglas (1:41:34)
Sí, tiene más evoluciones.

supuestas.

Juan (1:41:52)
Creo que es bastante información para los que nos gusta ir probando otras tecnologías. Yo definitivamente... ⁓

Con el paso del tiempo le he estado dando más oportunidad a He tratado de ir aprendiendo más porque nunca se sabe, ¿no? Como mencionabas, si tenés que hacer un trabajo en poco tiempo y puede ser solucionado con WordPress, ¿por qué no? O sea, ¿para qué tener que hacer otras cosas y volver a inventar lo que ya funciona en WordPress? Ya sería cuestión nada más de saberlo implementar. Creo que esa es la parte difícil. Esa la parte que

que creo que nos has venido a abrir los ojos a muchos. O al menos eso quiero creer

Douglas (1:42:39)
y ahora, ahora.

Juan (1:42:41)
Sí,

ojalá que las personas que pensaban mal de WordPress con todo lo que nos has dicho, con todos los datos y con experiencia de primera mano, ojalá que hayan cambiado de opinión. No porque queramos que vayan a utilizar WordPress ya, no, simplemente hay que, como decías y como hemos dicho anteriormente, hay que ser de mente abierta y saber que hay otras opciones y que no necesariamente están

mal. hecho, bien implementado WordPress es mejor que muchos sistemas hechos desde cero por algunos developers.

Douglas (1:43:20)
Sí,

y tal vez Juan, mira, porque hemos hablado bastante y a mí me alegra haber tenido la oportunidad de compartir estas cosas con la comunidad y con las personas que nos ven y nos escuchan, ¿verdad? Quiero cerrar con esto, por motivos de tiempo. Denle la oportunidad a WordPress.

Para los programadores, no mencioné todas las cosas que hay ahí en el front end, ¿verdad? Y en la parte de desarrollo. WordPress tiene desde la versión 6 el editor. Antes era un editor que era un montón de texto y agregaba snippets para agregar fotos y videos. Hoy en día tiene un editor de blog, un blog editor, ¿verdad? Por defecto. O por medio de plugins, puedes instalar otros. Pero...

Juan (1:43:50)
.

No, see you.

Douglas (1:44:12)
más allá de generar una experiencia editorial más agradable y bonita de qué es ir creando la página, a cómo se vería más o menos, es que el programador de Frontend puede crear, precrear bloques.

para que se agregue como objeto al momento de editar y facilitar el proceso editorial, pero a la vez como developer te resulta bien retante, entretenido, satisfactorio desarrollar algo como eso. ¿A qué me refiero? Un bloque puede ser... Vos tenés un sitio web donde hay expositores. Es de conferencia, hay expositores. Entonces, cada vez que hay un expositor, vos tenés... agregas la foto del expositor.

Juan (1:44:48)
jajaja

Douglas (1:44:55)
luego un cuadrito con texto donde pones una descripción y luego abajo un espacio con links, ¿verdad? Entonces, el block editor, si vos haces un tema con eso, puedes agregar como elemento.

Juan (1:44:59)
Sí.

Douglas (1:45:09)
todo ese cuadro de expositores que ya trae el espacio para que reemplacen la imagen, para que ya trae el espacio donde reemplacen el texto, te trae el espacio donde arregles los links, ¿verdad? Y eso te lo hace de manera más fácil. O si estás vendiendo productos y tienes paquetes, ¿verdad? Y tenés una columna con los paquetes y los diferentes servicios y enlaces y comparativas.

puedes agregar en tu tema como elemento un paquete y solo el editor solo lo va ir arrastrando y a ir populando lo que necesita, entre otras bondades de lo que es el front end. Como no es mi área fuerte, no las mencioné, pero...

lo estoy tirando ahí para despertar curiosidad. Eso que no mencioné, todo el montón de bondades que hay en la parte de desarrollo. No estoy diciendo que WordPress es mejor o es peor, estoy tratando de hablar con ellos, vos nos mencionaste la estadística. Yo solo quiero decir en base a esos hechos y en base a mi experiencia,

Juan (1:45:50)
Sí.

Gracias.

Douglas (1:46:08)
es válido darle la oportunidad a WordPress y no le estoy diciendo a nadie que se transicione a WordPress para nada, solo estoy diciendo, cuando tengan tiempo, consideren darle la oportunidad y les aseguro que les va a ir resultando interesante y retante y muy probablemente comienzan a mover sus proyectos personales a WordPress en lugar de otra tecnología.

Juan (1:46:34)
Sí, creo que para aquellos que tenían tal vez una duda, tal vez estaban interesados, pero estaban dubitativos si realmente vale la pena, la respuesta es sí, sí vale la pena y sí pueden hacerlo. Creo que podríamos empezar haciendo tal vez nuestra página web, nuestro blog con WordPress y creo que esa va a ser una gran enseñanza y una gran experiencia para poder ir poniendo en práctica todos estos consejos que nos han

el día de hoy y bien con eso creo que podemos ir cerrando el episodio del día de hoy Douglas muchísimas gracias por de nuevo por traernos toda esta información

Douglas (1:47:05)
Gracias.

Juan (1:47:17)
que es tan valiosa, no la encontramos en ningún otro lado. Como bien decíamos al inicio, los tutoriales que hay en internet, al menos los gratis, no hablan de absolutamente nada de esto. que realmente te lo agradezco que te tomes el tiempo para hablarnos de todas estas cosas que vos has aprendido, que muchas personas a veces deciden no compartir, deciden quedárselo para ellos mismos. Así que...

Douglas (1:47:44)
No, sido un gusto,

Juan. Ha sido un gusto. la idea. Realmente aprecio que hayas seguido la conversación conmigo y que me hayas llevado por un camino que mantuviera la conversación interesante. Lo hago con mucho gusto. Y si en el futuro las personas tienen preguntas, dudas, podemos ahondar en algún tema en específico de WordPress, pudiéramos hacer alguna guía si alguien lo quiere. Es en específico cómo se hace una área.

estamos a la orden de eso se trata este espacio.

Juan (1:48:15)
correcto eso me lleva a antes de irnos me gustaría recordarles que tenemos nuestra página web devenops.show

Douglas (1:48:24)
y WordPress.

Juan (1:48:25)
está

hecha en WordPress totalmente donde todo lo que dijo Douglas ha sido aplicado y les invito a que la visiten porque en cierto momento vamos a ir subiendo algún contenido como apoyo a lo que hemos hablado aquí así que que bien bueno muchas gracias a todos los que nos han acompañado hasta este punto nos vemos en la próxima y vamos a traer mucho más contenido muchos más temas como este igual de interesantes

Muchas gracias a todos. Bye.