14 prácticas recomendadas para el desarrollo de aplicaciones OpenShift

Trabajando mucho con equipos de desarrollo que se acaban de cambiar a OpenShift, nos esforzamos por brindarles recomendaciones y mejores prácticas para construir e implementar con éxito aplicaciones en esta plataforma. Con base en los resultados de este trabajo, hemos seleccionado 14 prácticas clave, en nuestra opinión, que se pueden dividir en dos categorías: confiabilidad de la aplicación y seguridad de la aplicación. Estas categorías se superponen porque cuanto mayor es la confiabilidad, mejor es la seguridad, y viceversa, y la lista de mejores prácticas es la siguiente.





Confiabilidad de la aplicación

Esta sección recopila 9 prácticas recomendadas para ayudarlo a mejorar la disponibilidad de las aplicaciones, el tiempo de actividad y una mejor experiencia del usuario.





1. No almacene la configuración de la aplicación dentro de un contenedor





Si la imagen del contenedor contiene una configuración para un entorno específico (Dev, QA, Prod), no funcionará para transferirla entre entornos sin cambios. Esto es malo desde el punto de vista de la confiabilidad del proceso de lanzamiento, ya que la imagen que se probó en las etapas anteriores ya no entrará en producción. Por lo tanto, no guarde la configuración de la aplicación para un entorno específico dentro del contenedor, sino manténgala por separado, por ejemplo, usando ConfigMaps y Secrets.





2. Establezca requisitos y límites de recursos en las definiciones de pod





Sin un ajuste adecuado de los requisitos de recursos, las aplicaciones pueden crear demandas abrumadoras de memoria y procesador. Por el contrario, con los requisitos explícitos de CPU y memoria de la aplicación, el clúster puede distribuir de manera eficiente para proporcionar a la aplicación los recursos solicitados.





3. (liveness) (readiness) pod’





: , liveness, , readiness. . OpenShift Platform.





4. PodDisruptionBudget





pod’ , , , autoscaler , . , PodDistruptionBudget.





5. pod’





pod , pod', , , .





6. –





, . -, . .     OpenShift Platform.





7.





Prometheus Grafana - .





8. stdout/stderr





OpenShift (ELK, Splunk). – -. , , , , .





9. Circuit breakers, Timeouts, Retries, Rate Limiting





, (Rate Limiting, Circuit Breakers) (Timeouts, Retries). OpenShift Service Mesh, , .





5 , , , .





10.





- , , , . community-, , . , , Docker Hub, – !





11.





. , , .





12. build- , runtime-





Build- , , . runtime- , , .





13. Restricted security context constraint (SCC) – ,





, restricted SCC ( . ). , , restricted SCC .





14. TLS





. , OpenShift, , TLS-, OpenShift Service Mesh , .





, 14 OpenShift. . OpenShift.








All Articles