Hay varias inquietudes de seguridad que las personas pueden desear tener en cuenta cuando no usan servidores:
- Las arquitecturas de aplicaciones FaaS carecen de un perímetro de seguridad claramente definido (porque no hay un backend monolítico). Como resultado, debe abordar cada función de FaaS como una entidad que requiere un perímetro de seguridad propio.
- Siempre hay más datos en tránsito con arquitecturas sin servidor porque las funciones sin estado tienen que comunicar datos con más frecuencia. Como resultado, el riesgo de pérdida de datos también es mayor.
- Hablando teóricamente, agregar nuevos proveedores de terceros a la arquitectura de su aplicación aumenta su superficie que está expuesta a ataques. Dicho esto, los ataques exitosos a gigantes como AWS Lambda, Cloud Functions o Azure Functions no parecen un escenario de alta probabilidad.
- Con FaaS, hay un mayor incentivo para dejar que las cosas se acumulen (porque la implementación del nuevo código se vuelve mucho más simple). Si dejas que esto se convierta en una función hinchada, las dependencias convertirán tu vida en un infierno.
- Como se señaló en esta publicación, la multitenencia puede dar lugar a situaciones en las que una empresa ve los datos de otra empresa debido a un error de software del lado del proveedor sin servidor.
Si está interesado en una cobertura más detallada de estos aspectos de FaaS, aquí hay una posición sobre seguridad sin servidor que escribí hace un tiempo.
- ¿Es una buena práctica poner su base de datos y sitios en servicios en la nube?
- En servicio de alta disponibilidad: cuando un servicio afirma que tiene una disponibilidad de 99.99 (4 9s), ¿qué significa? ¿Cómo se mide y rastrea? Algunos ejemplos publicados serían geniales.
- ¿Por qué una pequeña empresa cambiaría a la computación en la nube?
- Cómo calcular el costo de AWS
- ¿Cómo funciona EC2? Estoy interesado en aprender sobre la infraestructura específica que hace que EC2 funcione. Por ejemplo, ¿las instancias son máquinas discretas reales o están totalmente virtualizadas (por ejemplo, una máquina de cuatro núcleos podría ejecutar 4 instancias micro EC2)?