Waarom Cloud? Waarom nu? Marc Gruben April 2015
Waarom Cloud? Daarom Cloud! Waarom nu? Daarom nu! Marc Gruben April 2015
Wie ben ik?
•
Informatie analist
•
Project/development manager
•
Developer/architect
Wie ben ik?
Theorie
•
Informatie analist
•
Project/development manager
Business
•
Developer/architect
Technisch
Wie is Visionplanner •
ISV (Independent software vendor), 30 werknemers
•
1996 opgericht
•
Planning en rapportage software
•
Windows en cloud/SAAS oplossing
(vanaf 2011)
Brown- vs greenfield
Visionplanner Cloud visionplanner.com
Visionplanner Cloud visionplanner.com
Visionplanner Cloud visionplanner.com
Indeling presentatie •
Cloud computing
•
Aspecten van de cloud:
- Multitenancy
- Schaalbaarheid
- Storage
- Security
•
Applicatie architectuur
•
Ontwikkelteam en organisatie
•
Lesson learned
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Succes Story 1 (startup)
2010: 3 medewerkers, 25.000 gebruikers
2012: 13 medewerkers, 100.000.000 gebruikers
1 miljard dollar 2014: 300.000.000 gebruikers •
Applicatie architectuur
•
User experience
Succes Story 2 (bestaand bedrijf)
2007: eigen datacenter 2010: AWS
•
Schaalbaarheid
Wat is cloud niet?
Wat is cloud niet? •
Iets tijdelijks; waait wel over
Wat is cloud niet? •
Iets tijdelijks; waait wel over
Wat is cloud niet? •
Iets tijdelijks; waait wel over
•
Meer risicovol dan traditioneel
Wat is cloud niet? •
Iets tijdelijks; waait wel over
•
Meer risicovol dan traditioneel
•
Simpel
Wat is cloud niet? •
Iets tijdelijks; waait wel over
•
Meer risicovol dan traditioneel
•
Simpel
•
Altijd goedkoper
Wat dan wel?
Wat dan wel? •
Revolutie in IT
Wat dan wel? •
Revolutie in IT
•
Veel OSS
Wat dan wel? •
Revolutie in IT
•
Veel OSS
•
Betrouwbaar
Wat dan wel? •
Revolutie in IT
•
Veel OSS
•
Betrouwbaar
•
Focus op specialisme
Wat dan wel? •
Revolutie in IT
•
Veel OSS
•
Betrouwbaar
•
Focus op specialisme
•
Laagdrempelig
Karakteristieken
Karakteristieken •
Zelf aan het stuur, flexibiliteit
Karakteristieken •
Zelf aan het stuur, flexibiliteit
•
Internet noodzakelijk
Karakteristieken •
Zelf aan het stuur, flexibiliteit
•
Internet noodzakelijk
•
Virtualisatie/multi-tenancy (economies of scale)
Karakteristieken •
Zelf aan het stuur, flexibiliteit
•
Internet noodzakelijk
•
Virtualisatie/multi-tenancy (economies of scale)
•
‘Just-in-time’ schaalbaarheid
Karakteristieken •
Zelf aan het stuur, flexibiliteit
•
Internet noodzakelijk
•
Virtualisatie/multi-tenancy (economies of scale)
•
‘Just-in-time’ schaalbaarheid
Karakteristieken •
Zelf aan het stuur, flexibiliteit
•
Internet noodzakelijk
•
Virtualisatie/multi-tenancy (economies of scale)
•
‘Just-in-time’ schaalbaarheid
Karakteristieken •
Zelf aan het stuur, flexibiliteit
•
Internet noodzakelijk
•
Virtualisatie/multi-tenancy (economies of scale)
•
‘Just-in-time’ schaalbaarheid
•
Monitoring van gebruik/ kosten
Cloud vs Traditioneel Karakteristiek Flexibiliteit Kosten Economies of scale Multi-tenancy Schaalbaarheid Virtualisatie
Traditioneel
Cloud Computing
Dagen/weken
Minuten/uren
Investering, vast
Pay-as-you-go, variabel
Grote organisaties
Ja, iedereen
Nee
Ja
Handmatig
Elastisch en automatisch
Soms
Ja
Service Modellen
Service Modellen On-Premises Applications Data Runtime Middleware OS Virtualization Servers Storage Networking
Service Modellen On-Premises
IAAS
Applications
Applications
Data
Data
Runtime
Runtime
Middleware
Middleware
OS
OS
Virtualization
Virtualization
Servers
Servers
Storage
Storage
Networking
Networking
Service Modellen On-Premises
IAAS
PAAS
Applications
Applications
Applications
Data
Data
Data
Runtime
Runtime
Runtime
Middleware
Middleware
Middleware
OS
OS
OS
Virtualization
Virtualization
Virtualization
Servers
Servers
Servers
Storage
Storage
Storage
Networking
Networking
Networking
Service Modellen On-Premises
IAAS
PAAS
SAAS
Applications
Applications
Applications
Applications
Data
Data
Data
Data
Runtime
Runtime
Runtime
Runtime
Middleware
Middleware
Middleware
Middleware
OS
OS
OS
OS
Virtualization
Virtualization
Virtualization
Virtualization
Servers
Servers
Servers
Servers
Storage
Storage
Storage
Storage
Networking
Networking
Networking
Networking
Service Modellen On-Premises
IAAS
PAAS
SAAS
Applications
Applications
Applications
Applications
Data
Data
Data
Data
Runtime
Runtime
Runtime
Runtime
Middleware
Middleware
Middleware
Middleware
OS
OS
OS
OS
Virtualization
Virtualization
Virtualization
Virtualization
Servers
Servers
Servers
Servers
Storage
Storage
Storage
Storage
Networking
Networking
Networking
Networking
Service Modellen On-Premises
IAAS
PAAS
SAAS
Applications
Applications
Applications
Applications
Data
Data
Data
Data
Runtime
Runtime
Runtime
Runtime
Middleware
Middleware
Middleware
Middleware
OS
OS
OS
OS
Virtualization
Virtualization
Virtualization
Virtualization
Servers
Servers
Servers
Servers
Storage
Storage
Storage
Storage
Networking
Networking
Networking
Networking
Multitenancy
Multitenancy
Schaalbaarheid Scale up
Scale out
Azure Computing
Web role: • Endpoints WebApi/MVC (REST) • Stateless Worker role: • Asynchrone taken
Queue /
SQL
Storage SQL
NoSQL
•
ACID support
•
Sharding (horizontal)
•
Queries
•
Parallel execution
•
Model-less
Security •
Azure PAAS: •
Application stack security
•
Infrastructure security
•
OWASP
•
OAuth
Applicatie
Frontend
RESTful
WebApi Backend
Frontend
Frontend
•
Javascript / html / css
Frontend
•
Javascript / html / css
•
SPA framework / MV* pattern
Frontend
•
Javascript / html / css
•
SPA framework / MV* pattern
Frontend
•
Javascript / html / css
•
SPA framework / MV* pattern
Frontend
•
Javascript / html / css
•
SPA framework / MV* pattern
•
Responsive design (UI/UX)
Backend WebApi / MVC Services Datalayer Storage
Backend WebApi / MVC Services Datalayer Storage
Backend WebApi / MVC Services Datalayer Storage
Alternatieve stack MEAN Stack
•
Mongo
•
Express
•
Angular
•
Node
Alternatieve stack MEAN Stack
•
Mongo
•
Express
•
Angular
•
Node
Architectuur
Architectuur •
Ontwerp dat dingen fouten kunnen gaan
Architectuur •
Ontwerp dat dingen fouten kunnen gaan
•
“Loose coupling” (abstracties)
Architectuur •
Ontwerp dat dingen fouten kunnen gaan
•
“Loose coupling” (abstracties)
•
Elasticiteit/schaalbaarheid
Architectuur •
Ontwerp dat dingen fouten kunnen gaan
•
“Loose coupling” (abstracties)
•
Elasticiteit/schaalbaarheid
•
Security in elke laag
Architectuur •
Ontwerp dat dingen fouten kunnen gaan
•
“Loose coupling” (abstracties)
•
Elasticiteit/schaalbaarheid
•
Security in elke laag
•
Denk parallel
Architectuur •
Ontwerp dat dingen fouten kunnen gaan
•
“Loose coupling” (abstracties)
•
Elasticiteit/schaalbaarheid
•
Security in elke laag
•
Denk parallel
•
Gebruik diverse opslag mogelijkheden
Ontwikkelteam
Ontwikkelteam
Ontwikkelteam
Ontwikkelteam
Organisatie Van traditionele software verkoper naar cloud organisatie
Organisatie Van traditionele software verkoper naar cloud organisatie •
Meer samenwerken met accountants om een platform te realiseren
Organisatie Van traditionele software verkoper naar cloud organisatie •
Meer samenwerken met accountants om een platform te realiseren
•
Ontwikkelaars, support belangrijker
Organisatie Van traditionele software verkoper naar cloud organisatie •
Meer samenwerken met accountants om een platform te realiseren
•
Ontwikkelaars, support belangrijker
•
Verkoopproces “geautomatiseerd”
Organisatie Van traditionele software verkoper naar cloud organisatie •
Meer samenwerken met accountants om een platform te realiseren
•
Ontwikkelaars, support belangrijker
•
Verkoopproces “geautomatiseerd”
•
Abonnement i.p.v. licentie
Lessons learned
Lessons learned •
Strategie: propositie goed definiëren
Lessons learned •
Strategie: propositie goed definiëren
•
Organisatie heeft tijd nodig om te veranderen
Lessons learned •
Strategie: propositie goed definiëren
•
Organisatie heeft tijd nodig om te veranderen
•
Ontwikkelaars moeilijk te vinden
Lessons learned •
Strategie: propositie goed definiëren
•
Organisatie heeft tijd nodig om te veranderen
•
Ontwikkelaars moeilijk te vinden
•
Goede architectuur applicatie erg belangrijk
Lessons learned •
Strategie: propositie goed definiëren
•
Organisatie heeft tijd nodig om te veranderen
•
Ontwikkelaars moeilijk te vinden
•
Goede architectuur applicatie erg belangrijk
•
Creëer geen legacy; technology stack up-to-date
Lessons learned •
Strategie: propositie goed definiëren
•
Organisatie heeft tijd nodig om te veranderen
•
Ontwikkelaars moeilijk te vinden
•
Goede architectuur applicatie erg belangrijk
•
Creëer geen legacy; technology stack up-to-date
•
Tijd is beperkt!
[email protected] https://nl.linkedin.com/in/marcgruben @marcgruben