8 resultados para DevOps


Relevância:

10.00% 10.00%

Publicador:

Resumo:

Applikationsövervakning är en term för att i realtid övervaka applikationer och kunna upptäcka fel innan slutanvändaren märker av ett problem. Med övervakning av applikationer menas inte bara den enskilda programvaran utan allt som rör applikationen i fråga. Trafikverkets önskemål är att leverera en hög kvalité i sina applikationer. I nuläget har utvecklare ingen eller dålig insyn i hur en applikation levererar i en skarp miljö efter att de lämnat över ansvaret till drift. För att kunna hålla en bra kvalité i sina applikationer så vill de undersöka hur applikationsövervakning kan hjälpa till att se behov av ändringar i applikationer innan större problem uppstår. I en fallstudie bestående av intervjuer och dokumentstudier kommer genom användning av situationsbaserad FA/SIMM nuvarande arbetssätt fångas. Samt fånga mål och problem som uttrycks i verksamheten kring utveckling & förvaltning och drift av applikationer. Dessa kommer sedan analyseras för att undersöka på vilket sätt applikationsövervakning skulle hjälpa utvecklare & förvaltare, men även driftspersonal i deras arbete. Resultatet av detta visar att de problem och mål som tas upp dels är organisatoriska i sin natur och arbetssättet DevOps framhålls som en möjlig lösning. Även att applikationsövervakning de facto skulle kunna bidra till en ökad kvalité i applikationerna genom att tillföra en möjlighet att arbeta mer proaktivt.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

La tesi inserita in un periodo di forte transizione dai sistemi On­premises a sistemi Cloud ha avuto l'esigenza di risolvere alcune problematiche legate alla definizione delle infrastrutture. Come poter scalare le risorse all'evenienza ricreando gli stessi ambienti, monitorandoli e mettendo in sicurezza i dati critici delle applicazioni? La tesi ha risposto proprio a questa domanda definendo un nuovo paradigma nel concepire le infrastrutture chiamato Infrastructure as Code. La tesi ha approfondito le pratiche e le metodologie che si sono legate maggiormente all'Infrastructure as Code tra le quali Version Control, Configuration Management, Continuous Integration e Continuous Delivery. La tesi inoltre ha previsto la realizzazione di un prototipo finale nato dallo studio del flusso di sviluppo software aziendale, definendo gli ambienti in accordo ai sistemi di Version Control e Configuration Management, applicando pratiche di integrazione continua per giungere ad una deployment pipeline funzionale.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Las metodologías de desarrollo ágiles han sufrido un gran auge en entornos industriales durante los últimos años debido a la rapidez y fiabilidad de los procesos de desarrollo que proponen. La filosofía DevOps y específicamente las metodologías derivadas de ella como Continuous Delivery o Continuous Deployment promueven la gestión completamente automatizada del ciclo de vida de las aplicaciones, desde el código fuente a las aplicaciones ejecutándose en entornos de producción. La automatización se ve como un medio para producir procesos repetibles, fiables y rápidos. Sin embargo, no todas las partes de las metodologías Continuous están completamente automatizadas. En particular, la gestión de la configuración de los parámetros de ejecución es un problema que ha sido acrecentado por la elasticidad y escalabilidad que proporcionan las tecnologías de computación en la nube. La mayoría de las herramientas de despliegue actuales pueden automatizar el despliegue de la configuración de parámetros de ejecución, pero no ofrecen soporte a la hora de fijar esos parámetros o de validar los ficheros que despliegan, principalmente debido al gran abanico de opciones de configuración y el hecho de que el valor de muchos de esos parámetros es fijado en base a preferencias expresadas por el usuario. Esto hecho hace que pueda parecer que cualquier solución al problema debe estar ajustada a una aplicación específica en lugar de ofrecer una solución general. Con el objetivo de solucionar este problema, propongo un modelo de configuración que puede ser inferido a partir de instancias de configuración existentes y que puede reflejar las preferencias de los usuarios para ser usado para facilitar los procesos de configuración. El modelo de configuración puede ser usado como la base de un proceso de configuración interactivo capaz de guiar a un operador humano a través de la configuración de una aplicación para su despliegue en un entorno determinado o para detectar cambios de configuración automáticamente y producir una configuración válida que se ajuste a esos cambios. Además, el modelo de configuración debería ser gestionado como si se tratase de cualquier otro artefacto software y debería ser incorporado a las prácticas de gestión habituales. Por eso también propongo un modelo de gestión de servicios que incluya información relativa a la configuración de parámetros de ejecución y que además es capaz de describir y gestionar propuestas arquitectónicas actuales tales como los arquitecturas de microservicios. ABSTRACT Agile development methodologies have risen in popularity within the industry in recent years due to the speed and reliability of the processes they propose. The DevOps philosophy and specifically the methodologies derived from it such as Continuous Delivery and Continuous Deployment push for a totally automated management of the application lifecycle, from the source code to the software running in production environment. Automation in this regard is used as a means to produce repeatable, reliable and fast processes. However, not all parts of the Continuous methodologies are completely automatized. In particular, management of runtime parameter configuration is a problem that has increased its impact in deployment process due to the scalability and elasticity provided by cloud technologies. Most deployment tools nowadays can automate the deployment of runtime parameter configuration, but they offer no support for parameter setting o configuration validation, as the range of different configuration options and the fact that the value of many of those parameters is based on user preference seems to imply that any solution to the problem will have to be tailored to a specific application. With the aim to solve this problem I propose a configuration model that can be inferred from existing configurations and reflect user preferences in order to ease the configuration process. The configuration model can be used as the base of an interactive configuration process capable of guiding a human operator through the configuration of an application for its deployment in a specific environment or to automatically detect configuration changes and produce valid runtime parameter configurations that take into account those changes. Additionally, the configuration model should be managed as any other software artefact and should be incorporated into current management practices. I also propose a service management model that includes the configuration information and that is able to describe and manage current architectural practices such as the microservices architecture.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Vengono analizzate le strategie di rilascio delle principali Distribuzioni Linux e i metodi per la compilazione automatizzata del software. Si propone quindi una nuova metodologia sia per il rilascio di media installabili e sia per la pacchettizzazione. Sfruttando le tecnologie del campo DevOps, si introduce quindi un alto grado di scalabilità anche in ambienti Cloud, grazie anche alla riproducibilità di ogni componente dell'infrastruttura proposta. Vedremo quindi come questo approccio aumenta l'automatizzazione nei cicli produttivi per la realizzazione della Distribuzione Sabayon Linux e per la definizione di un'infrastruttura automatizzata attualmente in production.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Con la crescita in complessità delle infrastrutture IT e la pervasività degli scenari di Internet of Things (IoT) emerge il bisogno di nuovi modelli computazionali basati su entità autonome capaci di portare a termine obiettivi di alto livello interagendo tra loro grazie al supporto di infrastrutture come il Fog Computing, per la vicinanza alle sorgenti dei dati, e del Cloud Computing per offrire servizi analitici complessi di back-end in grado di fornire risultati per milioni di utenti. Questi nuovi scenarii portano a ripensare il modo in cui il software viene progettato e sviluppato in una prospettiva agile. Le attività dei team di sviluppatori (Dev) dovrebbero essere strettamente legate alle attività dei team che supportano il Cloud (Ops) secondo nuove metodologie oggi note come DevOps. Tuttavia, data la mancanza di astrazioni adeguata a livello di linguaggio di programmazione, gli sviluppatori IoT sono spesso indotti a seguire approcci di sviluppo bottom-up che spesso risulta non adeguato ad affrontare la compessità delle applicazione del settore e l'eterogeneità dei compomenti software che le formano. Poichè le applicazioni monolitiche del passato appaiono difficilmente scalabili e gestibili in un ambiente Cloud con molteplici utenti, molti ritengono necessaria l'adozione di un nuovo stile architetturale, in cui un'applicazione dovrebbe essere vista come una composizione di micro-servizi, ciascuno dedicato a uno specifica funzionalità applicativa e ciascuno sotto la responsabilità di un piccolo team di sviluppatori, dall'analisi del problema al deployment e al management. Poichè al momento non si è ancora giunti a una definizione univoca e condivisa dei microservices e di altri concetti che emergono da IoT e dal Cloud, nè tantomento alla definzione di linguaggi sepcializzati per questo settore, la definzione di metamodelli custom associati alla produzione automatica del software di raccordo con le infrastrutture potrebbe aiutare un team di sviluppo ad elevare il livello di astrazione, incapsulando in una software factory aziendale i dettagli implementativi. Grazie a sistemi di produzione del sofware basati sul Model Driven Software Development (MDSD), l'approccio top-down attualmente carente può essere recuperato, permettendo di focalizzare l'attenzione sulla business logic delle applicazioni. Nella tesi viene mostrato un esempio di questo possibile approccio, partendo dall'idea che un'applicazione IoT sia in primo luogo un sistema software distribuito in cui l'interazione tra componenti attivi (modellati come attori) gioca un ruolo fondamentale.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Failure of application operations is one of the maincauses of system-wide outages in cloud environments. Thisparticularly applies to DevOps operations, such as backup,redeployment, upgrade, customized scaling, and migration that areexposed to frequent interference from other concurrent operations,configuration changes, and resources failure. However, currentpractices fail to provide a reliable assurance of correct execution ofthese kinds of operations. In this paper, we present an approach toaddress this problem that adopts a regression-based analysistechnique to find the correlation between an operation’s activity logsand the operation activity’s effect on cloud resources. Thecorrelation model is then used to derive assertion specifications,which can be used for runtime verification of running operations andtheir impact on resources. We evaluated our proposed approach onAmazon EC2 with 22 rounds of rolling upgrade operations whileother types of operations were running and random faults wereinjected. Our experiment shows that our approach successfullymanaged to raise alarms for 115 random injected faults, with aprecision of 92.3%.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

From a future history of 2025: Continuous development is common for build/test (continuous integration) and operations (devOps). This trend continues through the lifecycle, into what we call `devUsage': continuous usage validation. In addition to ensuring systems meet user needs, organisations continuously validate their legal and ethical use. The rise of end-user programming and multi-sided platforms exacerbate validation challenges. A separate trend isthe specialisation of software engineering for technical domains, including data analytics. This domain has specific validation challenges. We must validate the accuracy of sta-tistical models, but also whether they have illegal or unethical biases. Usage needs addressed by machine learning are sometimes not speci able in the traditional sense, and statistical models are often `black boxes'. We describe future research to investigate solutions to these devUsage challenges for data analytics systems. We will adapt risk management and governance frameworks previously used for soft-ware product qualities, use social network communities for input from aligned stakeholder groups, and perform cross-validation using autonomic experimentation, cyber-physical data streams, and online discursive feedback.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Service virtualisation is a supporting tool for DevOps to generate interactive service models of dependency systems on which a system-under-test relies. These service models allow applications under development to be continuously tested against production-like conditions. Generating these virtual service models requires expert knowledge of the service protocol, which may not always be available. However, service models may be generated automatically from network traces. Previous work has used the Needleman-Wunsch algorithm to select a response from the service model to play back for a live request. We propose an extension of the Needleman-Wunsch algorithm, which uses entropy analysis to automatically detect the critical matching fields for selecting a response. Empirical tests against four enterprise protocols demonstrate that entropy weighted matching can improve response accuracy.