Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




TitoBurns

#58679
Tu vas a fichar a alguien para que te resuelva X problemas, si te resuelve esos problemas pues genial, te da igual si usa chatGPT o programa con ensamblador y VI y sin ayuda de internet. No entiendo que problema hay que use una herramienta que ha llegado para quedarse.

1 respuesta
GaN2

#58681 el problema es que si le voy a pagar a un tío +200k euros por trabajar en remoto en Europa lo mínimo que quiero es que tenga experiencia, que sepa de lo que habla y que no sea un prompter de la vida con la excusa de ‘mientras te solucione el problema con la herramienta que más te da?’.

Luego que porque nos estamos volviendo más gilipollas…

1 2 respuestas
D10X

#58680 Pues de ti mismo en este hilo:

#1504 o #57879

Es q literalmente has puesto:

He trabajado ya en dos proyectos estos últimos dos años que consisten en coger mierdas como las de PCComponentes y convertirlas en algo manejable, escalable y legible para cualquiera, una de ellas aprendiendo Go por el camino.

Como q no sabes q contestar? Cuentales esos proyectos donde te dedicabas a refactorizar mierdas. Modernización, escalabilidad, ...

Quiero pensar que no sabes venderte.

#58682 pero resuelve o no resuelve? De todas formas, si no sabes si usa AI, pregunta una subnormalidad y listo.

2 respuestas
TitoBurns

#58682
Entonces me extrañaria que esten usando chatGPT porque yo ahora lo estoy usandolo con Spring y se equivoca bastante, no me quiero imaginar en otros lenguajes/frameworks menos conocidos.

Pero repito, si llegásemos al punto que no falle, entonces no creo que usarlo sea algo negativo justamente xD

Kaledros
#58683D10X:

Cuentales esos proyectos donde te dedicabas a refactorizar mierdas. Modernización, escalabilidad,

Es que no me piden eso, las cinco o seis veces que me han preguntado algo así en una entrevista ha sido rollo "cuál es la peor liada que has tenido que solucionar" y no considero que esas cosas lo sean, simplemente son parte del trabajo que tengo en ese momento. No sé, yo lo que interpreto de esa pregunta es que quieren que responda algo como "aquella vez que dejé sin internet a un centenar de hogares" o "cuando alguien puso el precio de las PS5 a 10€ durante un día entero".

1 1 respuesta
TitoBurns

1
D10X

#58685 Todo es parte del trabajo, incluso aquella vez q el nuevo lanzó ese update sin where, o cuando los de integraciones cambiaron la redirección de PRE a PRO por 'error' y te enteraste porque te llamaron desde una notaría al recibir una cita de la administración pública a nombre de la Rana Gustavo, cuando preparaste esa oferta técnica de 2,5M€ con lo q no pedían, porque lo q pedían no tenia puto sentido y en la defensa te dan la razón, discutir con el CTO de una 'financiera de prestigió', porque todo va como el puto culo y tener que demostrarle con los especificaciones tecnicas de Intel, q sus nuevos procesadores son inferiores a los que tenia, a pesar de ser más modernos, etc ...

1 respuesta
Kaledros

#58687 Pues mira, ya he aprendido algo.

1 respuesta
D10X

#58688 Vamos, yo es por donde voy con ese tipo de preguntas. No me importa específicamente si la cagaste tu u otro, solo quiero saber como te comiste la cabeza para resolver un problema o problemas.

1
cond3

#58683 primera vez que leo "mierdas como la de PcComponentes", conozco a gente que ha trabajado allí y la arquitectura está correcta y hay buenas prácticas, a pesar de utilizar PHP. No lo considero "mierda", otra cosa es que la tecnología en sí misma no tenga mucho más recorrido, o haya decisiones de nivel más alto, no técnico, en cosas como la DB a utilizar o si se puede o no usar cloud de terceros, que puedan ser cuestionables.

1 respuesta
MTX_Anubis

#58690 Qué dirías tú de un sistema donde premia la complejidad por la complejidad, cada request de usuario genera unos 1000 eventos, una visita al carro toca unas 200 tablas de BBDD y la gente que lo ha hecho es gente sin experiencia en esa arquitectura que ha aprendido a hacerlo en codelytv?

1 respuesta
cond3

#58691 pues diría que de eso pinta que hace tiempo. Como digo, conozco a gente que ha trabajado allí, con bastantes conocimientos (unos cuantos ya se fueron). Y de lo que han ido mostrando de puertas para fuera parecía que sabían lo que se hacían. Lo que haya en legacy profundo como el carro ni puta idea, y ya te digo que habrá decisiones de más alto nivel que no las tome gente tan experimentada, como los propios fundadores que si mal no recuerdo no querían saber nada de cloud y todo pasaba por un "DC" on-premise chusquero que tenían por ahí cerca de Alhama. ¿Trabajaste en PcComponentes?

Por cierto, lo de los "1000 eventos por request de usuario" no es tan malo como podría parecer, en realidad depende de cómo estés gestionando esos eventos. ¿Van a un kafka, a un kinesis o similar? ¿Son relevantes para los servicios que los consumen o son paja "por si acaso"?

Lo de las 200 tablas sí es malo 😂 Lo de codely no me parece tan grave si es solo para introducirse en algún tema concreto.

1 respuesta
desu

Por lo que yo veo en instagram, que me salen productos para hacer entrevistas por ti...

El problem es:

  • una entrevista no es un examen, una entrevista es una conversación entre dos partes donde sirve para saber si quieres trabajar en esa empesa y ese equipo, y viceversa contigo.
  • cuando te hacen una pregunta no importa la respuesta que des, importa la manera en que te expresas y hablas, como razonas y articulas tus pensamientos de manera clara.

Si todo esto lo haces con una AI, te estas saltando lo mas importante, que es ser tu mismo, y esta claro que no entiendes de que va una entrevista. Esta claro que eres un candidato desesperado que busca cualquier empleo. Esta claro que eres un empleado mediocre que hara lo minimo con cutrez y sin garantías de calidad. Esta claro que careces de los mecanismos que se esperan de una persona para poder trabajar en equipo.

Igual que hoy en día hacer un leetcode o entrevista técnica sin usar Google o ChatGPT para generar esqueletos y agilizar tu workflow es una bobada. Una empresa que te pide hacer problemitas de hackerrank o mierdas así no sabe ni por donde le da el aire. La gracia de estos problemas era de nuevo, tener una conversación con el candidato técnica. Da igual la respuesta.

4
desu
#58692cond3:

Por cierto, lo de los "1000 eventos por request de usuario" no es tan malo como podría parecer

Es Sábado, el finde descansamos. Te añado ticket para el proximo sprint, vuelve a postear el Lunes y te insultamos todos en fila.

6
aren-pulid0

Hot take:
La respuesta no es lo importante,es el proceso mental que sigues con los recursos mentales de los que dispones. Y muy importante, diles lo que quieren oír.

Siempre caen las preguntas de: ¿cuál ha sido tu mayor problema en producción? ¿Como lo solucionaste? ¿Que haces cuando estás en una situación de estrés? ¿Cuál es proyecto del que te sientes más orgulloso? ¿Como has lidiado con un proyecto problemático?

1 1 respuesta
PhDfailer

Como mejorariais la seguridad?

  1. Cluster de kubernetes en red privada local
  2. Cada nodo tiene firewall activado permitiendo solo el trafico esencial de kubernetes
  3. Router de la red privada con firewall y no permite trafico inbound al cluster excepto al puerto de la VPN, y maquina 1 del nodo (port-forward)
  4. Nodo 1 con VPN con maquina cloud. El firewall solo permite trafico a ciertos puertos incluso a traves de la VPN.
  5. El cluster de kubernetes solo expone los backend web con un load balancer. El resto de servicios cruciales (bases de datos... no se exponen fueran del cluster)
  6. La maquina cloud tiene su propio security group limitando bastante el tráfico inbound

Limitaciones que le veo:

  • Nodo 1 cuello de botella al ser el punto de trafico de salida de todas las peticiones para ir a traves de la vpn. No me preocupa ya que no espero gran tráfico.

Seguro que hay más cosas porque no tengo mucha idea de redes, estoy aprendiendo, así que igual alguien me puede iluminar en los defectos

3 respuestas
aren-pulid0

#58696 cuidado con la config por defecto de K8's, sigue https://www.cisecurity.org/benchmark/kubernetes. Si no te quieres complicar usa algo como https://github.com/kubernetes-sigs/kubespray que ya viene con buenos defaults, te olvidas de configurar a mano los nodos y tienes la config como código, fácil de actualizar, fácil de mantener y puedes montar más nodos si lo necesitas en un periquete.

Alguien mas experto que yo en redes te sabrá responder , a mi a grandes rasgos la arquitectura me parece bien, sobre la seguridad, yo te diría que separes esta red de la red de tu casa y que te montes un intruder detection system (con el codo en la barra del bar mientras me como un pinxo de tortilla esto último).

También te recomiendo que uses https://falco.org/ en el cluster y si quieres algo moderno de networking usa cillium que incluye incluso un service mesh si lo necesitas.

EDIT: Ah y se me olvidaba
https://metallb.universe.tf/

1
wdaoajw

#58696 La seguridad como tal esta bien. Expones unicamente lo que debe ser expuesto hacia fuera. Ahora como bien dices, estas mandando todo al mismo nodo y no es lo mas optimo. Si es algo que sabes de sobra que no va a recibir mucho trafico pues bueno... pero para eso igual tampoco necesitas k8s si no un simple nodo.

Como nota, un servicio Nodeport de k8s se expone en todos los nodos del cluster (worker), por lo que podrias balancear la carga internamente mapeando al proxy todos los nodos del cluster y el puerto al cual lo expones. Esto es basicamente lo que hacen operadores como el AWS load balancer controller de AWS (en uno de sus modos de funcionamiento, en el otro mapea directamente la ip de los pods del backend).

Tambien puedes montarte un ingressController dentro del cluster, de forma que el trafico de fuera del cluster lo mandas contra ese ingressController y ya una vez dentro del cluster gestionas lo que te de la gana (a grosso modo es lo que hacen los serviceMesh como Istio con sus Gateway y los VirtualServices)

1
Kaledros
#58695aren-pulid0:

La respuesta no es lo importante,es el proceso mental que sigues con los recursos mentales de los que dispones. Y muy importante, diles lo que quieren oír.

Esto. No empieces a picar en silencio ni te quedes callado pensando, suelta en voz alta todo lo que pienses y verbaliza lo que sea que te pase por la cabeza.

JuAn4k4

#58696 Exponer cada backend directamente podría crear problemas, cada equipo hace una cosa y se lia.

Si puedes: AWS shield o similar con Cloudfront delante de todo, y luego yo pondría un gateway delante de tus servicios que exponen sólo endpoints públicos a través del GW.

Dentro del cluster un mesh con permisos a través del service account de k8s, para que no todo pueda llamar a todo.

Y ya 0trust para toda llamada a API, nada de impersonation.

1 2 respuestas
PhDfailer

#58700 Solo una pequeña aclaración, la gracia del proyectillo, es que todo sea "gratis" y "open source", sin usar servicios cloud de pago (excepto la máquina virtual donde esta alojada nginx y el frontend, que por cierto, es gratis). Pero muchas gracias igualmente

desu

#58700 como juan yo cambiaria:

internet => gw => alb => nodos/backends

de esta manera enrutas el trafico public (gw) => (alb) privado (alb) => (node) privado (backend).

en AWS: https://github.com/uglyorganization/aws/tree/main/archive/sprint-1

no meteria meshes ni 0trust, xq no me gustan, lo haria por network y permisos todo como AWS, que imagino que con k8s sera complejo.

1 respuesta
PhDfailer

#58702 el cluster está on premise, en mi casa vamos , solo la maquina donde está nginx es en cloud, la dificultad de esto es hacerlo sin meter ningun elemento más de cloud para no meter coste :grinning:

1 respuesta
desu

#58703 Si, lo entendi. Lo que digo es que lo haría de esa forma. Da igual si es cloud o en tu casa. La arquitectura seria la misma.

Por que necesitas kubernetes si esta en tu casa?

1 1 respuesta
PhDfailer

#58704 No lo necesito. Es:

  • Para aprender (motivo principal)
  • Porque es una forma barata de añadir hierro con mini pcs (con 400€ tienes 12vCPU, 48gb ram y 1.5TBssd), y crear aplicaciones que sea tan facil de migrar a la nube como hacer un kubectl apply en un AKS.

La idea de tener una maquina cloud en medio de internet y el cluster es:

  • No me gusta exponer mi ip publica directamente a internet. De esta forma lo unico expuesto es una maquina con nginx, que tiene una vpn a mi cluster privado, es decir, nada deberia conectar via internet a mi casa. Sigue teniendo riesgo si esa máquina queda comprometida, pero hay muchas más capas entre medias. No hay tráfico de internet inbound a mi red privada, solo a traves de una VPN.
  • Es gratis

Si fuera un sitio "productivo real" , o cloud, lo haria como tu y juan habéis comentado, no tiene sentido tener una máquina entre medio del cluster a internet con un gateway y load balancer es suficiente.

1 respuesta
Dr_Manhattan
1 respuesta
HeXaN

Eso con Windows no pasa.

1
r2d2rigo

#58706 seguro que fue torvalds cuando vio su última PR al kernel.

3
Lecherito

#58705 donde esta ese mini pc? Que me compro uno mañana mismo. Con el NAS se me queda corto

1 respuesta
PhDfailer

#58709 busca firebat t8s pro en aliexpress, version 16GB ram 512gb ssd, ahora está por 140€, pero suele rondar los 100-150€, según ofertas y demás

1 respuesta