CruiseControl.net in un progetto realeDotNetMarche
La Continuous Integration è una pratica di sviluppo fondamentale per migliorare la qualità del software: CruiseControl.NET è una suite open-source per gestire questo processo in modo trasparente al team di sviluppo. Il relatore mostrerà i vantaggi derivati dall'uso di tale metodologia in un caso pratico, ovvero nello sviluppo della piattaforma di blogging Subtext, di cui è membro del team di sviluppo, nonché Build Manager.
In queste slide, Matteo Emili ci parla di SonarQube e del debito tecnico. Queste slide sono state utilizzate per la sessione di Matteo all'evento DotNetCampania "DevOps: dalla teoria alla pratica"
Per supportare al meglio gli sviluppi agili è necessario poter automatizzare le procedure di deploy. Grazie a TFS build possiamo sfruttare varie tecniche per automatizzare il deploy durante una build.
HTML5 Single Page Application è il nuovo hype tecnologico: tutti ne parlano, il web ne è pervaso, da GMail a Facebook e Twitter, dal desktop al mobile, dagli Appennini alle Ande.
In questa sessione ci occuperemo di tutti quegli aspetti di organizzazione di una solution in termini di codebase, unit testing e processo di build, presentando alcuni strumenti che stanno emergendo fra quelli disponibili.
Demo: http://www.communitydays.it/events/2014-Roma/web02/
Come funziona Scrum? Quali sono i suoi mattoni base? Questa presentazione è il primo tassello della collana divulgativa di Agile Reloaded su Agile e Lean Software Development. Lasciate i vostri commenti, li utilizzeremo per il cartone animato!
Strategie di migrazione da Team Foundation Server ad Azure DevOps ServicesMatteo Emili
Sessione dell'evento DevOps@Work 2019 sulla migrazione da Team Foundation Server ad Azure DevOps Services in modo granulare - ossia senza utilizzare il servizio di importazione diretta della collection da parte di Microsoft. Copre Build e Release Definition, Work Item e codice sorgente (Git e TFVC).
Webcast - Introduzione a Visual Studio OnlineDavide Benvegnù
Visual Studio Online è uno strumento che fornisce molte funzionalità per l'ALM (Application Lifecycle management) e ad ogni release diventa sempre più completo, funzionale e davvero utile. Si tratta di una piattaforma completa e gratuita di strumenti per lo sviluppo e servizi utili per creare applicazioni multi-piattaforma, progettata per soddisfare i più alti requistiti a livello di disponibilità, scalabilità e complessità di sviluppo.
In questo webcast introduttivo, primo di una serie, vedremo quali sono le caratteristiche di questo strumento, impareremo come utilizzarlo per gestire il lavoro di ogni giorno e prenderemo confidenza con le sue funzionalità. Andremo infine alla scoperta delle nuove feature aggiunte alla suite.
L’approccio IT bimodale, capace di integrare stabilità e sicurezza da un lato e agilità e velocità dall’altro, si configura come soluzione sostenibile per innovare e trasformare il business senza rallentarlo.
Scopri come integrare approccio bimodale e DevOps, per risparmiare tempo, denaro, ridurre i rischi e ottimizzare le risorse.
Segui il webinar on-demand: https://youtu.be/hVJ2Yk6Fd9U
Meetup Azure DevOps
Introduzione ad Azure DevOps e panoramica sulle principali funzionalità per il CI ed il CD del proprio software
Speaker: Simone Natalini
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...Marco Parenzan
Windows Azure e Team Foundation Server hanno cominciato a cambiare in una maniera incredibile il modo di gestire i progetti software e tutta l'attività professionale dello sviluppatore. Ora il passaggio ulteriore: un Visual Studio, al momento ancora agli inizi, ma molto promettenti, completamente Web che gira nel browser. Vediamo cosa possiamo farci, tra sviluppo software, scelte tecnologiche, gestione del progetto e deployment.
L'intervento dell'Ing. Luciano Lotti durante il webinar dedicato al Visual COBOL: grazie al suo utilizzo migliora la produttività degli sviluppatori e la qualità delle applicazioni.
Evoluzione del web development dalle cgi ai microservicesDaniele Mondello
Come si è sviluppato negli ultimi 20 anni lo sviluppo web? Nel Talk tenutosi all'incubatore Arca di Palermo per la masterclass di Angular 4 abbiamo fatto una cavalcata che ci ha portato dalle cgi in Perl ai Microservices
Progettare e sviluppare soluzioni serverless con AWSsparkfabrik
1. DEFINIZIONI
- Perché Serverless / Cos’è Serverless
- Le promesse di serverless
- Use case
2. I PRODOTTI DISPONIBILI
- Confrontare prodotti serverless
- Il mercato FaaS
- La famiglia AWS serverless
4. STRUMENTI E BEST PRACTICE
- Strumenti AWS
- Framework e ambienti di sviluppo
- Testing
- Debug, log, monitoraggio
3. DESIGN E ARCHITETTURA
- Performance e Capacity
- Deploy e Release
- Gestione costi
Distribuisci software migliori più velocemente con DevOpsAmazon Web Services
I cicli di rilascio di un software ormai sono misurati in giorni piuttosto che in mesi. Le organizzazioni innovative rilasciano continuamente software di alta qualità a un ritmo molto sostenuto per essere agili. In questa sessione, discuteremo di come potrai cominciare il tuo viaggio all’interno di DevOps condividendo le best practice e gli strumenti usati dai team di progettazione di Amazon che seguono la regola delle "due pizze". Ti mostreremo come accelerare la produttività dello sviluppo implementando flussi di lavoro di consegna e un'integrazione costanti. Inoltre forniremo un’introduzione a AWS CodeStar, AWS CodeCommit, AWS CodeBuild, AWS CodePipeline e AWS CodeDeploy - I servizi ispirati dagli strumenti interni per gli sviluppatori di Amazon e l’uso di DevOps.
Speaker: PierGiorgio Malusardi, Solutions Architect, Public Sector, AWS
PASS Virtual Chapter - SQL Server Continuous IntegrationAlessandro Alpi
Build automatizzate, esecuzione di unit test, creazione di un pacchetto nuget, ecco cosa serve per essere pronti con SQL Server e la continuous integration
Abilitare le organizzazioni e le persone ad adottare con successo il CloudAmazon Web Services
Una migrazione al cloud si compone di tre pilastri: persone, processi e tecnologia. Troppo spesso, le organizzazioni si concentrano sul miglioramento dei processi e sull’implementazione tecnologica, ma ignorano l’aspetto umano. Molti leader ammettono che i primi due sono semplici da modificare, mentre influenzare la cultura è più complicato. Questa sessione affronta i metodi migliori per aiutare ai clienti come affrontare questa sfida. Scopri i ruoli e le responsabilità pertinenti alla fase di transizione e di post-adozione del cloud. Valuta i gap della tua organizzazione tra le capacità e le competenze richieste. Crea modelli di addestramento efficienti che portano ad un’efficace cultura DevOps.
Speaker: Danilo Poccia, Senior Evangelist, Serverless, AWS
Come implementare la governance nella vostra piattaforma e lavorare felici se...Giulio Vian
DevOps Conf 2024 - Roma - 10 mag 2024
https://devopsconf.dotnetdev.it
Gli strumenti che usiamo per lo sviluppo e il rilascio sono essenziali per controllare i processi in uso e garantire che soddisfino requisiti aziendali, legali, e regolamentari.
In questa sessione illustrerò come passare da norme (policies) astratte a implementationi su piattaforme come Azure DevOps o GitHub delle stesse così da poter prevenire prima e verificare poi il corretto svolgimento delle operazioni. E diventare amici del direttore Rischi e Audit.
Is Technical Debt the right metaphor for Continuous Update?Giulio Vian
Conf42 DevSecOps 2022 - December 1st 2022
The environmental pressure on software, mainly security, has dramatically changed in few years. Sticking to the Technical Debt category, will crush IT, and the business. So, let’s introduce a new term: Technical Inflation, and change how we plan, budget, manage changes and implement automation.
Is Technical Debt the right metaphor for Continuous Update - AllDayDevOps 2022Giulio Vian
The environmental pressure on software has dramatically changed in a few years, both in quality and quantity. Security is the main force but other dynamics can be seen, including the adoption of agile, shortest product cycles, and more. As a consequence the software is no more written once and run many times: it must be updated continuously. If we, as an industry, continue to use the classic category of Technical Debt, IT will be crushed by the forces at hand, pulling the business side along. I propose to introduce a new term for this phenomenon: Technical Inflation. It is not simply to mark the difference but to help discuss and explain to other stakeholders what is happening on the technical side and the effect on the entire business. The new perspective impacts how we plan and budget, how we manage changes and automation, and the need to excel in engineering to save the bottom line.
Software rotting - 28 Apr - DeveloperWeek Europe 2022Giulio Vian
"Software rotting or why you need to change your approach to security"
28 April 2022
DeveloperWeek Europe 2022
https://www.developerweek.com/europe/conference/conference-tracks/devops-security/
A new phenomenon stands out in recent years: security must pervade the entire software development lifecycle.
Except it isn't. Current generation of processes and tools is lacking crucial features to properly manage modern security risks.
Think of the Log4J event. Were you able to identify all affected components? Were they internally developed, or you need a vendor support? How fast you were able to deliver a fix?
In this talk we'll explore the challenges, what you can do with current tools, and which gaps should be addressed by communities through better practices and new tools.
A map for DevOps on Microsoft Stack - MS DevSummitGiulio Vian
This document provides an overview of DevOps on the Microsoft stack. It discusses three ways of implementing DevOps: 1) Flowing work from idea to production using tools like GitHub, Azure Boards, Azure DevOps Server, and infrastructure as code. 2) Gathering feedback using observability tools like Application Insights and alerting. 3) Fostering communication, documentation, learning and fun through tools like GitHub Pages, Teams, LinkedIn Learning and DevTest Labs. The document recommends resources for learning more about DevOps and the Microsoft stack.
Pipeline your Pipelines - 2020 All Day DevOpsGiulio Vian
Giulio Vian discusses automating build infrastructure by treating it as code that can be versioned, backed up, and rebuilt. This allows building environments to be rebuilt if lost, fixes to be deployed to production, and old versions to be rebuilt. Infrastructure as code uses version control, secrets stores, and pipelines to build runtime, CI/CD, and application infrastructure in a fractal manner.
How to write cloud-agnostic Terraform code - Incontro DevOps Italia 2020Giulio Vian
The document discusses how to write Terraform code that is cloud-agnostic and not specific to a single provider. It recommends abstracting common services like networking and computing blocks, and using variables and modules to deploy resources for multiple platforms. Examples are given using count and conditional deployment based on variables, as well as referencing subnets and regions in a provider-independent way. The document aims to help make Terraform configurations reusable across different cloud providers.
The document lists the top 10 pipeline mistakes, including unsafe secrets, untraceable artifacts, environment-specific deploy packages, lack of testing, use of bleeding edge technology, overly complex builds, flaky builds, overuse of versioning, implicit assumptions, and reliance on dubious plugins. The author provides recommendations to address each mistake, such as using secret stores, adding versioning and links to artifacts, deploying the same packages to all environments, including quality checks, ensuring deployable technology and available agents, splitting processes, enabling reproducible builds, adding version specifications, checking tool requirements, and using autonomous pipelines.
Introduction to Terraform with Azure flavorGiulio Vian
Terraform is a tool for provisioning and managing infrastructure as code. It allows defining and deploying infrastructure through configuration files rather than interactive console tools. The configuration files describe the components needed for an application and their relationships, and Terraform uses this information to provision and update infrastructure safely and efficiently. Terraform works by defining resources such as compute instances, storage, and networking components using a high-level configuration language, and then generates and executes the plans to build, change, and version those resources. It supports a variety of cloud platforms including Azure.
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...Giulio Vian
This document summarizes tools and techniques for collaboration between Dev and Ops teams, including:
- Shared version control of infrastructure as code, secrets stores, and documentation to provide transparency.
- The use of dashboards, chat, wikis, and monitoring and logging tools to share information across teams.
- Having Dev and Ops use the same environment names and classifications to facilitate coordination between pipelines, dashboards, and other systems.
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...Giulio Vian
DevOps@Work 2020
Roma, 16 January 2020
https://www.domusdotnet.org/events/
SQL Server per Linux apre un nuovo mondo di possibilità per testare il codice SQL in modi che prima non erano pensabili.
Esploriamo alcune opzioni come:
- Ripristinare il database ad uno stato noto tra un test e l'altro
- Provare più varianti di configurazione
- Eseguire test di integrazione nella pipeline CI
- Test delle migrazioni dello schema
- Attach di grossi database eseguendo i container nel cloud
The document discusses automating build and deployment pipelines using infrastructure as code. It recommends:
1. Treating development environments like production by making them automated, disposable, and recreated from code.
2. Not sharing secrets between environments and making credentials, keys, and other sensitive data unique to each automated environment.
3. Automating the creation of all infrastructure components including VMs, containers, Kubernetes clusters from configuration files to ensure they can be recreated identically on any cloud provider.
Why is DevOps vital for my company’s businessGiulio Vian
The document discusses why DevOps is vital for companies in the modern business landscape. It notes that software is now central to many businesses and products, like cars which contain over 150 million lines of code. DevOps applies lean principles to streamline the process of delivering software by reducing waste and improving feedback loops between development and operations teams. Implementing DevOps through systems thinking, amplifying feedback, and continuous experimentation can lead to benefits like less risk, faster feedback, and increased value delivery and organizational efficiency.
4. Inquadramento della Sessione
Livello 100/200
Cogliere l’essenziale dell’approccio DevOps
Interrompere solo per domande fulminee
Sì, No, Può ripetere, ...
4
5. Di che si chiacchiera?
DevOps?
Esempi
Un ambiente per il codice
Una applicazione
Il suo rilascio
Riconfigurazione
Riassunto e riferimenti
5
10. DevOps is a culture, movement or practice
DevOps is a term used to refer to a set of practices that
emphasizes the collaboration and communication of
both software developers and other information-
technology (IT) professionals while automating the
process of software delivery and infrastructure changes.
DevOps represents a change in IT culture, focusing on rapid IT service delivery through the
adoption of agile, lean practices in the context of a system-oriented approach. DevOps
emphasizes people (and culture), and seeks to improve collaboration between operations and
development teams. DevOps implementations utilize technology — especially automation tools
that can leverage an increasingly programmable and dynamic infrastructure from a life cycle
perspective.
DevOps is the union of people, process, and products to
enable continuous delivery of value to our end users.
Wikipedia (2017)
Gartner
Microsoft (Donovan Brown)
10
12. …fondata sui principi Agile
Individuals and interactions
over processes and tools
Working software
over comprehensive documentation
Customer collaboration
over contract negotiation
Responding to change
over following a plan
http://agilemanifesto.org/
18. Infrastructure-as-Code – Considerazioni
Dichiarativo o imperativo
Version Control
Continuous Integration
Dinamico o Statico
Azure Resource Manager
Dichiarativo, Json-based
Estendibile (script, DSC)
Tutta l’infrastruttura
AWS CloudFormation
Dichiarativo, Json-based
Docker
Non cosi dichiarativo
Livello di singolo container
Swarm, Kubernetes, Mesos, …
Ansible, Puppet, Chef, CFEngine, …
18
23. Password e chiavi (secrets)
Build time
Signing
Deploy time
Credentials
Run time
Tokens
Avoid exposures
git push hook
Static analysis
.gitignore
Version Control centralizzato
Repositories dedicati
Azure Key Vault
AWS Key Management Service
23
34. Compiti per casa
Dove tengo la configurazione
Come aggiorno la configurazione
Come separo configurazioni di sviluppo da produzione
Dove tengo le chiavi segrete e chi vi ha accesso
Come traccio le versioni
Chi autorizza i cambiamenti e come
Come conservo i Dati
Come aggiorno schemi database e interfacce tra moduli
Costruisco immagini o faccio il deploy via script
Che finestre di rilascio ho
Come traccio le attività e gli errori
Come raccolgo informazioni dalla produzione
34
http://www.gartner.com/it-glossary/devops/
DevOps is a term used to refer to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment, where building, testing, and releasing software can happen rapidly, frequently, and more reliably.
Wikipedia (2017)
http://www.gartner.com/it-glossary/devops/
DevOps is a term used to refer to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment, where building, testing, and releasing software can happen rapidly, frequently, and more reliably.
Wikipedia (2017)