SlideShare una empresa de Scribd logo
1 de 11
PLANEAR Y DESARROLLAR
Planear es proporcionar unmarcode
trabajo que permita al gestorhacer
estimaciones razonables de recursos
costos y planificación temporal.
Desarrollar, por otro lado, es la
construcción de los distintos
entregables que se planifican en la
etapa de planear.
GITHUB GitHub es una forja (plataforma de desarrollocolaborativo) para alojar proyectos utilizandoel sistema
de controlde versiones Git. Seutiliza principalmente para la creaciónde código fuente deprogramas de
computadora.El softwareque opera GitHub fueescritoen Ruby on Rails. Desde enero de2010, GitHub
opera bajo el nombrede GitHub,Inc. Anteriormenteera conocida comoLogicalAwesomeLLC. El código
de los proyectos alojados enGitHub sealmacena típicamentede forma pública, aunque utilizando una
cuenta de pago, también permite hospedar repositorios privados.
BITBUCKET Bitbucket es un servicio de alojamiento basado en web, para los proyectos que utilizanel sistema de
control de versiones Mercurialy Git.Bitbucketofrece planes comerciales y gratuitos.Se ofrece cuentas
gratuitas con unnúmeroilimitadode repositorios privados (que puede tener hasta cincousuariosen el
caso de cuentas gratuitas) desde septiembrede 2010,1 los repositorios privados nose muestran en las
páginas deperfil - siun usuario sólo tiene depósitos privados,el sitiowebdará elmensaje"Esteusuario
no tiene repositorios". El servicio está escrito en Python.2
Es similara GitHub,queutiliza Git. En una entrada deblog del2008,3 Bruce Eckelhaceuna comparación
favorablemente de Bitbucket frente a Launchpad, que utiliza Bazaar.
GIT Git (pronunciado"guit"2) es un software de controldeversiones diseñado por Linus Torvalds, pensando
en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen
un gran número dearchivos de código fuente. Su propósito es llevar registro delos cambios en archivos
de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos.
Al principio, Git sepensó comoun motordebajo nivelsobreelcualotros pudieranescribir la interfaz de
usuario o front end como Cogito o StGIT. 3 Sin embargo, Git se ha convertido desdeentonces enun
sistema de control deversiones confuncionalidad plena.4 Hay algunos proyectos demucha relevancia
que ya usan Git, en particular, el grupo de programación del núcleo Linux.
El mantenimiento del softwareGitestá actualmente(2009) supervisado por Junio Hamano,quien recibe
contribuciones al códigode alrededorde 280programadores.En cuanto a derechos de autorGit esun
softwarelibredistribuible bajo los términos de la versión 2 de la Licencia Pública General de GNU.
JIRA El software JIRA es una de las herramientas de gestión de incidencias más populares. Una de las
características que hacede JIRA una herramienta con granpotencial es su ecosistema de plugins,que
permite ampliar las funcionalidades de la herramienta base.
Entre los plugins deJIRA se encuentra Insight. Este pluginamplía las capacidades deJIRA, pasando de ser
un gestor de incidencias a un gestor de incidencias y recursos.
Con JIRA + Insight sepuedenmodelarlos objetos queforman partede una institución (desderecursos
físicos,como equipos informáticos o mobiliario, a recursos abstractos,como contratos u oportunidades
comerciales) y relacionarestos con incidencias en las queesténinvolucrados (por ejemplo: reparar un
equipo informático, realizar un seguimiento comercial, etc.).
Para manejar incidencias JIRA y objetos Insight existela posibilidad dellevar a cabolas acciones quese
realizan habitualmente a través de la interfaz de usuario (crear/actualizar/borrar incidencias y objetos)
mediante una API REST. Tanto el propio JIRA como Insight proporcionan API REST posibilitando la
integración de JIRA con otras aplicaciones software.
La documentación oficial de cada producto (JIRA e Insight) recoge todas las acciones que se pueden
realizar a través delas API REST. Con una estructura deURLclara y unformato de peticiones y respuestas
conciso,el manejo a través de las API RESTresulta amigable. Se incorporan diversos mecanismos para
autenticar las peticiones.
SUBVERSION Apache Subversion (abreviadofrecuentementecomoSVN, por el comando svn) es una herramientade
control de versiones open source basada en un repositorio cuyo funcionamiento se asemeja
enormementealde unsistema deficheros. Es software libre bajo una licencia de tipo Apache/BSD.
Utiliza el concepto de revisión para guardar los cambios producidos en el repositorio. Entre dos
revisiones sóloguardaelconjuntodemodificaciones (delta),optimizandoasíalmáximoelusodeespacio
en disco. SVN permitealusuario crear, copiary borrar carpetas conla misma flexibilidad conla quelo
haría si estuviese en su disco duro local. Dada su flexibilidad, es necesaria la aplicación de buenas
prácticas para llevar a cabo una correcta gestión de las versiones del software generado.
Subversion puedeacceder al repositorio a través deredes, loquelepermiteserusado por personasque
se encuentranen distintas computadoras. Acierto nivel,la posibilidad de quevarias personas puedan
modificar y administrar el mismo conjunto de datos desde sus respectivas ubicaciones fomenta la
colaboración. Sepuede progresar más rápidamentesin unúnicoconductoporelcualdeban pasar todas
las modificaciones. Ypuesto queeltrabajo seencuentra bajoelcontroldeversiones, nohayrazón para
temer por que la calidaddelmismo vaya a verseafectada —si seha hechoun cambioincorrecto a los
datos, simplemente deshaga ese cambio.2
IBM
RATIONAL
CLEAR CASE
Rational ClearCase es una familia deherramientas desoftware queadmitela gestión dela configuración
del software del código fuente y otros activos de desarrollo de software Es el sistema de control de
versiones de IBM.
Cómo otros sistemas de controlde versiones, ClearCase almacena distintas versiones de los elementos
que forman partedeun proyecto, que pueden serdirectorios o archivos.Estos elementos sealmacenan
en un repositorio que en ClearCase se llama base de objetos de versionado (VOB).
ClearCase proporciona un proceso degestión dela configuraciónllamado gestión del cambiounificado
(UCM). UCMse situa sobre la base de ClearCase simplificando el trabajo.
CONSTRUIR,
build(compilación) se refiere al
proceso que convierte archivos y
otros activos bajola responsabilidad
de los desarrolladores en un
producto de software en su forma
final o consumible. La construcción
puede incluir:
compilar archivos fuente
empaquetado de archivos
compilados en formatos
comprimidos (como jar, zip)
instaladores productores
Creación o actualización de datos o
esquemas de bases de datos.
La compilación se automatiza cuando
estos pasos son repetibles, no
requieren intervención humana
directa y se pueden realizar en
cualquier momento sin otra
información que la que se almacena
en el repositorio de control de código
fuente.
MSBUILD Microsoft Build Engine, más conocido como MSBuild, es un conjunto de herramientas de creación de
código abierto y gratuito para códigoadministradoy código C ++nativoy fue partede.NETFramework.
Visual Studio depende de MSBuild, pero no al revés.
Este motor, también conocidocomo MSBuild,proporciona unesquema XMLpara un archivodeproyecto
que controla cómo la plataforma de compilación procesa y construye el software. Visual Studiousa
MSBuild, pero nodependedeVisual Studio.Al invocar msbuild.exe en su proyectoo archivodesolución,
puede organizar y crear productos en entornos donde Visual Studio no está instalado.
Visual Studio usa MSBuild para cargar y crear proyectos administrados. Los archivos de proyectoen
Visual Studio (.csproj, .vbproj, vcxproj y otros) contienen el código XML de MSBuild que se ejecuta
cuando crea un proyecto utilizando el IDE. Los proyectos de Visual Studio importan todas las
configuraciones necesarias y los procesos de compilación para realizar el trabajo de desarrollo típico,
pero puede extenderlos o modificarlos desde Visual Studio o utilizando una edición XML.
CMAKE CMake es una herramienta multiplataforma de generación o automatización de código. El nombrees
una abreviatura para "cross platform make"(make multiplataforma); más allá deluso de"make"en el
nombre, CMakees una suiteseparada y de más alto nivelque elsistema makecomún deUnix,siendo
similar a las autotools.
CMake es una familia de herramientas diseñada para construir,probar y empaquetarsoftware.CMake
se utiliza para controlar el proceso de compilación del software usando ficheros de configuración
sencillos e independientes de la plataforma. Cmakegenera makefiles nativos y espacios de trabajo que
pueden usarse en elentorno dedesarrollo deseado. Es comparable al GNUbuild system deUnix enque
el proceso es controladoporficheros de configuración, en elcaso deCMakellamados CMakeLists.txt. Al
contrarioqueelGNUbuildsystem,queestárestringidoa plataformasUnix,CMakesoportala generación
de ficheros para varios sistemas operativos, lo que facilita el mantenimientoy elimina la necesidadde
tener varios conjuntos de ficheros para cada plataforma.
El proceso de construcción se controla creando uno o más ficheros CMakeLists.txt en cada directorio
(incluyendo subdirectorios). Cada CMakeLists.txt consisteenunoo más comandos. Cada comando tiene
la forma COMANDO (argumentos...) dondeCOMANDO es elnombre delcomando, y argumentos esuna
lista de argumentos separados por espacios. CMakeproveecomandos predefinidos y definidos por el
usuario. Existen generadores makefile para Unix, Borland make, Watcom make, MinGW, MSYS y
Microsoft NMake. También es posible generar ficheros de proyecto para Code::Blocks, Eclipse CDT,
Microsoft Visual Studio de la 6 a la 10 incluyendo versiones de 64 bits y KDevelop.
MAVEN Mavenes una herramientadesoftwareparalagestiónyconstruccióndeproyectosJavacreadaporJason
van Zyl, de Sonatype,en 2002. Es similaren funcionalidada ApacheAnt (y en menormedida a PEAR de
PHP y CPAN de Perl), perotieneun modelo deconfiguración deconstrucciónmás simple,basado enun
formato XML. Estuvo integrado inicialmentedentrodel proyectoJakarta peroahora ya es un proyecto
de nivel superior de la Apache Software Foundation.
Maven utiliza un Project Object Model (POM) para describir el proyecto de softwarea construir, sus
dependencias de otros módulos y componentes externos, y el orden de construcción delos elementos.
Viene con objetivos predefinidos para realizarciertas tareas claramentedefinidas, como la compilación
del código y su empaquetado.
Una característica clave de Maven es que está listo para usar en red. El motor incluido en su núcleo
puede dinámicamente descargar plugins de un repositorio, el mismo repositorio que proveeacceso a
muchas versiones de diferentes proyectos Open Source en Java, de Apache y otras organizaciones y
desarrolladores.Este repositorio y su sucesor reorganizado, elrepositorioMaven2, pugnan por serel
mecanismo defactodedistribución deaplicaciones enJava, perosuadopción ha sido muy lenta. Maven
provee soporteno solo para obtener archivos de su repositorio, sino también para subir artefactos al
repositorio al final de la construcción de la aplicación, dejándola al acceso de todos los usuarios.Una
caché localde artefactos actúa como la primera fuente para sincronizar la salida de los proyectosa un
sistema local.
Maven está construido usando una arquitectura basada en plugins que permite que utilice cualquier
aplicación controlable a través de la entrada estándar. En teoría, esto podría permitir a cualquiera
escribir plugins para su interfaz con herramientas como compiladores, herramientas de pruebas
unitarias,etcétera,para cualquier otro lenguaje.En realidad, elsoportey uso de lenguajes distintosde
Java es mínimo. Actualmenteexiste un pluginpara .Net Framework y un plugin nativo para C/C++fue
alguna vez mantenido por Maven 1.2
GRADLE Gradle es un sistema de automatización de construcción de código abierto que construye sobrelos
conceptos deApache Ant y Apache Mavene introduceun lenguaje especificodeldominio(DSL) basado
en Groovy en vez de la forma XML utilizada por Apache Maven para declarar la configuración de
proyecto. Gradleutiliza un grafo acíclico dirigido("DAG") para determinarel ordenen el quelas tareas
pueden ser ejecutadas.
Gradle fue diseñado para construcciones multi-proyecto las cuales pueden crecer para ser bastante
grandes, y da apoyo a construcciones incrementales determinando inteligentemente qué partes del
árbol de construcciónestán actualizadas, demodoquecualquier tarea dependientea aquellas partes no
necesitarán ser reejecutada.
Los plugins iniciales estánprincipalmentecentrados eneldesarrollo ydespliegueenJava,Groovy yScala,
pero existen más lenguajes y workflows de proyecto en el roadmap.
GESTION DE ARTEFACTOS
Artefactos y tipos de artefacto.
Artefacto es un términogenérico que
hace referencia al objeto de un
repositorio. Pueden gestionarse
artefactos enproyectos y carpetas,o
pueden utilizarse etiquetas para
filtrar grupos deartefactos con un fin
determinado. Tambien se pueden
llamar librerias.
ARTIFACTORY Artifactory es un Repositorio deMaven. En el sepuedendesplegarlas dependencias quenecesiten los
proyectos en maven para su ciclo de vida. Otra de las principales funciones de artifactory es hacer de
proxy cache deun repositorio propio con otros existentes.Esta basadoen JCR (usando JackRabbitcomo
implementación) para guardar los artefactos y administración de los metadatos (xml). Tiene una GUI
basada en wicket y usa jetty para una implementación rápida (también se puede implementar sobre
Tomcat).
ARCHIVA Apache Archiva es un administrador de repositorio de artefactos de compilación de Apache Software
Foundation. Se usa con herramientas de compilación como Maven, Jenkins, Continuum y ANT. Con
Archiva, los desarrolladores puedencompartirartefactos entre sí y administrarla seguridadasociada, el
contenido agregado (proxy) de los repositorios de artefactos remotos, visualizar la utilización de los
artefactos con búsquedas, navegar einformar,y realizar el mantenimiento derutina enlos repositorios.
La función clavede Archiva es proporcionar el reflejo a petición del repositoriocentralde Maven. Esto
elimina la necesidad dedescargar las bibliotecas de Maven, loqueminimiza la comunicaciónde la red a
larga distancia y le permite colocar todas las bibliotecas de dependencias delproyectoen una ubicación
centralizada.
NEXUS Nexus es un administrador de repositorios que se utiliza con frecuencia en organizaciones para
centralizar el almacenamiento y administración de artefactos de desarrollo de software.
Mediantela incorporaciónde Nexus integramos una biblioteca de artefactos gestionados en nuestros
procesos de fabricación software.
Nexus es un marco de trabajo que consiste en roles, eventos, artefactos y técnicas que vinculan y
entrelazan eltrabajode aproximadamente tres a nueve equipos deScrum quetrabajan en una sola Lista
de Producto para construir un Incremento Integrado que cumpla un objetivo.
Nexus es unexoesqueletoquedescansa sobremúltiples Equipos Scrumcuando se combinanparacrear
un Incremento Integrado.
Los beneficios que podemos obtener de Nexus son:
Organiza equipos para maximizar la productividad.
Organiza a las personas en equipos adecuados para optimizar el esfuerzo.
Enseña a los Managers comoorganizar y gestionar un número muygrande de personas para construir
software rápidamente.
Ayuda a los Managers a detectar anomalías en la productividad.
Proporciona prácticas para resolver las anomalías.
Presenta un patrón que permite auto-organizacion para un gran número de desarrolladores.
MAVEN Maven y Artefactos
Maven solventa esta problema a traves delconcepto deArtefacto.Un Artefacto puede versecomouna
librería con esteroides (aunque agrupa mas conceptos). Contiene las clases propias de la librería pero
ademas incluyetoda la información necesaria para su correcta gestión (grupo, versión, dependencias
etc).El conceptodeMavenArtifact es uno delos conceptos quemás cuesta entendercuandounotrabaja
con Maven . ¿Qué es un Maven Artifact? . Explicarlo a veces no es sencillo . Pero si hablamos de
programación a nivel generalloqueestamos haciendosiempre es escribir código ,eso es lo quehacemos
en el día a día.
Para programarde una forma correcta porlo menos deberíamos construir códigoquesea reutilizable .
Normalmente la reutilización esta fuertementeligada con la modularidad. Es decira bloques de código
más pequeños mayor es la posibilidad de reutilización.
Un Maven Artifact no es ni más ni menos que un bloque de código reutilizable.
un Maven Artifact es una abstracción sobre el concepto de bloque de código reutilizable.
Si pensamos un poco en quees un bloque de código nos daremos cuenta quetodo bloquede código
cumple con algunos principios muy muy elementales.
Tiene un nombre o un identificador
Pertenece a una empresa o persona
Tiene una versión concreta
TESTING
Hay un mayor énfasis en las pruebas
automatizadas en DevOps, ya que
queremos crearuna cultura enla que
podamos empujar el código hacia los
sistemas de forma rápida y con
confianza.
Además de las pruebas funcionales
automatizadas, también deberíamos
tener un conjunto de pruebas de
rendimiento, así como pruebas de
seguridad / resistencia en elproceso
de entrega.
No hace falta decir que, antes de
poder implementar cualquiera delas
pruebas automatizadas anteriores,lo
primero y más importante es
construir un canal automatizado de
compilación y entrega en una
herramienta deintegración continua,
como Jenkins.
CUCUMBER Cucumber es una delas herramientas que podemos utilizar para automatizarnuestras pruebas en BDD
(BEHAVIOUR DRIVEN DEVELOPMENT). Cucumber nos va permitir ejecutardescripciones funcionalesen
texto plano como pruebas de software automatizadas.
Cucumber fuecreada en2008 por Aslak Hellesoy yestá escritoenRuby, aunque tieneimplementaciones
para casicualquierlenguaje deprogramación: JRuby (usando Cucumber-JVM), Java, Groovy, JavaScript,
JavaScript(usando Cucumber-JVMy Rhino), Clojure, Gosu, Lua, .NET(usando SpecFlow), PHP (usando
Behat), Jython, C++o Tcl.
JUNIT5 JUnit 5 es la próxima generación deJUnit.El objetivo es crearuna baseactualizada para las pruebasdel
lado del desarrollador en la JVM. Estoincluye centrarseen Java 8 y superior, así como habilitarmuchos
estilos diferentes de prueba.
JUnit 5 es el resultado de JUnit Lambda y su campaña de crowdfunding en Indiegogo.
SEGURIDAD
Se puede ayudar a que las
aplicaciones sean más seguras, ya
que el ambiente de desarrollo y
producción se crean en la misma
manera y en los mismos estándares
de seguridad y ensayo.
Hay que mover la seguridad hacia la
izquierda, y así ofrecer a las
organizaciones la oportunidad de
reducir los riesgos deseguridad enel
softwarey a los grupos de seguridad
poder adelantar sus procesos,
SONARQUBE SonarQube (conocido anteriormente como Sonar1) es una plataforma para evaluar código fuente.Es
softwarelibre y usa diversas herramientas de análisis estático decódigo fuentecomoCheckstyle, PMD
o FindBugs para obtenermétricas quepueden ayudar a mejorarla calidad delcódigo deun programa.2
OWASP OWASP ZAP (abr. para Zed AttackProxy) es un escánerde seguridad webde código abierto. Pretende
ser utilizado como una aplicación de seguridad y como una herramienta profesional para pruebas de
penetración.
Es uno de los proyectos más activos de OWASP.1 y se le ha dado un estatus de desarrollo insignia.2
OWASP ZAP ha sido traducido a por lo menos 25 idiomas.
Cuándo seusa comoservidor proxy permitea los usuarios manipular todo el tráfico que pasa a través de
éste, incluyendo el tráfico del protocolo seguro HTTPS.
La aplicaciónpuededesempeñarse en modo residente el cual es controlado mediante el API REST.
Esta herramientas es multiplataforma, pues se ha escrito en Java y está disponible en sistemas tales
como Windows, Linux y Mac OS X.
ZAP fue añadido al Radar deTecnología de ThoughtWorks en mayo de 2015 en el anillo de prueba.4
NESSUS Nessus es un programa deescaneo devulnerabilidades endiversos sistemas operativos. Consisteenun
demonio o diablo, nessusd,querealiza elescaneoenel sistema objetivo, y nessus,elcliente(basado en
consola o gráfico) que muestra el avance e informa sobre el estado de los escaneos. Desde consola
nessus puede ser programado para hacer escaneos programados con cron.
En operaciónnormal, nessus comienza escaneando los puertos con nmapo con su propio escaneador
de puertos para buscar puertos abiertos y después intentar varios exploits para atacarlo.Las pruebas de
vulnerabilidad, disponibles comouna larga lista deplugins, sonescritos en NASL (Nessus Attack Scripting
Language, Lenguaje de Scripting de Ataque Nessus por sus siglas en inglés), un lenguaje scripting
optimizado para interacciones personalizadas en redes.
Opcionalmente,los resultados delescaneo pueden ser exportados comoinformes en varios formatos,
como texto plano, XML,HTML, y LaTeX.Los resultados también pueden ser guardados en una basede
conocimiento para referencia en futuros escaneos de vulnerabilidades.
Algunas de las pruebas de vulnerabilidades de Nessus pueden causar que los servicios o sistemas
operativos secorrompan y caigan. El usuario puedeevitar estodesactivando"unsafetest"(pruebasno
seguras) antes de escanear.
Actualmente existen dos versiones: "Home"y "Work"Esta última de pago y sin restricciones.
FORTIFY Fortify es unSCAutilizado para encontrarlas vulnerabilidades deseguridad en elcódigo desoftware. Se
configurarnun conjunto de reglas contra las cuales se ejecutará el código.
HP Fortify SCAtiene 6analizadores: flujo dedatos, flujodecontrol,semántico, estructural, configuración
y buffer. Cada analizador encuentra diferentes tipos de vulnerabilidades.
QUALYS Qualys es un proveedor aprobado de escaneos PCI. Escaneos de vulnerabilidades y de configuración
altamente precisos. Fácil de implementar, administrar y operar. Es lo suficientemente escalablepara
proteger una red internacional
CONTRAST Ofrece una solución deAutoprotección deaplicaciones en tiempo deejecución (RASP) y una solución de
Pruebas de seguridad de aplicaciones interactivas (IAST).
Las soluciones de Contrast Security se integran en las aplicaciones de los usuarios y trabajan
continuamenteen segundo plano.La primera partedeContrast Security Suite, llamada Contrast Assess,
alerta a los desarrolladores cuando sedescubreuna vulnerabilidad. La segunda partedela suite, llamada
ContrastProtect,utiliza elmismoagenteincorporado y trabaja enel entorno deproducción, buscando
vulnerabilidades y amenazas desconocidas, e informa de lo que encuentra a una consola SIEM, un
firewall de próxima generación o cualquier otra herramienta de seguridad.
OPENVAS OpenVAS (Open VulnerabilityAssessment System,1 inicialmentedenominado GNessUs), es una suitede
software, que ofrece un marco de trabajo para integrar servicios y herramientas especializadas en el
escaneo y gestión de vulnerabilidades de seguridad de sistemas informáticos.
Desde la versión4.0,OpenVAS permite la actualización continua -usualmenteen periodos inferiores a
24 horas-de la base de Pruebas de Vulnerabilidades de Red (NVTpor sus siglas en inglés). Ajunio de
2016, contaba con más de 47.000 NVTs.2
OpenVAS es una herramienta principal de OSSIM, todos los productos que la componen son software
libre y la mayoría de ellos son distribuidos bajo licencia GPL.
Estructura de OpenVAS 8
La versión7 de OpenVAS introdujo 2 cambios en suarquitectura, por una partesesuprimióel módulo
Administradorque seintegróal módulo Manager, y por otra parte, sesuprimióel clientede escritorio
GSD para en su lugar centrarse en los avances de su cliente web. OpenVAS 8 introdujo nuevas
características y mejoras en virtualmente todas las áreas, no obstante, sin cambios estructurales.
TWISTLOCK TWISTLOCK Ofrece Seguridad del contenedor en todo el ciclo de vida de la aplicación
Twistlock es el proveedor líder de contenedores de ciclo de vida completo de pila completa y de
ciberseguridad nativa en la nube para equipos que utilizan Docker, Kubernetes, sin servidor y otras
tecnologías nativas en la nube. Twistlock se integra con cualquier registro y herramienta de CI, y se
ejecuta en cualquier lugar queelija para ejecutar sus máquinas virtuales, contenedores y aplicaciones
nativas en la nube.
AQUA Full lifecycle.
Full stack.
Enterprise grade.
Aqua proporciona una seguridadtotalen todo su CI / CD y el entorno detiempo deejecución, lo que le
brinda visibilidad de extremo a extremo y protege sus aplicaciones contra ataques.
Automatizar DevSecOps
“Cambiea la izquierda”la seguridad desdeel principioen la tubería de DevOps, acelerando la entrega
de aplicaciones y eliminando obstáculos para la transformación digital.
Modernizar la seguridad
Asegure el flujo de "buen código"con controles conscientes de la aplicación mientras detecta y evita
automáticamente la actividad sospechosa de la aplicación.
Cumplimiento y Auditoría
Aplique el cumplimiento normativocon controles e informes granulares a nivelde contenedoren todo
el ciclo de vida de la aplicación nativa de la nube.
Contenedores y funciones sin servidor
Extienda la seguridad a los contenedores y funciones sin servidor, permitiendo una implementación
elástica y segura para servicios como AWS Fargate y Lambda.
Nube híbrida y Multi-Cloud
Habilite la migración segura a la nube, la nubehíbrida y las implementaciones de múltiples nubes,con
controles persistentes que viajan con sus cargas de trabajo.
Securosis Container Security Guide
El libro de cocina definitivo para asegurar aplicaciones en contenedores, desdela comprensión de los
riesgos hasta su mitigación, por los expertos de Securosis.
DESPLIEGUE Y OPERACIÓN
La práctica de Entrega y Despliegue
Continuo acompaña y amplía las
actividades de Integración Continua
de software, automatizando lo
máximo posible la verificación
funcional del software y la
implementación de todos los
cambios en el código, ya sea en el
entorno de pruebas y/o el de
producción.
Aplicar en conjunto todas estas
prácticas dentro de una filosofía
DevOps, mejorará sinduda laCalidad
del Software y el Time to marketde
nuevas funcionalidades y
actualizaciones.
PUPPET Puppet está diseñado para administrar la configuración de sistemas Unix y Microsoft Windows de
manera declarativa. El usuariodescribelos recursos del sistema y suestado,ya sea utilizando ellenguaje
declarativodePuppet o un DSLdeRuby (lenguaje específico del dominio). Esta información sealmacena
en archivos llamados "manifiestos detíteres". Puppet descubre la información delsistema a través de
una utilidadllamada Facter y compila los manifiestos de Puppet en un catálogo específicodel sistema
que contienerecursos y dependencia de recursos, que se aplican contra los sistemas de destino. Las
acciones tomadas por Títeres son reportadas.
SALTSTACK Salt es un software de gestión de configuración de código abierto basado en Python y un motor de
ejecuciónremota.Al respaldarelenfoque de"Infraestructura comocódigo"para la implementacióny la
administración de la nube, compite principalmente con Puppet, Chefy Ansible.
ANSIBLE Ansible es una plataforma de software libre para configurar y administrar computadoras. Combina
instalación multi-nodo, ejecuciones de tareas ad hoc y administración de configuraciones.
Adicionalmente, Ansible es categorizado como una herramienta de orquestación.
CHEF Chef, una herramienta básica de automatización. Chefes un producto,que además de convertirseen
una herramienta básica en eldía a día de nuestrodepartamento IT, nos permite abrazar totalmente la
metodología de trabajo DevOps.
MONITOREO
El monitoreo en la tecnología es
sumamente importante por una
simple razón: ni tú ni yo tenemos la
habilidad de visualizar el flujo debits
creado en la interacción de los
usuarios y nuestros productos. En
esencia, este flujo transporta el
conocimiento que necesitamos para
progresar.
Hablemos específicamente de tres
tipos:
1. Monitoreo del Negocio
2. Monitoreo de Servidores
3. Monitoreo de Aplicación
Para lograr monitorear cualquier
aplicación es necesario
instrumentarla en primer lugar, de
esta manera podemos medirel nivel
de su rendimiento, detectar
problemas o simplemente escribir
información de rastreo sobre su
funcionamiento.
Log files (archivos de registro), la
cantidad desolicitudes http o incluso
las visitas a ciertas páginas dentrode
su sitio web (utiliza Google Analytics
para capturar estos datos), son las
fuentes de la información para
visualizar las “tripas” de tus
aplicaciones.
SENSU La solución más adecuada para aquellos que necesitanun marco de monitorización ligero y escalable
con una interfaz gráfica de usuario estilizada.
La plataforma demonitorizaciónúnica sepuede utilizarpara varios servidores, incluyendo los servidores
completos, virtuales y basados en la nube, servicios tales como servidores y bases de datos web,
aplicaciones web, recursos de terceros y dispositivos de red tales como routers y conmutadores.
La arquitectura deSensu,quecuenta con unagentedemonitorización, procesador de eventos, RESTful
API, almacenamiento dedatos, transporteseguro y unProgramador deRealización deComprobaciones,
permite la realización de comprobaciones de servicio, eventos de procesamiento y recopilar datos de
parámetros a escala. Además,el clienteSensu dispone deun conector TCP y UDP susceptiblede recibir
datos externos JSON,quepermitena las aplicaciones utilizar la interfaz para enviar datos deparámetros
específicos de la aplicación o informar sobre errores a Sensu.
Mientras que Sensu Core es gratis, la edición Sensu Enterprise, que está basada en el marco abierto
Sensu Core,está sujeta a una suscripciónmensual debido a sus funcionalidades mejoradas y alservicio
técnico.
ELK STACK ELK Stack or Elastic Stack 
ELK ha sido rebautizada comoElasticStack. La pila de ELK es una increíbley poderosa colección de tres
proyectos de código abierto: Elasticsearch, Logstash y Kibana. Apesar de que cada una de estas tres
tecnologías es un proyecto independiente, se han creado para funcionar excepcionalmente bien en
conjunto.
Elastic Stack es una solución completa de análisis de registro de extremo a extremo que ayuda en la
búsqueda profunda, elanálisis y la visualización del registro generado desde diferentes máquinas.
NAGIOS Nagios es un sistema de monitorización de redes y servidores de código abierto, que se encarga de
observar equipos (hardware) y/o servicios (software) generandoalertas cuando elcomportamientode
los mismos no sea el deseado.
SPLUNK Splunk es una empresa multinacional de softwarequeofrece suplataforma central, Splunk Enterprise,
así como muchas ofertas relacionadas basadas en la plataforma Splunk.
La plataforma ayuda a una granvariedad de personas de la organización, como analistas, operadores,
desarrolladores,evaluadores, gerentes y ejecutivos. Obtieneninformación analítica delos datos creados
por la máquina.
Recopila, almacena y proporciona potentes capacidades analíticas, loque permitea las organizaciones
actuar con información a menudo poderosa derivada de estos datos.
La plataforma Splunk Enterprise fue construida teniendo en cuenta las operaciones de TI. Cuando las
empresas tenían problemas con la infraestructura de TI, la solución de problemas y la solución de
problemas eran inmensamente difíciles, complicadas y manuales.
Fue construido para recopilar y hacer que los archivos de registro de los sistemas de TI puedan ser
consultados y accesibles. Se usa comúnmentepara la seguridadde la información y las operacionesde
desarrollo,así como casos deusomás avanzados para máquinas personalizadas, Internet delas cosas y
dispositivos móviles.
NEW RELIC Monitoreo dedesempeño deaplicaciones basado enSaaS para ayudarloa construir, liberar y mantener
su software en óptimas condiciones.
La herramienta software-como-servicio (SaaS) New Relic APM está diseñada para proveer profunda
visibilidad en el desempeño de sus aplicaciones, desde la experiencia del usuario final, pasandopor
servidores,a travésdeaplicaciones distribuidas,yhastalalíneadecódigo.NewRelicAPMes unproducto
de New Relic Insights quele permitirá detectar problemas inesperados y ayudar a su equipo a reducir
tiempo de resolución.
Soporte para Java, .NET, Ruby,Python, PHP y Node.js asícomo más de70 frameworks. Eliminela brecha
entre equipos dedesarrolloy operaciones al brindarles una sola interfaz para analizar cada aspecto del
ambiente de sus aplicaciones.
ESCALAMIENTO
La escalabilidad es la capacidad del
software para adaptarse a las
necesidades de rendimiento a
medida que el número de usuarios
crece, las transacciones aumentany
la base de datos empieza a sufrir
degradamiento delperformancepor
las cargas crecientes.
HablamosdeEscalabilidadHorizontal
y Vertical
AWS
GOVCLOUD
AWS GovCloud (EE. UU.) Brinda a los clientes gubernamentales y sus socios la flexibilidad para diseñar
soluciones denubeseguras quecumplan con: la línea de base deFedRAMP, la política deseguridadde
los Sistemas de informaciónde justicia penal (CJIS) del DOJ,el Reglamento de tráfico internacionalde
armas de EE. UU. Reglamentos de administración (EAR), Guía de requisitos de seguridad (SRG) del
Departamento de Defensa (DoD) para los niveles de impacto 2, 4 y 5, FIPS 140-2, IRS-1075 y otros
regímenes de cumplimiento.
Desde información de identificaciónpersonal (PII), registros médicos confidenciales depacientes y datos
financieros hasta datos de cumplimiento de la ley, datos controlados de exportación y otras formasde
CUI, AWS GovCloud (EE. UU.) Regions puedeayudara los clientes a cumplir con elcumplimientoen cada
etapa de su viaje en la nube.
milCLOUD milCloud es una cartera de productos de servicios en la nube, administrada por DISA(Defense
Information Systems Agency), que cuenta con una suite integrada ... requerida para administrar el
entorno operativo virtual (VOE), a través de la capa del sistema operativo.
• Cumple con los requisitos de DoD para infraestructura de nube
Servicios en sus instalaciones del centro de datos.
• Conecta las ofertas de servicios de nube comercial a DoD
Redes en un modelo de despliegue privado.
• Proporciona a los socios de la misión DISA la última nube.
Tecnología a precios competitivos sin
rendimiento comprometedor
• Servicios de alojamiento de infraestructura flexible adaptados para
sistemas gubernamentales sensibles
• Aplicaciones bajo demanda y tecnología de autoservicio.
Eso elimina costos y complejidad.
GOOGLE
CLOUD
PLATFORM
Gooogle Cloud Platform, es una suite que contiene diversos servicios que funcionan en la misma
infraestructura queutiliza Googledemanera interna,por ejemploconservicios comoYoutubeo Google
Search. Elconjunto deherramientas queproporciona la suiteabarca CloudComputing,Networking, Data
Storage, Data Analytics, Machine learning, etc.
Cloud Platform provee los productos, servicios y herramientas para poder diseñar, realizar testing y
lanzar las aplicaciones en la plataforma garantizando una gran escalabilidad y seguridadgracias aldiseño
de la infraestructura proporcionada por Google.
Esta infraestructura se divide en regiones y zonas. Al trabajar en distintas regiones se debe tener en
cuenta el coste adicional para el tráfico de red entre éstas. Este enlace contiene información más
detallada sobre este tema.
Dentro la variedadde productos y servicios dentro de la plataforma, vamos a mencionar las siguientes
categorías:
Computing
Networking
Storage
Big data
Machine learning
AZURE Microsoft Azure es conjunto en constante expansión de servicios en la nube para ayudar a su
organización a satisfacer sus necesidades comerciales. Le otorga la libertad de crear, administrar e
implementar aplicaciones en una red mundial enorme con sus herramientas y marcos favoritos.
En el portal Microsoft Azure existen diferentes servicios de infraestructura y de plataforma para que
puedas “montar” los servicios que necesites de manera sencilla, con unos cuántos clics. En tu portal
dispones deun botón[New +]y a partir deahí, sólotienes queelegir la región delos datacenter donde
estará tu servicio y, a continuación, el tipo deservicioconsus características. Por ejemplo, en elcaso de
querer crear una máquina virtual podrías seleccionar el tipo de máquina como Windows Server 2016
Datacenter, a continuación, rellenar todos sus características (espaciode disco, RAM…).En esteproceso
de creación, sedefine un nombrede usuario y contraseña específica para poder iniciar sesión en esta
máquina virtual.
Entre los servicios, dispones de infraestructuras (IaaS: almacenamiento,redes, máquinas virtuales…) y
plataformas (PaaS: bases de datos dealta disponibilidadSQL, CMS para desarrollodeweb, backendpara
aplicaciones móviles…). Soncompatibles con todo tipodetecnología: bases dedatos Oracle,Linux,php,
iOs, My SQL, Android, php
Estos servicios están garantizados con una disponibilidad del99.99%,y encaso defallo endisponibilidad
superior, Microsoft se compromete a indemnizar por los daños. Además, cuenta con todas las
certificaciones enmateria seguridad y protección dedatos. ¿Sabías quees la primera plataforma cloud
que cumple en categoría alta las características dela certificación deconformidad delEsquema Nacional
de Seguridad?
AMAZON
WEB
SERVICES
AmazonWebServices,tambiénconocidacomoAWS,es unconjuntodeherramientasyserviciosdecloud
computing de Amazon. Esteservicio se lanzó oficialmenteen 2006y para juniode 2007 AWSya contaba
con una basede usuarios de aproximadamente180milpersonas.Entre las empresas quela utilizan se
encuentran algunas comoReddit,Foursquare, Pinterest,Netflix, la NASAo la CIA, y algunas españolas
como Mapfre, el FC Barcelona o Interflora. Esto se debeprincipalmentea la madurez delservicio frente
a otros similares y las posibilidades queofreceel amplio abanico deherramientas disponibles.En la Guía
de Cloud Computing podrá encontrar una comparativa de todas las herramientas de Amazon Web
Services con las de otras plataformas similares.
Herramientas de Amazon Web Services
La tendencia general para las plataformas en la nube es la de ofrecer la mayor cantidad posiblede
herramientas y servicios, para queasíse pueda creartodo un entornode computación en una misma
nube. Al igual que otras plataformas comoMicrosoft Azure,Amazondisponede una gran cantidadde
herramientas para la gestiónde diferentes elementos dentrode la empresa.Los servicios deAWS están
preparados tanto para autónomos,como pequeñas y medianas empresas o grandes corporaciones,ya
que existen posibilidades para escalar las instancias o el almacenamiento según su empresa vaya
también creciendo.
Amazon Web Services ofrece herramientas en las siguientes categorías:
Cloud computing:
Bases de datos
Creación de redes virtuales
Aplicaciones empresariales
Almacenamiento y gestores de contenido
Amazon Glacier o Amazon EBS.
TECHNOLOGY STACK
Plataformas que ofrecen todas las
herramientas necesarias para
implementar full devops, integracion
Continua/Deliverly Continuo
CIRCLECI Todo lo que los grandes equipos necesitan.
Flujos de trabajo para la orquestación de trabajo
Defina y organice cómo seejecuta la ejecucióndel trabajo(como compilación, prueba, implementación),
lo que le brinda un control completo sobre su proceso de desarrollo en múltiples configuraciones
compatibles. Aprenda cómo programar trabajos con flujos de trabajo.
Soporte Docker de primera clase
Ejecute cualquier imagen del registro público / privado de Docker u otros registros comunes,
personalizables por trabajo. Creeimágenes de Docker, acceda alalmacenamientoen cachéde la capa
de Docker, Redactar y más.
Use imágenes Docker de CircleCI pre-construidas.
Elija la CPU / RAMque necesita
Configure fácilmentesus recursos (cómputo/ memoria) para adaptarse mejor a las necesidades de su
equipo para compilaciones específicas. Aprenda cómo habilitar recursos configurables en su cuenta.
Soporte de lenguaje-agnóstico
Admite cualquierlenguaje que se baseenLinux o macOS, incluidos C ++, Javascript, .NET, PHP, Python y
Ruby. Ustedes libredeusar cualquier cadena deherramientas, marcoo versiónquedesee. Verguías de
idiomas y tutoriales.
Almacenamiento en caché de gran alcance
Acelere sus construcciones con opciones de almacenamiento en caché expandidas, que incluyen
imágenes, código fuente, dependencias y cachés personalizados. Obtenga control sobre el
almacenamiento en caché y restaure puntos en sus trabajos para obtener un rendimiento óptimo.
SSH o compilaciones locales para una fácil depuración
Encuentrey resuelva problemas rápidamenteutilizandoel acceso SSH o ejecute trabajos en suentorno
local para asegurar una soluciónmás rápida de los problemas. Aprenda a depurar conSSH y con el CLI
de CircleCI.
Seguridad incomparable
Los controles que necesita para estar seguro de que su código está protegido: LDAP para la
administración de usuarios, el registro de auditoría, el aislamiento de máquinas virtuales de nivel
completo y más. Lea más sobre nuestras características de seguridad.
Insights
Nuestro panel visual interactivo le permite ver todas sus compilaciones en CircleCI de un vistazo.
Personalice sus vistas desdelas compilaciones más fallidas hasta las pruebas más lentas y más.Obtenga
más información sobre Insights.
BAMBOO Bamboo puede ejecutar múltiples builds en paralelo para una finalización más rápida
En caso de fallas decompilación,Bamboo proporciona unanálisis dela falla, incluyendo un seguimiento
de pila
Bamboo proporciona una API RESTque proporciona información sobreel servidor, el estado actualde
sus compilaciones, etc.
Bamboo se integra con algunos proyectos de software:
Bamboo tiene una funcionalidad integrada para conectarse con repositorios como Git, Apache
Subversion, Mercurial, Sistema de versiones concurrentes, Perforce, Bitbucket, etc.
En términos deherramientas de compilación, Bamboo ha desarrollado tareas para herramientascomo
Ant, Maven, Make, MSBuild, etc. Le permite programar en una variedad de idiomas.
Bamboo admite complementos para otros programas.
Bamboo admite herramientas de prueba como PHPUnit, JUnit, Selenium.
Bamboo está estrechamente relacionadocon otros productos de Atlassian, como JIRA (seguimientode
errores / problemas), Confluence (softwarecolaborativo) y la herramienta decobertura de códigoClover
Java. Asíquetodos los miembros del equipo, incluidos los gerentes y los evaluadores,pueden teneruna
idea clara de lo que está sucediendo en el proyecto.
Las notificaciones decompilación sepueden personalizar según eltipode eventoy se pueden recibira
través deThe Wallboard,correoelectrónico,mensaje instantáneo, RSS, o ventanas emergentes en IDE
basados en Eclipse e IntelliJ IDEA. Puede importar datos de Jenkins.
JENKINS Jenkins es un servidor de integración continua, gratuito, open-source y actualmente uno de los más
empleados para esta función. Además es muy fácil de utilizar. Lo puedes descargar desde aquí.
Esta herramienta, proviene de otra similar llamada Hudson, ideada por Kohsuke Kawaguchi, que
trabajaba en Sun. Unos años después de que Oracle comprara Sun, la comunidad de Hudson decidió
renombrar el proyecto a Jenkins, migrar elcódigoa Githuby continuar el trabajodesdeahí. No obstante,
Oracle ha seguido desde entonces manteniendo y trabajando en Hudson.
La basedeJenkins son las tareas, dondeindicamos quées lo que hay que hacer enunbuild. Por ejemplo,
podríamos programar una tarea en la que se compruebe el repositorio de control de versiones cada
cierto tiempo,y cuandoun desarrollador quiera subir sucódigo al controlde versiones,estesecompile
y se ejecuten las pruebas.
Si el resultado no es elesperadoo hay algúnerror, Jenkins notificará aldesarrollador, al equipo deQA,
por email o cualquier otro medio, para que lo solucione. Si el build es correcto, podremos indicara
Jenkins que intente integrar el código y subirlo al repositorio de control de versiones.
Pero la cosa no queda ahí. Una delas cosas buenas quetieneJenkins es que además depoder ayudarte
a integrar el código periódicamente, puede actuar como herramienta que sirva de enlace en todo el
proceso de desarrollo.
Desde Jenkins podrás indicar queselancen métricas de calidad y visualizar los resultados dentro de la
misma herramienta. También podrás verelresultado delos tests, generar y visualizar la documentación
del proyecto o inclusopasar una versión establedelsoftwarealentorno deQApara serprobado,a pre-
producción o producción.
CONTENEDORES/GESTION
Los contenedores se han convertido
en nuestras piezas de rompecabezas.
Lo tomamos, hacemos lo que
necesitamos y lo dejamos. Nos
alivian (en su mayor parte) la
necesidad de preocuparnos por los
problemas de implementación y nos
permiten centrarnos en obtener la
parte de la aplicación que
representan.
Así que con los contenedores,tienes
una caja. La gestión de la caja es
manejada por DevOps. La única
pregunta querealmenteimporta es:
"¿Qué vas a poner en la caja?"Yeso
es muy bueno: preocuparse menos
durante el desarrollo significa más
tiempo para hacer que todoloquese
presente en la caja sea unproblema.
DOCKER Docker es una plataforma de software que le permite crear, probar e implementar aplicaciones
rápidamente. ... Con Docker, puede implementar y ajustar la escala de aplicaciones rápidamenteen
cualquier entorno con la certeza de saber que su código se ejecutará.
Los contenedores de imagen de Docker se pueden ejecutar de forma nativa en Linux y Windows. Sin
embargo, las imágenes de Windows solo pueden ejecutarse en hosts de Windows y las imágenes de
Linux pueden ejecutarseenhosts de Linux y hosts deWindows (con una máquina virtual Linuxde Hyper-
V, hasta el momento), donde host significa un servidor o una máquina virtual.
Los desarrolladores puedenusar entornos de desarrolloen Windows, Linuxo macOS. En el equipo de
desarrollo, el desarrollador ejecuta un host de Docker en que se implementan imágenes de Docker,
incluidas la aplicacióny sus dependencias. Los desarrolladores que trabajan enLinux o en Macusanun
host de Docker basado en Linux y pueden crear imágenes solo para contenedores de Linux. (Los
desarrolladores quetrabajanen Macpueden editar códigoo ejecutar la CLI de Docker en macOS, pero
en el momentoderedactar esteartículo,los contenedores no se ejecutan directamente en macOS). Los
desarrolladores que trabajan en Windows pueden crear imágenes para contenedores de Windows o
Linux.
KUBERNETES Kubernetes es un sistema de código libre para la automatización del despliegue, ajuste de escala y
manejo de aplicaciones encontenedores que fueoriginalmente diseñado por Google ydonado a la Cloud
Native Computing Foundation. Soporta diferentes ambientes para la ejecución contenedores, incluido
Docker.
Kubernetes fue desarrollado y diseñado originalmentepor ingenieros deGoogle.Google fueuno delos
primeros colaboradores de la tecnología de contenedores de Linux,y ha declarado públicamenteque
todo lo ejecutanen contenedores. (Los contenedores son la tecnología subyacente de los servicios de
nube de Google).
si bien Kubernetes soporta varios tipos decontenedores diferentes el mas común y popular es Docker,
en esta sociedadperfecta queforman ambos, Dockeres elque seencarga de crear las imágenes y los
contenedores que se van a utilizar y Kubernetes se encarga de gestionar todo.
Ambos tienen la ventaja deserde códigoabierto,esto es una ventaja no solo por un tema económico,
sinoquelofundamentaldeestepuntoesquealseropen-sourcenosdala opcióndeadaptarloa nuestras
necesidades con libertad sinestar atadoa las limitaciones de una licencia y a las limitaciones técnicas
que muchas veces enfrentamos con un producto cerrado
Si bien Docker mismo permite ejecutar los contenedores creados y las herramientas degestiónquenos
provee puedenser suficientes para gestionar unsolo servidor, resultan muy poco practicas de utilizar a
gran escala para montar una infraestructura distribuida demúltiples contenedores corriendoen talvez
docenas o cientos de servidores al mismo tiempo.
Para estosenecesita un sistema que seencarguedegestionar todoelcluster deservidores, eso significa
un sistema que se encargue de distribuir los contenedores a través del sistema según los recursos
disponibles enel cluster,ademas decrear, ejecutar,vigilar, medir,destruir y relanzar los contenedores,
debe mantenery controlaren todomomento cada aspectorelevantede los contenedores y su estado,
de todo eso y mas se encarga Kubernetes.

Más contenido relacionado

La actualidad más candente

PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHubdrsevilla
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque prácticoPatxi Gortázar
 
2 Aplicaciones prácticas de software libre
2 Aplicaciones prácticas de software libre2 Aplicaciones prácticas de software libre
2 Aplicaciones prácticas de software libreOpen Xarxes coop. v.
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJCMicael Gallego
 
Herramientas de visualización de datos
Herramientas de visualización de datosHerramientas de visualización de datos
Herramientas de visualización de datosBBVA API Market
 
Control de versiones utilizando subversion
Control de versiones utilizando subversionControl de versiones utilizando subversion
Control de versiones utilizando subversionJulio Pari
 
Forjas de Software: qué son y para que sirven
Forjas de Software: qué son y para que sirvenForjas de Software: qué son y para que sirven
Forjas de Software: qué son y para que sirvenIñaki Arenaza
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a GitSergio Rus
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en DockerJavier Villegas
 
Googlechrome[1]
Googlechrome[1]Googlechrome[1]
Googlechrome[1]ilseM10
 
Presentación linux para windows
Presentación linux para windowsPresentación linux para windows
Presentación linux para windowsrascachud
 

La actualidad más candente (20)

PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
 
Funkschau 2013-español
Funkschau 2013-españolFunkschau 2013-español
Funkschau 2013-español
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque práctico
 
Versionamiento
VersionamientoVersionamiento
Versionamiento
 
2 Aplicaciones prácticas de software libre
2 Aplicaciones prácticas de software libre2 Aplicaciones prácticas de software libre
2 Aplicaciones prácticas de software libre
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJC
 
Herramientas de visualización de datos
Herramientas de visualización de datosHerramientas de visualización de datos
Herramientas de visualización de datos
 
Control de versiones utilizando subversion
Control de versiones utilizando subversionControl de versiones utilizando subversion
Control de versiones utilizando subversion
 
OpenShift y PostgreSQL
OpenShift y PostgreSQLOpenShift y PostgreSQL
OpenShift y PostgreSQL
 
Forjas de Software: qué son y para que sirven
Forjas de Software: qué son y para que sirvenForjas de Software: qué son y para que sirven
Forjas de Software: qué son y para que sirven
 
Atix30
Atix30Atix30
Atix30
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en Docker
 
Googlechrome[1]
Googlechrome[1]Googlechrome[1]
Googlechrome[1]
 
Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...
Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...
Creación de jaulas chroot para el mantenimiento de aplicaciones Web mediante ...
 
Sistemas operativos q
Sistemas operativos qSistemas operativos q
Sistemas operativos q
 
Git / Guía Básica
Git / Guía BásicaGit / Guía Básica
Git / Guía Básica
 
FROM lost to the docker
FROM lost to the dockerFROM lost to the docker
FROM lost to the docker
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Presentación linux para windows
Presentación linux para windowsPresentación linux para windows
Presentación linux para windows
 

Similar a EcoSistema DevOps DevSecOps un pequeño brief

[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versionesEudris Cabrera
 
Electonica de potencia, diodos de rectificacion
Electonica de potencia, diodos de rectificacionElectonica de potencia, diodos de rectificacion
Electonica de potencia, diodos de rectificacionBEYMARCALLECONDE
 
Visual basic 6.0
Visual basic 6.0 Visual basic 6.0
Visual basic 6.0 Adrian Daza
 
sistemas operativos.pptx
sistemas operativos.pptxsistemas operativos.pptx
sistemas operativos.pptxWilson Cardenas
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicasGerardo Linares
 
Maquinas Virtuales ⒽⓈⒽ
Maquinas Virtuales ⒽⓈⒽMaquinas Virtuales ⒽⓈⒽ
Maquinas Virtuales ⒽⓈⒽHenry Upla
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativorosadmd11
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDaniel Cruz
 
Herramientas case[procesamiento de lenguaje analisis de p
Herramientas case[procesamiento de lenguaje   analisis de pHerramientas case[procesamiento de lenguaje   analisis de p
Herramientas case[procesamiento de lenguaje analisis de pManuel Villalta
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionjuanpi1991
 
Diana marcela arias escobar
Diana marcela arias escobarDiana marcela arias escobar
Diana marcela arias escobarmarcelayuyeimi
 

Similar a EcoSistema DevOps DevSecOps un pequeño brief (20)

Visual basic
Visual basicVisual basic
Visual basic
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
 
Electonica de potencia, diodos de rectificacion
Electonica de potencia, diodos de rectificacionElectonica de potencia, diodos de rectificacion
Electonica de potencia, diodos de rectificacion
 
Visual basic 6.0
Visual basic 6.0 Visual basic 6.0
Visual basic 6.0
 
ejemplos tipos de software
ejemplos tipos de softwareejemplos tipos de software
ejemplos tipos de software
 
sistemas operativos.pptx
sistemas operativos.pptxsistemas operativos.pptx
sistemas operativos.pptx
 
Trabajo de power point
Trabajo de power pointTrabajo de power point
Trabajo de power point
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 
maquinas virtuales
maquinas virtualesmaquinas virtuales
maquinas virtuales
 
Maquinas Virtuales ⒽⓈⒽ
Maquinas Virtuales ⒽⓈⒽMaquinas Virtuales ⒽⓈⒽ
Maquinas Virtuales ⒽⓈⒽ
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Ug rloor
Ug rloorUg rloor
Ug rloor
 
Ug rloor
Ug rloorUg rloor
Ug rloor
 
UG-RLOOR
UG-RLOORUG-RLOOR
UG-RLOOR
 
Ug rloor
Ug rloorUg rloor
Ug rloor
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
MAQUINAS VIRTUALES
MAQUINAS VIRTUALESMAQUINAS VIRTUALES
MAQUINAS VIRTUALES
 
Herramientas case[procesamiento de lenguaje analisis de p
Herramientas case[procesamiento de lenguaje   analisis de pHerramientas case[procesamiento de lenguaje   analisis de p
Herramientas case[procesamiento de lenguaje analisis de p
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacion
 
Diana marcela arias escobar
Diana marcela arias escobarDiana marcela arias escobar
Diana marcela arias escobar
 

Último

PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 

Último (7)

PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 

EcoSistema DevOps DevSecOps un pequeño brief

  • 1. PLANEAR Y DESARROLLAR Planear es proporcionar unmarcode trabajo que permita al gestorhacer estimaciones razonables de recursos costos y planificación temporal. Desarrollar, por otro lado, es la construcción de los distintos entregables que se planifican en la etapa de planear. GITHUB GitHub es una forja (plataforma de desarrollocolaborativo) para alojar proyectos utilizandoel sistema de controlde versiones Git. Seutiliza principalmente para la creaciónde código fuente deprogramas de computadora.El softwareque opera GitHub fueescritoen Ruby on Rails. Desde enero de2010, GitHub opera bajo el nombrede GitHub,Inc. Anteriormenteera conocida comoLogicalAwesomeLLC. El código de los proyectos alojados enGitHub sealmacena típicamentede forma pública, aunque utilizando una cuenta de pago, también permite hospedar repositorios privados. BITBUCKET Bitbucket es un servicio de alojamiento basado en web, para los proyectos que utilizanel sistema de control de versiones Mercurialy Git.Bitbucketofrece planes comerciales y gratuitos.Se ofrece cuentas gratuitas con unnúmeroilimitadode repositorios privados (que puede tener hasta cincousuariosen el caso de cuentas gratuitas) desde septiembrede 2010,1 los repositorios privados nose muestran en las páginas deperfil - siun usuario sólo tiene depósitos privados,el sitiowebdará elmensaje"Esteusuario no tiene repositorios". El servicio está escrito en Python.2 Es similara GitHub,queutiliza Git. En una entrada deblog del2008,3 Bruce Eckelhaceuna comparación favorablemente de Bitbucket frente a Launchpad, que utiliza Bazaar. GIT Git (pronunciado"guit"2) es un software de controldeversiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número dearchivos de código fuente. Su propósito es llevar registro delos cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos. Al principio, Git sepensó comoun motordebajo nivelsobreelcualotros pudieranescribir la interfaz de usuario o front end como Cogito o StGIT. 3 Sin embargo, Git se ha convertido desdeentonces enun sistema de control deversiones confuncionalidad plena.4 Hay algunos proyectos demucha relevancia que ya usan Git, en particular, el grupo de programación del núcleo Linux. El mantenimiento del softwareGitestá actualmente(2009) supervisado por Junio Hamano,quien recibe contribuciones al códigode alrededorde 280programadores.En cuanto a derechos de autorGit esun softwarelibredistribuible bajo los términos de la versión 2 de la Licencia Pública General de GNU. JIRA El software JIRA es una de las herramientas de gestión de incidencias más populares. Una de las características que hacede JIRA una herramienta con granpotencial es su ecosistema de plugins,que permite ampliar las funcionalidades de la herramienta base. Entre los plugins deJIRA se encuentra Insight. Este pluginamplía las capacidades deJIRA, pasando de ser un gestor de incidencias a un gestor de incidencias y recursos. Con JIRA + Insight sepuedenmodelarlos objetos queforman partede una institución (desderecursos físicos,como equipos informáticos o mobiliario, a recursos abstractos,como contratos u oportunidades comerciales) y relacionarestos con incidencias en las queesténinvolucrados (por ejemplo: reparar un equipo informático, realizar un seguimiento comercial, etc.). Para manejar incidencias JIRA y objetos Insight existela posibilidad dellevar a cabolas acciones quese realizan habitualmente a través de la interfaz de usuario (crear/actualizar/borrar incidencias y objetos) mediante una API REST. Tanto el propio JIRA como Insight proporcionan API REST posibilitando la integración de JIRA con otras aplicaciones software. La documentación oficial de cada producto (JIRA e Insight) recoge todas las acciones que se pueden realizar a través delas API REST. Con una estructura deURLclara y unformato de peticiones y respuestas conciso,el manejo a través de las API RESTresulta amigable. Se incorporan diversos mecanismos para autenticar las peticiones. SUBVERSION Apache Subversion (abreviadofrecuentementecomoSVN, por el comando svn) es una herramientade control de versiones open source basada en un repositorio cuyo funcionamiento se asemeja enormementealde unsistema deficheros. Es software libre bajo una licencia de tipo Apache/BSD. Utiliza el concepto de revisión para guardar los cambios producidos en el repositorio. Entre dos revisiones sóloguardaelconjuntodemodificaciones (delta),optimizandoasíalmáximoelusodeespacio en disco. SVN permitealusuario crear, copiary borrar carpetas conla misma flexibilidad conla quelo haría si estuviese en su disco duro local. Dada su flexibilidad, es necesaria la aplicación de buenas prácticas para llevar a cabo una correcta gestión de las versiones del software generado. Subversion puedeacceder al repositorio a través deredes, loquelepermiteserusado por personasque se encuentranen distintas computadoras. Acierto nivel,la posibilidad de quevarias personas puedan modificar y administrar el mismo conjunto de datos desde sus respectivas ubicaciones fomenta la colaboración. Sepuede progresar más rápidamentesin unúnicoconductoporelcualdeban pasar todas las modificaciones. Ypuesto queeltrabajo seencuentra bajoelcontroldeversiones, nohayrazón para temer por que la calidaddelmismo vaya a verseafectada —si seha hechoun cambioincorrecto a los datos, simplemente deshaga ese cambio.2
  • 2. IBM RATIONAL CLEAR CASE Rational ClearCase es una familia deherramientas desoftware queadmitela gestión dela configuración del software del código fuente y otros activos de desarrollo de software Es el sistema de control de versiones de IBM. Cómo otros sistemas de controlde versiones, ClearCase almacena distintas versiones de los elementos que forman partedeun proyecto, que pueden serdirectorios o archivos.Estos elementos sealmacenan en un repositorio que en ClearCase se llama base de objetos de versionado (VOB). ClearCase proporciona un proceso degestión dela configuraciónllamado gestión del cambiounificado (UCM). UCMse situa sobre la base de ClearCase simplificando el trabajo. CONSTRUIR, build(compilación) se refiere al proceso que convierte archivos y otros activos bajola responsabilidad de los desarrolladores en un producto de software en su forma final o consumible. La construcción puede incluir: compilar archivos fuente empaquetado de archivos compilados en formatos comprimidos (como jar, zip) instaladores productores Creación o actualización de datos o esquemas de bases de datos. La compilación se automatiza cuando estos pasos son repetibles, no requieren intervención humana directa y se pueden realizar en cualquier momento sin otra información que la que se almacena en el repositorio de control de código fuente. MSBUILD Microsoft Build Engine, más conocido como MSBuild, es un conjunto de herramientas de creación de código abierto y gratuito para códigoadministradoy código C ++nativoy fue partede.NETFramework. Visual Studio depende de MSBuild, pero no al revés. Este motor, también conocidocomo MSBuild,proporciona unesquema XMLpara un archivodeproyecto que controla cómo la plataforma de compilación procesa y construye el software. Visual Studiousa MSBuild, pero nodependedeVisual Studio.Al invocar msbuild.exe en su proyectoo archivodesolución, puede organizar y crear productos en entornos donde Visual Studio no está instalado. Visual Studio usa MSBuild para cargar y crear proyectos administrados. Los archivos de proyectoen Visual Studio (.csproj, .vbproj, vcxproj y otros) contienen el código XML de MSBuild que se ejecuta cuando crea un proyecto utilizando el IDE. Los proyectos de Visual Studio importan todas las configuraciones necesarias y los procesos de compilación para realizar el trabajo de desarrollo típico, pero puede extenderlos o modificarlos desde Visual Studio o utilizando una edición XML. CMAKE CMake es una herramienta multiplataforma de generación o automatización de código. El nombrees una abreviatura para "cross platform make"(make multiplataforma); más allá deluso de"make"en el nombre, CMakees una suiteseparada y de más alto nivelque elsistema makecomún deUnix,siendo similar a las autotools. CMake es una familia de herramientas diseñada para construir,probar y empaquetarsoftware.CMake se utiliza para controlar el proceso de compilación del software usando ficheros de configuración sencillos e independientes de la plataforma. Cmakegenera makefiles nativos y espacios de trabajo que pueden usarse en elentorno dedesarrollo deseado. Es comparable al GNUbuild system deUnix enque el proceso es controladoporficheros de configuración, en elcaso deCMakellamados CMakeLists.txt. Al contrarioqueelGNUbuildsystem,queestárestringidoa plataformasUnix,CMakesoportala generación de ficheros para varios sistemas operativos, lo que facilita el mantenimientoy elimina la necesidadde tener varios conjuntos de ficheros para cada plataforma. El proceso de construcción se controla creando uno o más ficheros CMakeLists.txt en cada directorio (incluyendo subdirectorios). Cada CMakeLists.txt consisteenunoo más comandos. Cada comando tiene la forma COMANDO (argumentos...) dondeCOMANDO es elnombre delcomando, y argumentos esuna lista de argumentos separados por espacios. CMakeproveecomandos predefinidos y definidos por el usuario. Existen generadores makefile para Unix, Borland make, Watcom make, MinGW, MSYS y Microsoft NMake. También es posible generar ficheros de proyecto para Code::Blocks, Eclipse CDT, Microsoft Visual Studio de la 6 a la 10 incluyendo versiones de 64 bits y KDevelop.
  • 3. MAVEN Mavenes una herramientadesoftwareparalagestiónyconstruccióndeproyectosJavacreadaporJason van Zyl, de Sonatype,en 2002. Es similaren funcionalidada ApacheAnt (y en menormedida a PEAR de PHP y CPAN de Perl), perotieneun modelo deconfiguración deconstrucciónmás simple,basado enun formato XML. Estuvo integrado inicialmentedentrodel proyectoJakarta peroahora ya es un proyecto de nivel superior de la Apache Software Foundation. Maven utiliza un Project Object Model (POM) para describir el proyecto de softwarea construir, sus dependencias de otros módulos y componentes externos, y el orden de construcción delos elementos. Viene con objetivos predefinidos para realizarciertas tareas claramentedefinidas, como la compilación del código y su empaquetado. Una característica clave de Maven es que está listo para usar en red. El motor incluido en su núcleo puede dinámicamente descargar plugins de un repositorio, el mismo repositorio que proveeacceso a muchas versiones de diferentes proyectos Open Source en Java, de Apache y otras organizaciones y desarrolladores.Este repositorio y su sucesor reorganizado, elrepositorioMaven2, pugnan por serel mecanismo defactodedistribución deaplicaciones enJava, perosuadopción ha sido muy lenta. Maven provee soporteno solo para obtener archivos de su repositorio, sino también para subir artefactos al repositorio al final de la construcción de la aplicación, dejándola al acceso de todos los usuarios.Una caché localde artefactos actúa como la primera fuente para sincronizar la salida de los proyectosa un sistema local. Maven está construido usando una arquitectura basada en plugins que permite que utilice cualquier aplicación controlable a través de la entrada estándar. En teoría, esto podría permitir a cualquiera escribir plugins para su interfaz con herramientas como compiladores, herramientas de pruebas unitarias,etcétera,para cualquier otro lenguaje.En realidad, elsoportey uso de lenguajes distintosde Java es mínimo. Actualmenteexiste un pluginpara .Net Framework y un plugin nativo para C/C++fue alguna vez mantenido por Maven 1.2 GRADLE Gradle es un sistema de automatización de construcción de código abierto que construye sobrelos conceptos deApache Ant y Apache Mavene introduceun lenguaje especificodeldominio(DSL) basado en Groovy en vez de la forma XML utilizada por Apache Maven para declarar la configuración de proyecto. Gradleutiliza un grafo acíclico dirigido("DAG") para determinarel ordenen el quelas tareas pueden ser ejecutadas. Gradle fue diseñado para construcciones multi-proyecto las cuales pueden crecer para ser bastante grandes, y da apoyo a construcciones incrementales determinando inteligentemente qué partes del árbol de construcciónestán actualizadas, demodoquecualquier tarea dependientea aquellas partes no necesitarán ser reejecutada. Los plugins iniciales estánprincipalmentecentrados eneldesarrollo ydespliegueenJava,Groovy yScala, pero existen más lenguajes y workflows de proyecto en el roadmap. GESTION DE ARTEFACTOS Artefactos y tipos de artefacto. Artefacto es un términogenérico que hace referencia al objeto de un repositorio. Pueden gestionarse artefactos enproyectos y carpetas,o pueden utilizarse etiquetas para filtrar grupos deartefactos con un fin determinado. Tambien se pueden llamar librerias. ARTIFACTORY Artifactory es un Repositorio deMaven. En el sepuedendesplegarlas dependencias quenecesiten los proyectos en maven para su ciclo de vida. Otra de las principales funciones de artifactory es hacer de proxy cache deun repositorio propio con otros existentes.Esta basadoen JCR (usando JackRabbitcomo implementación) para guardar los artefactos y administración de los metadatos (xml). Tiene una GUI basada en wicket y usa jetty para una implementación rápida (también se puede implementar sobre Tomcat). ARCHIVA Apache Archiva es un administrador de repositorio de artefactos de compilación de Apache Software Foundation. Se usa con herramientas de compilación como Maven, Jenkins, Continuum y ANT. Con Archiva, los desarrolladores puedencompartirartefactos entre sí y administrarla seguridadasociada, el contenido agregado (proxy) de los repositorios de artefactos remotos, visualizar la utilización de los artefactos con búsquedas, navegar einformar,y realizar el mantenimiento derutina enlos repositorios. La función clavede Archiva es proporcionar el reflejo a petición del repositoriocentralde Maven. Esto elimina la necesidad dedescargar las bibliotecas de Maven, loqueminimiza la comunicaciónde la red a larga distancia y le permite colocar todas las bibliotecas de dependencias delproyectoen una ubicación centralizada.
  • 4. NEXUS Nexus es un administrador de repositorios que se utiliza con frecuencia en organizaciones para centralizar el almacenamiento y administración de artefactos de desarrollo de software. Mediantela incorporaciónde Nexus integramos una biblioteca de artefactos gestionados en nuestros procesos de fabricación software. Nexus es un marco de trabajo que consiste en roles, eventos, artefactos y técnicas que vinculan y entrelazan eltrabajode aproximadamente tres a nueve equipos deScrum quetrabajan en una sola Lista de Producto para construir un Incremento Integrado que cumpla un objetivo. Nexus es unexoesqueletoquedescansa sobremúltiples Equipos Scrumcuando se combinanparacrear un Incremento Integrado. Los beneficios que podemos obtener de Nexus son: Organiza equipos para maximizar la productividad. Organiza a las personas en equipos adecuados para optimizar el esfuerzo. Enseña a los Managers comoorganizar y gestionar un número muygrande de personas para construir software rápidamente. Ayuda a los Managers a detectar anomalías en la productividad. Proporciona prácticas para resolver las anomalías. Presenta un patrón que permite auto-organizacion para un gran número de desarrolladores. MAVEN Maven y Artefactos Maven solventa esta problema a traves delconcepto deArtefacto.Un Artefacto puede versecomouna librería con esteroides (aunque agrupa mas conceptos). Contiene las clases propias de la librería pero ademas incluyetoda la información necesaria para su correcta gestión (grupo, versión, dependencias etc).El conceptodeMavenArtifact es uno delos conceptos quemás cuesta entendercuandounotrabaja con Maven . ¿Qué es un Maven Artifact? . Explicarlo a veces no es sencillo . Pero si hablamos de programación a nivel generalloqueestamos haciendosiempre es escribir código ,eso es lo quehacemos en el día a día. Para programarde una forma correcta porlo menos deberíamos construir códigoquesea reutilizable . Normalmente la reutilización esta fuertementeligada con la modularidad. Es decira bloques de código más pequeños mayor es la posibilidad de reutilización. Un Maven Artifact no es ni más ni menos que un bloque de código reutilizable. un Maven Artifact es una abstracción sobre el concepto de bloque de código reutilizable. Si pensamos un poco en quees un bloque de código nos daremos cuenta quetodo bloquede código cumple con algunos principios muy muy elementales. Tiene un nombre o un identificador Pertenece a una empresa o persona Tiene una versión concreta TESTING Hay un mayor énfasis en las pruebas automatizadas en DevOps, ya que queremos crearuna cultura enla que podamos empujar el código hacia los sistemas de forma rápida y con confianza. Además de las pruebas funcionales automatizadas, también deberíamos tener un conjunto de pruebas de rendimiento, así como pruebas de seguridad / resistencia en elproceso de entrega. No hace falta decir que, antes de poder implementar cualquiera delas pruebas automatizadas anteriores,lo primero y más importante es construir un canal automatizado de compilación y entrega en una herramienta deintegración continua, como Jenkins. CUCUMBER Cucumber es una delas herramientas que podemos utilizar para automatizarnuestras pruebas en BDD (BEHAVIOUR DRIVEN DEVELOPMENT). Cucumber nos va permitir ejecutardescripciones funcionalesen texto plano como pruebas de software automatizadas. Cucumber fuecreada en2008 por Aslak Hellesoy yestá escritoenRuby, aunque tieneimplementaciones para casicualquierlenguaje deprogramación: JRuby (usando Cucumber-JVM), Java, Groovy, JavaScript, JavaScript(usando Cucumber-JVMy Rhino), Clojure, Gosu, Lua, .NET(usando SpecFlow), PHP (usando Behat), Jython, C++o Tcl.
  • 5. JUNIT5 JUnit 5 es la próxima generación deJUnit.El objetivo es crearuna baseactualizada para las pruebasdel lado del desarrollador en la JVM. Estoincluye centrarseen Java 8 y superior, así como habilitarmuchos estilos diferentes de prueba. JUnit 5 es el resultado de JUnit Lambda y su campaña de crowdfunding en Indiegogo. SEGURIDAD Se puede ayudar a que las aplicaciones sean más seguras, ya que el ambiente de desarrollo y producción se crean en la misma manera y en los mismos estándares de seguridad y ensayo. Hay que mover la seguridad hacia la izquierda, y así ofrecer a las organizaciones la oportunidad de reducir los riesgos deseguridad enel softwarey a los grupos de seguridad poder adelantar sus procesos, SONARQUBE SonarQube (conocido anteriormente como Sonar1) es una plataforma para evaluar código fuente.Es softwarelibre y usa diversas herramientas de análisis estático decódigo fuentecomoCheckstyle, PMD o FindBugs para obtenermétricas quepueden ayudar a mejorarla calidad delcódigo deun programa.2 OWASP OWASP ZAP (abr. para Zed AttackProxy) es un escánerde seguridad webde código abierto. Pretende ser utilizado como una aplicación de seguridad y como una herramienta profesional para pruebas de penetración. Es uno de los proyectos más activos de OWASP.1 y se le ha dado un estatus de desarrollo insignia.2 OWASP ZAP ha sido traducido a por lo menos 25 idiomas. Cuándo seusa comoservidor proxy permitea los usuarios manipular todo el tráfico que pasa a través de éste, incluyendo el tráfico del protocolo seguro HTTPS. La aplicaciónpuededesempeñarse en modo residente el cual es controlado mediante el API REST. Esta herramientas es multiplataforma, pues se ha escrito en Java y está disponible en sistemas tales como Windows, Linux y Mac OS X. ZAP fue añadido al Radar deTecnología de ThoughtWorks en mayo de 2015 en el anillo de prueba.4 NESSUS Nessus es un programa deescaneo devulnerabilidades endiversos sistemas operativos. Consisteenun demonio o diablo, nessusd,querealiza elescaneoenel sistema objetivo, y nessus,elcliente(basado en consola o gráfico) que muestra el avance e informa sobre el estado de los escaneos. Desde consola nessus puede ser programado para hacer escaneos programados con cron. En operaciónnormal, nessus comienza escaneando los puertos con nmapo con su propio escaneador de puertos para buscar puertos abiertos y después intentar varios exploits para atacarlo.Las pruebas de vulnerabilidad, disponibles comouna larga lista deplugins, sonescritos en NASL (Nessus Attack Scripting Language, Lenguaje de Scripting de Ataque Nessus por sus siglas en inglés), un lenguaje scripting optimizado para interacciones personalizadas en redes. Opcionalmente,los resultados delescaneo pueden ser exportados comoinformes en varios formatos, como texto plano, XML,HTML, y LaTeX.Los resultados también pueden ser guardados en una basede conocimiento para referencia en futuros escaneos de vulnerabilidades. Algunas de las pruebas de vulnerabilidades de Nessus pueden causar que los servicios o sistemas operativos secorrompan y caigan. El usuario puedeevitar estodesactivando"unsafetest"(pruebasno seguras) antes de escanear. Actualmente existen dos versiones: "Home"y "Work"Esta última de pago y sin restricciones. FORTIFY Fortify es unSCAutilizado para encontrarlas vulnerabilidades deseguridad en elcódigo desoftware. Se configurarnun conjunto de reglas contra las cuales se ejecutará el código. HP Fortify SCAtiene 6analizadores: flujo dedatos, flujodecontrol,semántico, estructural, configuración y buffer. Cada analizador encuentra diferentes tipos de vulnerabilidades.
  • 6. QUALYS Qualys es un proveedor aprobado de escaneos PCI. Escaneos de vulnerabilidades y de configuración altamente precisos. Fácil de implementar, administrar y operar. Es lo suficientemente escalablepara proteger una red internacional CONTRAST Ofrece una solución deAutoprotección deaplicaciones en tiempo deejecución (RASP) y una solución de Pruebas de seguridad de aplicaciones interactivas (IAST). Las soluciones de Contrast Security se integran en las aplicaciones de los usuarios y trabajan continuamenteen segundo plano.La primera partedeContrast Security Suite, llamada Contrast Assess, alerta a los desarrolladores cuando sedescubreuna vulnerabilidad. La segunda partedela suite, llamada ContrastProtect,utiliza elmismoagenteincorporado y trabaja enel entorno deproducción, buscando vulnerabilidades y amenazas desconocidas, e informa de lo que encuentra a una consola SIEM, un firewall de próxima generación o cualquier otra herramienta de seguridad. OPENVAS OpenVAS (Open VulnerabilityAssessment System,1 inicialmentedenominado GNessUs), es una suitede software, que ofrece un marco de trabajo para integrar servicios y herramientas especializadas en el escaneo y gestión de vulnerabilidades de seguridad de sistemas informáticos. Desde la versión4.0,OpenVAS permite la actualización continua -usualmenteen periodos inferiores a 24 horas-de la base de Pruebas de Vulnerabilidades de Red (NVTpor sus siglas en inglés). Ajunio de 2016, contaba con más de 47.000 NVTs.2 OpenVAS es una herramienta principal de OSSIM, todos los productos que la componen son software libre y la mayoría de ellos son distribuidos bajo licencia GPL. Estructura de OpenVAS 8 La versión7 de OpenVAS introdujo 2 cambios en suarquitectura, por una partesesuprimióel módulo Administradorque seintegróal módulo Manager, y por otra parte, sesuprimióel clientede escritorio GSD para en su lugar centrarse en los avances de su cliente web. OpenVAS 8 introdujo nuevas características y mejoras en virtualmente todas las áreas, no obstante, sin cambios estructurales. TWISTLOCK TWISTLOCK Ofrece Seguridad del contenedor en todo el ciclo de vida de la aplicación Twistlock es el proveedor líder de contenedores de ciclo de vida completo de pila completa y de ciberseguridad nativa en la nube para equipos que utilizan Docker, Kubernetes, sin servidor y otras tecnologías nativas en la nube. Twistlock se integra con cualquier registro y herramienta de CI, y se ejecuta en cualquier lugar queelija para ejecutar sus máquinas virtuales, contenedores y aplicaciones nativas en la nube. AQUA Full lifecycle. Full stack. Enterprise grade. Aqua proporciona una seguridadtotalen todo su CI / CD y el entorno detiempo deejecución, lo que le brinda visibilidad de extremo a extremo y protege sus aplicaciones contra ataques. Automatizar DevSecOps “Cambiea la izquierda”la seguridad desdeel principioen la tubería de DevOps, acelerando la entrega de aplicaciones y eliminando obstáculos para la transformación digital. Modernizar la seguridad Asegure el flujo de "buen código"con controles conscientes de la aplicación mientras detecta y evita automáticamente la actividad sospechosa de la aplicación. Cumplimiento y Auditoría Aplique el cumplimiento normativocon controles e informes granulares a nivelde contenedoren todo el ciclo de vida de la aplicación nativa de la nube. Contenedores y funciones sin servidor Extienda la seguridad a los contenedores y funciones sin servidor, permitiendo una implementación elástica y segura para servicios como AWS Fargate y Lambda. Nube híbrida y Multi-Cloud Habilite la migración segura a la nube, la nubehíbrida y las implementaciones de múltiples nubes,con controles persistentes que viajan con sus cargas de trabajo. Securosis Container Security Guide El libro de cocina definitivo para asegurar aplicaciones en contenedores, desdela comprensión de los riesgos hasta su mitigación, por los expertos de Securosis.
  • 7. DESPLIEGUE Y OPERACIÓN La práctica de Entrega y Despliegue Continuo acompaña y amplía las actividades de Integración Continua de software, automatizando lo máximo posible la verificación funcional del software y la implementación de todos los cambios en el código, ya sea en el entorno de pruebas y/o el de producción. Aplicar en conjunto todas estas prácticas dentro de una filosofía DevOps, mejorará sinduda laCalidad del Software y el Time to marketde nuevas funcionalidades y actualizaciones. PUPPET Puppet está diseñado para administrar la configuración de sistemas Unix y Microsoft Windows de manera declarativa. El usuariodescribelos recursos del sistema y suestado,ya sea utilizando ellenguaje declarativodePuppet o un DSLdeRuby (lenguaje específico del dominio). Esta información sealmacena en archivos llamados "manifiestos detíteres". Puppet descubre la información delsistema a través de una utilidadllamada Facter y compila los manifiestos de Puppet en un catálogo específicodel sistema que contienerecursos y dependencia de recursos, que se aplican contra los sistemas de destino. Las acciones tomadas por Títeres son reportadas. SALTSTACK Salt es un software de gestión de configuración de código abierto basado en Python y un motor de ejecuciónremota.Al respaldarelenfoque de"Infraestructura comocódigo"para la implementacióny la administración de la nube, compite principalmente con Puppet, Chefy Ansible. ANSIBLE Ansible es una plataforma de software libre para configurar y administrar computadoras. Combina instalación multi-nodo, ejecuciones de tareas ad hoc y administración de configuraciones. Adicionalmente, Ansible es categorizado como una herramienta de orquestación. CHEF Chef, una herramienta básica de automatización. Chefes un producto,que además de convertirseen una herramienta básica en eldía a día de nuestrodepartamento IT, nos permite abrazar totalmente la metodología de trabajo DevOps. MONITOREO El monitoreo en la tecnología es sumamente importante por una simple razón: ni tú ni yo tenemos la habilidad de visualizar el flujo debits creado en la interacción de los usuarios y nuestros productos. En esencia, este flujo transporta el conocimiento que necesitamos para progresar. Hablemos específicamente de tres tipos: 1. Monitoreo del Negocio 2. Monitoreo de Servidores 3. Monitoreo de Aplicación Para lograr monitorear cualquier aplicación es necesario instrumentarla en primer lugar, de esta manera podemos medirel nivel de su rendimiento, detectar problemas o simplemente escribir información de rastreo sobre su funcionamiento. Log files (archivos de registro), la cantidad desolicitudes http o incluso las visitas a ciertas páginas dentrode su sitio web (utiliza Google Analytics para capturar estos datos), son las fuentes de la información para visualizar las “tripas” de tus aplicaciones. SENSU La solución más adecuada para aquellos que necesitanun marco de monitorización ligero y escalable con una interfaz gráfica de usuario estilizada. La plataforma demonitorizaciónúnica sepuede utilizarpara varios servidores, incluyendo los servidores completos, virtuales y basados en la nube, servicios tales como servidores y bases de datos web, aplicaciones web, recursos de terceros y dispositivos de red tales como routers y conmutadores. La arquitectura deSensu,quecuenta con unagentedemonitorización, procesador de eventos, RESTful API, almacenamiento dedatos, transporteseguro y unProgramador deRealización deComprobaciones, permite la realización de comprobaciones de servicio, eventos de procesamiento y recopilar datos de parámetros a escala. Además,el clienteSensu dispone deun conector TCP y UDP susceptiblede recibir datos externos JSON,quepermitena las aplicaciones utilizar la interfaz para enviar datos deparámetros específicos de la aplicación o informar sobre errores a Sensu. Mientras que Sensu Core es gratis, la edición Sensu Enterprise, que está basada en el marco abierto Sensu Core,está sujeta a una suscripciónmensual debido a sus funcionalidades mejoradas y alservicio técnico.
  • 8. ELK STACK ELK Stack or Elastic Stack  ELK ha sido rebautizada comoElasticStack. La pila de ELK es una increíbley poderosa colección de tres proyectos de código abierto: Elasticsearch, Logstash y Kibana. Apesar de que cada una de estas tres tecnologías es un proyecto independiente, se han creado para funcionar excepcionalmente bien en conjunto. Elastic Stack es una solución completa de análisis de registro de extremo a extremo que ayuda en la búsqueda profunda, elanálisis y la visualización del registro generado desde diferentes máquinas. NAGIOS Nagios es un sistema de monitorización de redes y servidores de código abierto, que se encarga de observar equipos (hardware) y/o servicios (software) generandoalertas cuando elcomportamientode los mismos no sea el deseado. SPLUNK Splunk es una empresa multinacional de softwarequeofrece suplataforma central, Splunk Enterprise, así como muchas ofertas relacionadas basadas en la plataforma Splunk. La plataforma ayuda a una granvariedad de personas de la organización, como analistas, operadores, desarrolladores,evaluadores, gerentes y ejecutivos. Obtieneninformación analítica delos datos creados por la máquina. Recopila, almacena y proporciona potentes capacidades analíticas, loque permitea las organizaciones actuar con información a menudo poderosa derivada de estos datos. La plataforma Splunk Enterprise fue construida teniendo en cuenta las operaciones de TI. Cuando las empresas tenían problemas con la infraestructura de TI, la solución de problemas y la solución de problemas eran inmensamente difíciles, complicadas y manuales. Fue construido para recopilar y hacer que los archivos de registro de los sistemas de TI puedan ser consultados y accesibles. Se usa comúnmentepara la seguridadde la información y las operacionesde desarrollo,así como casos deusomás avanzados para máquinas personalizadas, Internet delas cosas y dispositivos móviles. NEW RELIC Monitoreo dedesempeño deaplicaciones basado enSaaS para ayudarloa construir, liberar y mantener su software en óptimas condiciones. La herramienta software-como-servicio (SaaS) New Relic APM está diseñada para proveer profunda visibilidad en el desempeño de sus aplicaciones, desde la experiencia del usuario final, pasandopor servidores,a travésdeaplicaciones distribuidas,yhastalalíneadecódigo.NewRelicAPMes unproducto de New Relic Insights quele permitirá detectar problemas inesperados y ayudar a su equipo a reducir tiempo de resolución. Soporte para Java, .NET, Ruby,Python, PHP y Node.js asícomo más de70 frameworks. Eliminela brecha entre equipos dedesarrolloy operaciones al brindarles una sola interfaz para analizar cada aspecto del ambiente de sus aplicaciones. ESCALAMIENTO La escalabilidad es la capacidad del software para adaptarse a las necesidades de rendimiento a medida que el número de usuarios crece, las transacciones aumentany la base de datos empieza a sufrir degradamiento delperformancepor las cargas crecientes. HablamosdeEscalabilidadHorizontal y Vertical AWS GOVCLOUD AWS GovCloud (EE. UU.) Brinda a los clientes gubernamentales y sus socios la flexibilidad para diseñar soluciones denubeseguras quecumplan con: la línea de base deFedRAMP, la política deseguridadde los Sistemas de informaciónde justicia penal (CJIS) del DOJ,el Reglamento de tráfico internacionalde armas de EE. UU. Reglamentos de administración (EAR), Guía de requisitos de seguridad (SRG) del Departamento de Defensa (DoD) para los niveles de impacto 2, 4 y 5, FIPS 140-2, IRS-1075 y otros regímenes de cumplimiento. Desde información de identificaciónpersonal (PII), registros médicos confidenciales depacientes y datos financieros hasta datos de cumplimiento de la ley, datos controlados de exportación y otras formasde CUI, AWS GovCloud (EE. UU.) Regions puedeayudara los clientes a cumplir con elcumplimientoen cada etapa de su viaje en la nube. milCLOUD milCloud es una cartera de productos de servicios en la nube, administrada por DISA(Defense Information Systems Agency), que cuenta con una suite integrada ... requerida para administrar el entorno operativo virtual (VOE), a través de la capa del sistema operativo. • Cumple con los requisitos de DoD para infraestructura de nube Servicios en sus instalaciones del centro de datos. • Conecta las ofertas de servicios de nube comercial a DoD Redes en un modelo de despliegue privado. • Proporciona a los socios de la misión DISA la última nube. Tecnología a precios competitivos sin rendimiento comprometedor • Servicios de alojamiento de infraestructura flexible adaptados para sistemas gubernamentales sensibles • Aplicaciones bajo demanda y tecnología de autoservicio. Eso elimina costos y complejidad.
  • 9. GOOGLE CLOUD PLATFORM Gooogle Cloud Platform, es una suite que contiene diversos servicios que funcionan en la misma infraestructura queutiliza Googledemanera interna,por ejemploconservicios comoYoutubeo Google Search. Elconjunto deherramientas queproporciona la suiteabarca CloudComputing,Networking, Data Storage, Data Analytics, Machine learning, etc. Cloud Platform provee los productos, servicios y herramientas para poder diseñar, realizar testing y lanzar las aplicaciones en la plataforma garantizando una gran escalabilidad y seguridadgracias aldiseño de la infraestructura proporcionada por Google. Esta infraestructura se divide en regiones y zonas. Al trabajar en distintas regiones se debe tener en cuenta el coste adicional para el tráfico de red entre éstas. Este enlace contiene información más detallada sobre este tema. Dentro la variedadde productos y servicios dentro de la plataforma, vamos a mencionar las siguientes categorías: Computing Networking Storage Big data Machine learning AZURE Microsoft Azure es conjunto en constante expansión de servicios en la nube para ayudar a su organización a satisfacer sus necesidades comerciales. Le otorga la libertad de crear, administrar e implementar aplicaciones en una red mundial enorme con sus herramientas y marcos favoritos. En el portal Microsoft Azure existen diferentes servicios de infraestructura y de plataforma para que puedas “montar” los servicios que necesites de manera sencilla, con unos cuántos clics. En tu portal dispones deun botón[New +]y a partir deahí, sólotienes queelegir la región delos datacenter donde estará tu servicio y, a continuación, el tipo deservicioconsus características. Por ejemplo, en elcaso de querer crear una máquina virtual podrías seleccionar el tipo de máquina como Windows Server 2016 Datacenter, a continuación, rellenar todos sus características (espaciode disco, RAM…).En esteproceso de creación, sedefine un nombrede usuario y contraseña específica para poder iniciar sesión en esta máquina virtual. Entre los servicios, dispones de infraestructuras (IaaS: almacenamiento,redes, máquinas virtuales…) y plataformas (PaaS: bases de datos dealta disponibilidadSQL, CMS para desarrollodeweb, backendpara aplicaciones móviles…). Soncompatibles con todo tipodetecnología: bases dedatos Oracle,Linux,php, iOs, My SQL, Android, php Estos servicios están garantizados con una disponibilidad del99.99%,y encaso defallo endisponibilidad superior, Microsoft se compromete a indemnizar por los daños. Además, cuenta con todas las certificaciones enmateria seguridad y protección dedatos. ¿Sabías quees la primera plataforma cloud que cumple en categoría alta las características dela certificación deconformidad delEsquema Nacional de Seguridad? AMAZON WEB SERVICES AmazonWebServices,tambiénconocidacomoAWS,es unconjuntodeherramientasyserviciosdecloud computing de Amazon. Esteservicio se lanzó oficialmenteen 2006y para juniode 2007 AWSya contaba con una basede usuarios de aproximadamente180milpersonas.Entre las empresas quela utilizan se encuentran algunas comoReddit,Foursquare, Pinterest,Netflix, la NASAo la CIA, y algunas españolas como Mapfre, el FC Barcelona o Interflora. Esto se debeprincipalmentea la madurez delservicio frente a otros similares y las posibilidades queofreceel amplio abanico deherramientas disponibles.En la Guía de Cloud Computing podrá encontrar una comparativa de todas las herramientas de Amazon Web Services con las de otras plataformas similares. Herramientas de Amazon Web Services La tendencia general para las plataformas en la nube es la de ofrecer la mayor cantidad posiblede herramientas y servicios, para queasíse pueda creartodo un entornode computación en una misma nube. Al igual que otras plataformas comoMicrosoft Azure,Amazondisponede una gran cantidadde herramientas para la gestiónde diferentes elementos dentrode la empresa.Los servicios deAWS están preparados tanto para autónomos,como pequeñas y medianas empresas o grandes corporaciones,ya que existen posibilidades para escalar las instancias o el almacenamiento según su empresa vaya también creciendo. Amazon Web Services ofrece herramientas en las siguientes categorías: Cloud computing: Bases de datos Creación de redes virtuales Aplicaciones empresariales Almacenamiento y gestores de contenido Amazon Glacier o Amazon EBS.
  • 10. TECHNOLOGY STACK Plataformas que ofrecen todas las herramientas necesarias para implementar full devops, integracion Continua/Deliverly Continuo CIRCLECI Todo lo que los grandes equipos necesitan. Flujos de trabajo para la orquestación de trabajo Defina y organice cómo seejecuta la ejecucióndel trabajo(como compilación, prueba, implementación), lo que le brinda un control completo sobre su proceso de desarrollo en múltiples configuraciones compatibles. Aprenda cómo programar trabajos con flujos de trabajo. Soporte Docker de primera clase Ejecute cualquier imagen del registro público / privado de Docker u otros registros comunes, personalizables por trabajo. Creeimágenes de Docker, acceda alalmacenamientoen cachéde la capa de Docker, Redactar y más. Use imágenes Docker de CircleCI pre-construidas. Elija la CPU / RAMque necesita Configure fácilmentesus recursos (cómputo/ memoria) para adaptarse mejor a las necesidades de su equipo para compilaciones específicas. Aprenda cómo habilitar recursos configurables en su cuenta. Soporte de lenguaje-agnóstico Admite cualquierlenguaje que se baseenLinux o macOS, incluidos C ++, Javascript, .NET, PHP, Python y Ruby. Ustedes libredeusar cualquier cadena deherramientas, marcoo versiónquedesee. Verguías de idiomas y tutoriales. Almacenamiento en caché de gran alcance Acelere sus construcciones con opciones de almacenamiento en caché expandidas, que incluyen imágenes, código fuente, dependencias y cachés personalizados. Obtenga control sobre el almacenamiento en caché y restaure puntos en sus trabajos para obtener un rendimiento óptimo. SSH o compilaciones locales para una fácil depuración Encuentrey resuelva problemas rápidamenteutilizandoel acceso SSH o ejecute trabajos en suentorno local para asegurar una soluciónmás rápida de los problemas. Aprenda a depurar conSSH y con el CLI de CircleCI. Seguridad incomparable Los controles que necesita para estar seguro de que su código está protegido: LDAP para la administración de usuarios, el registro de auditoría, el aislamiento de máquinas virtuales de nivel completo y más. Lea más sobre nuestras características de seguridad. Insights Nuestro panel visual interactivo le permite ver todas sus compilaciones en CircleCI de un vistazo. Personalice sus vistas desdelas compilaciones más fallidas hasta las pruebas más lentas y más.Obtenga más información sobre Insights. BAMBOO Bamboo puede ejecutar múltiples builds en paralelo para una finalización más rápida En caso de fallas decompilación,Bamboo proporciona unanálisis dela falla, incluyendo un seguimiento de pila Bamboo proporciona una API RESTque proporciona información sobreel servidor, el estado actualde sus compilaciones, etc. Bamboo se integra con algunos proyectos de software: Bamboo tiene una funcionalidad integrada para conectarse con repositorios como Git, Apache Subversion, Mercurial, Sistema de versiones concurrentes, Perforce, Bitbucket, etc. En términos deherramientas de compilación, Bamboo ha desarrollado tareas para herramientascomo Ant, Maven, Make, MSBuild, etc. Le permite programar en una variedad de idiomas. Bamboo admite complementos para otros programas. Bamboo admite herramientas de prueba como PHPUnit, JUnit, Selenium. Bamboo está estrechamente relacionadocon otros productos de Atlassian, como JIRA (seguimientode errores / problemas), Confluence (softwarecolaborativo) y la herramienta decobertura de códigoClover Java. Asíquetodos los miembros del equipo, incluidos los gerentes y los evaluadores,pueden teneruna idea clara de lo que está sucediendo en el proyecto. Las notificaciones decompilación sepueden personalizar según eltipode eventoy se pueden recibira través deThe Wallboard,correoelectrónico,mensaje instantáneo, RSS, o ventanas emergentes en IDE basados en Eclipse e IntelliJ IDEA. Puede importar datos de Jenkins.
  • 11. JENKINS Jenkins es un servidor de integración continua, gratuito, open-source y actualmente uno de los más empleados para esta función. Además es muy fácil de utilizar. Lo puedes descargar desde aquí. Esta herramienta, proviene de otra similar llamada Hudson, ideada por Kohsuke Kawaguchi, que trabajaba en Sun. Unos años después de que Oracle comprara Sun, la comunidad de Hudson decidió renombrar el proyecto a Jenkins, migrar elcódigoa Githuby continuar el trabajodesdeahí. No obstante, Oracle ha seguido desde entonces manteniendo y trabajando en Hudson. La basedeJenkins son las tareas, dondeindicamos quées lo que hay que hacer enunbuild. Por ejemplo, podríamos programar una tarea en la que se compruebe el repositorio de control de versiones cada cierto tiempo,y cuandoun desarrollador quiera subir sucódigo al controlde versiones,estesecompile y se ejecuten las pruebas. Si el resultado no es elesperadoo hay algúnerror, Jenkins notificará aldesarrollador, al equipo deQA, por email o cualquier otro medio, para que lo solucione. Si el build es correcto, podremos indicara Jenkins que intente integrar el código y subirlo al repositorio de control de versiones. Pero la cosa no queda ahí. Una delas cosas buenas quetieneJenkins es que además depoder ayudarte a integrar el código periódicamente, puede actuar como herramienta que sirva de enlace en todo el proceso de desarrollo. Desde Jenkins podrás indicar queselancen métricas de calidad y visualizar los resultados dentro de la misma herramienta. También podrás verelresultado delos tests, generar y visualizar la documentación del proyecto o inclusopasar una versión establedelsoftwarealentorno deQApara serprobado,a pre- producción o producción. CONTENEDORES/GESTION Los contenedores se han convertido en nuestras piezas de rompecabezas. Lo tomamos, hacemos lo que necesitamos y lo dejamos. Nos alivian (en su mayor parte) la necesidad de preocuparnos por los problemas de implementación y nos permiten centrarnos en obtener la parte de la aplicación que representan. Así que con los contenedores,tienes una caja. La gestión de la caja es manejada por DevOps. La única pregunta querealmenteimporta es: "¿Qué vas a poner en la caja?"Yeso es muy bueno: preocuparse menos durante el desarrollo significa más tiempo para hacer que todoloquese presente en la caja sea unproblema. DOCKER Docker es una plataforma de software que le permite crear, probar e implementar aplicaciones rápidamente. ... Con Docker, puede implementar y ajustar la escala de aplicaciones rápidamenteen cualquier entorno con la certeza de saber que su código se ejecutará. Los contenedores de imagen de Docker se pueden ejecutar de forma nativa en Linux y Windows. Sin embargo, las imágenes de Windows solo pueden ejecutarse en hosts de Windows y las imágenes de Linux pueden ejecutarseenhosts de Linux y hosts deWindows (con una máquina virtual Linuxde Hyper- V, hasta el momento), donde host significa un servidor o una máquina virtual. Los desarrolladores puedenusar entornos de desarrolloen Windows, Linuxo macOS. En el equipo de desarrollo, el desarrollador ejecuta un host de Docker en que se implementan imágenes de Docker, incluidas la aplicacióny sus dependencias. Los desarrolladores que trabajan enLinux o en Macusanun host de Docker basado en Linux y pueden crear imágenes solo para contenedores de Linux. (Los desarrolladores quetrabajanen Macpueden editar códigoo ejecutar la CLI de Docker en macOS, pero en el momentoderedactar esteartículo,los contenedores no se ejecutan directamente en macOS). Los desarrolladores que trabajan en Windows pueden crear imágenes para contenedores de Windows o Linux. KUBERNETES Kubernetes es un sistema de código libre para la automatización del despliegue, ajuste de escala y manejo de aplicaciones encontenedores que fueoriginalmente diseñado por Google ydonado a la Cloud Native Computing Foundation. Soporta diferentes ambientes para la ejecución contenedores, incluido Docker. Kubernetes fue desarrollado y diseñado originalmentepor ingenieros deGoogle.Google fueuno delos primeros colaboradores de la tecnología de contenedores de Linux,y ha declarado públicamenteque todo lo ejecutanen contenedores. (Los contenedores son la tecnología subyacente de los servicios de nube de Google). si bien Kubernetes soporta varios tipos decontenedores diferentes el mas común y popular es Docker, en esta sociedadperfecta queforman ambos, Dockeres elque seencarga de crear las imágenes y los contenedores que se van a utilizar y Kubernetes se encarga de gestionar todo. Ambos tienen la ventaja deserde códigoabierto,esto es una ventaja no solo por un tema económico, sinoquelofundamentaldeestepuntoesquealseropen-sourcenosdala opcióndeadaptarloa nuestras necesidades con libertad sinestar atadoa las limitaciones de una licencia y a las limitaciones técnicas que muchas veces enfrentamos con un producto cerrado Si bien Docker mismo permite ejecutar los contenedores creados y las herramientas degestiónquenos provee puedenser suficientes para gestionar unsolo servidor, resultan muy poco practicas de utilizar a gran escala para montar una infraestructura distribuida demúltiples contenedores corriendoen talvez docenas o cientos de servidores al mismo tiempo. Para estosenecesita un sistema que seencarguedegestionar todoelcluster deservidores, eso significa un sistema que se encargue de distribuir los contenedores a través del sistema según los recursos disponibles enel cluster,ademas decrear, ejecutar,vigilar, medir,destruir y relanzar los contenedores, debe mantenery controlaren todomomento cada aspectorelevantede los contenedores y su estado, de todo eso y mas se encarga Kubernetes.