DevOps by examples @ devopsheroes 2016

Post on 15-Apr-2017

62 views 0 download

Transcript of DevOps by examples @ devopsheroes 2016

1

2

Sponsors & Organizers

getlatestversion.it

DevOps by examplesGiulio Vian

http://blog.casavian.eu/giulio.dev@casavian.eu@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