12. Cloud,
definizioni
NIST: (National Institute of Standards and Technology, US non-regulatory
federal agency)
«Cloud computing is a model for enabling ubiquitous, convenient, on-
demand network access to a shared pool of configurable computing
resources (e.g., networks, servers, storage, applications, and services) that
can be rapidly provisioned and released with minimal management effort
or service provider interaction».
!
5
caratteristiche:
On-demand self-service computing resources (elasticity)
Broad network access
Resource pooling
Rapid elasticity
Measured service
13. Cloud,
definizioni
Service Model:
SaaS - Software as a Service:
SaaS builds on top of PaaS and provides application-level
services such as collaboration, ERP and document
management.
PaaS - Platform as a Service:
PaaS provides platforms and run-time environments including
middleware, messaging, databases and identity management.
IaaS – Infrastructure as a Service:
IT infrastructure is provided as a service. IaaS comprises
resources such as servers, network and simple mass storage.
Deployment model: pubblico, privato, ibrid
15. Benefici
del
Cloud
Capex vs Opex (pay as you go)
Risparmio IT TCO
Capacity Planing facile
Incremento Innovazione
Infrastruttura globale in pochi
minuti
16. Incremento
Innovazione
Old
Sperimentazione
non frequente
Fallire costa
Innovazione
ridotta
New
Sperimentazione
frequente
Fallire costa poco
Maggiore
Innovazione
“Want to increase innovation? Lower the cost of
failure.” Joi Ito
17. 8
anni
di
Cloud
Lancio
AWS S3
2006 2007 2008 2009 2010 2011 2012 2013
AWS EC2
Google
App
Engine
MS
Azure
Beta
Heroku
Salesforce
- Heroku
RH
Open
Shift
AWS RDS AWS
DynamoDB
AWS EMR
AWS
RedShift
AWS
Kinesis
Google
Compute
Engine
2014
19. Heroku
An elastic, multi-language, multi-
framework, Platform as a Service
Builds Apps, not infrastructure
NoOps (no operations) is the concept that an IT environment can
become so automated and abstracted from the underlying
infrastructure that there is no need for a dedicated team to manage
software in-house
20. Heroku
Linguaggi: Ruby, Node.js, Python, Java,
Scala, Clojure
Database: Postgres (DB as a Services)
Dyno: un livello di astrazione
sull’infrastruttura
Scalare
l’applicazione
in modo
elastico
22. Heroku
Continuous Deployment (deploy at business speed)
Rilasci ripetibili e tracciabili
Dashboard delle attività
Operations as a Service (24x7 monitoring platform)
Logplex (log unificato)
Rollbacks facili e veloci
Estendibile (marketplace addons)
23. Heroku
Nata nel 2007 da
Ycombinator
Venduta a Salesforce nel
2010 per oltre $200M
Inizialmente andava bene,
ma è “esplosa” dopo 2 pivot
che hanno focalizzato il
servizio ai developers
24. Heroku
“It's no secret that developers drove
much of the early growth of cloud
computing, frustrated by the poor
responsiveness of central IT and
attracted by the immediate
availability of resources from cloud
providers”
28. AWS
Capacity
Amazon.com
2003
AWS
2013
$5.2B retail business
Every day AWS adds
enough server
capacity to power
that whole $5B
Enterprise
7,800 employees
A whole lot of servers
Quanto cresce AWS ogni giorno?
33. AWS
RDS
Self-Managed Database AWS-Managed Database
You have full responsibility for
upgrades and backup
Upgrades, backup and failover
are provided as a service
You have full responsibility for
security
AWS provides high infrastructure
security, certifications; gives you
tools to ensure DB security
Full control over parameters of
server, OS and database
Database is a managed
appliance, so you can easily
automate
Replication is complex and
requires a lot of engineering
Failover is a packaged services
38. Netflix
Netflix è leader mondiale nei servizio di
Internet television, con oltre 40 milioni di
clienti in diversi paesi.
Negli orari di picco occupa il 30% del
traffico totale Internet del Nord America dati
marzo 2013
39. Netflix
Netflix è un perfetto esempio di:
•Architettura Cloud nativo
•Adozione processi Agile e Lean
•Nuova organizzazione aziendale
40. Netflix
-
Architettura
•I Servizi sono sviluppati da team differenti che lavorano
insieme per individuare i servizi che devono esporre.
•L’owner di un Servizio pubblica un’API che tutti possono
usare.
Highly
aligned,
loosely
coupled
41. Netflix
-
Architettura
Ogni servizio può fallire!!
Deploy su
più aws
regions, e per
ogni region
su 3 zone.
Architettura
scalabile,
distribuita e
fault tolerant
42. Netflix
-
Chaos
Monkey
Le risorse HW, prima o poi, falliscono. Come testare che il
servizio continui sempre a funzionare?
Application Resilience: Run, Detect error, Rapid response!
Chaos -- Kills random instances
Chaos Gorilla -- Kills zones
Chaos Kong -- Kills regions
Latency -- Degrades network and injects faults
Conformity -- Looks for outliers
Circus -- Kills and launches instances to maintain zone
balance
Doctor -- Fixes unhealthy resources
Janitor -- Cleans up unused resources
Howler -- Yells about bad things like Amazon limit
violations
Security -- Finds security issues and expiring certificates
43. Netflix
-
Agile
e
Lean
•Rilascio in produzione fino a 100 volte al giorno
•Automazione a tutti i livelli (ambienti di test e
produzione)
•Developers responsabili per l’automazione e la
produzione
•Pratica dell’Incident Review: analisi di ogni
problema, azioni su come evitarlo in futuro
•Developers reperibili se applicazione non
funziona (PagerDuty)
•Developer costruiscono la propria PaaS
44. Netflix
-
Organizzazione
Management: Integrazione ruoli in un unico team
Business, Development, Operations -> BusDevOps
!
Developers: Passaggio a dati denormalizzati – NoSQL
Decentralized, scalable, available, polyglot
!
Passaggio responsabilità da Ops a Dev: Continuous Delivery
Decentralizzati frequenti rilasci giornalieri
!
Passaggio responsabilità da Ops a Dev: Agile Infrastructure - Cloud
Hardware in minuti, provisioning fatto dai developers
I quattro cambiamenti organizzativi:
45. Business
Agility
MTBIAMSH
mean time between idea and make stuff happen
Agility defined by @adrianco of Netflix
Sviluppo software in giorni anziché mesi
HW in minuti anziché settimane
Risposta ai problemi in secondi anziché ore
47. Legacy
Systems
Along those lines, the biggest challenge IT organizations will
find on their road to the post-cloud world is legacy systems.
These systems represent an enormous drag on the ability of
IT to align with the demands of business users who want a
partner in developing new IT-infused offerings. For the post-
cloud world, it won't be enough to manage legacy
applications with as little additional spend as possible. Even
with low additional investment, these applications carry a
cost structure of maintenance, etc., far higher than today's
offerings. For IT to be relevant, it must reduce total legacy
spend
48. Dev
&
Test
Sviluppo e test nel cloud
Utilizzo di capacità
illimitata quando serve
Eliminare ambienti
quando non servono
Salvare immagini e
configurazioni per uso
futuro
49. Impatti
Organizzativi
Management: Integrazione ruoli in un unico team
Business, Development, Operations -> BusDevOps
!
Developers: Passaggio a dati denormalizzati – NoSQL
Decentralized, scalable, available, polyglot
!
Passaggio responsabilità da Ops a Dev: Continuous Delivery
Decentralizzati frequenti rilasci giornalieri
!
Passaggio responsabilità da Ops a Dev: Agile Infrastructure - Cloud
Hardware in minuti, provisioning fatto dai developers