DevOps by examples @ devopsheroes 2016
-
Upload
giulio-vian -
Category
Software
-
view
64 -
download
0
Transcript of DevOps by examples @ devopsheroes 2016
1
2
Sponsors & Organizers
getlatestversion.it
DevOps by examplesGiulio Vian
http://blog.casavian.eu/[email protected]@giulio_vianhttp://www.getlatestversion.it/
Qualcosa di personale
Origini Presente
19901992 1999 2014
2010 2015 2016
Di che si parla?• DevOps?• Show me the code• Build di una semplice applicazione• Setup ambiente di esecuzione• Deploy della stessa• Modificare la configurazione
• Ricapitoliamo
100/200-level session!
DevOps is a culture, movement or practice• Un approccio, un movimento, un’abitudine• Non è della tecnologia• Non un prodotto
Wikipedia
DevOps is a culture, movement or practice
Wikipedia
DevOps is a culture, movement or practice 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
0. Persone• Non gente, né risorse• Agile Manifesto• Continuous Delivery
Source: Jez Humble © 2010
1. L’applicazione• Pagina web con dati da DB• Ambiente• Configurazione
Show methe code
2. Build & Package• Version Control• Continuous Integration• Artifacts• Semantic Versioning
Show me
3. Ambiente di esecuzione• Strati• Sistema Operativo e componenti• Rete e servizi accessori• Applicazione• Dati
• Tempi di predisposizione• Costi di esecuzione
4. Infrastructure-as-Code• Dichiarativo o Imperativo• Version Control• Continuous Integration
• Azure Resource Manager• Declarative Json-based• Extensible (script, DSC)• Entire infrastructure
• AWS CloudFormation• Declarative Json-based• Ogni scarrafone…
• Docker• Not much declarative• Single container
• Ansible, Puppet, Chef, CFEngine, …
Show me
5. Deploy• Categoria• Dev / Q&A / Prod
• Rapporto frequenze di rilascio• Feature toggles
Source: Pete Hodgson
Show me
6. Chiavi e segreti• Build time
• Firmare eseguibili e pacchetti• Deploy time
• Credenziali di autenticazione• Run time
• Tokens verso servizi• Come prevenire
• git push hook• Static analysis
• .gitignore• Centralized Version
Control• Distinct repositories• Azure Key Vault• AWS Key Management
Service
7. Monitoring• Locale• Remoto• Aggregare• Filtrare
• Application Insights• HockeyApp
8. Feedback loop• Telemetria• Prestazioni• Uso delle funzionalità
• Application Insights• HockeyApp• ELK (Elasticsearch, Logstash, and
Kibana)• Splunk
9. Persone
© Serge klk
Bibliografia & Riferimenti• http://martinfowler.com/articles/feature-toggles.html• https://leanpub.com/build• https://launchdarkly.com/• http://www.slideshare.net/giuliov/presentations• http://agilemanifesto.org/• https://azure.microsoft.com/en-us/services/application-insights/• https://github.com/tfsaggregator/tfsaggregator• https://github.com/aspnet• https://azure.microsoft.com/en-us/services/key-vault/• https://aws.amazon.com/kms/• https://blogs.msdn.microsoft.com/buckh/2016/09/30/controlling-exposure
-through-feature-flags-in-vs-team-services/
Bibliografia & Riferimenti• Continuous Delivery: Reliable Software
Releases through Build, Test, and Deployment Automation — J.Humble, D.Farley (Addison-Wesley)
• https://www.amazon.it/Continuous-Delivery/dp/0321601912/
• Continuous Delivery with Visual Studio ALM 2015 — M.Olausson, J.Ehn (Apress)
• http://www.amazon.it/Continuous-Delivery-Visual-Studio-2015/dp/1484212738/
Fine delle trasmissioni