SlideShare a Scribd company logo
1 of 55
Download to read offline
in it2
PHP	
  Azure
A	
  brand	
  new	
  day
PFCongresHét Web Development Congres
in it2
email:	
  michelangelo@in2it.be
twi;er:	
  @dragonbe
facebook:	
  dragonbe
ContactTrainer
Community	
  
LeaderPHP	
  Consultant
Michelangelo	
  van	
  Dam
in it2
#phpazure
in it2
Why	
  Windows	
  Azure?
‣ PHP	
  Developer
‣ Write	
  web	
  applicaFons
‣ Want	
  to	
  deploy	
  fast	
  and	
  safe
‣ Prototyping
‣ Not	
  a	
  sysadmin
‣ Don’t	
  have	
  Fme	
  to	
  worry	
  about	
  plaIorms
‣ Don’t	
  want	
  to	
  worry	
  about	
  scalability
in it2
Azure	
  for	
  PHP	
  devs
‣ Supports	
  most	
  common	
  PHP	
  frameworks
‣ Symfony,	
  Zend	
  Framework,	
  Silex,	
  Slim,	
  …
‣ Building	
  robust	
  web	
  applicaFons
‣ storage	
  and	
  CDN
‣ easy	
  separaFon	
  of	
  responsibiliFes
in it2
Move	
  to	
  the	
  cloud
in it2
Or	
  more	
  complex
Centric Architecture
Web Application
Database
Queue
Storage
Cache
Proxy
Log
Mail
in it2
Windows	
  Azure	
  Stack
Custom
Ready to go
Technology
Services
Data
Storage Blob Tables Queues CDN Cache
in it2
Azure	
  SDK	
  for	
  PHP
‣ Contents
‣ PHP	
  client	
  libraries	
  for	
  Windows	
  Azure
‣ Command	
  line	
  tools	
  for	
  Mac	
  &	
  Linux
‣ Windows	
  Azure	
  powershell	
  for	
  Windows
‣ Windows	
  Azure	
  Emulators	
  for	
  Windows
in it2
SDK	
  for	
  PHP
‣ WindowsAzure
‣ Blob
‣ Common
‣ Queue
‣ ServiceBus
‣ ServiceManagement
‣ ServiceRunFme
‣ Table
in it2
Composer
$	
  svn	
  export	
  h:ps://github.com/WindowsAzure/azure-­‐sdk-­‐for-­‐
php/trunk/WindowsAzure	
  library/WindowsAzure
Subversion	
  Hp
GITPEAR
SDK	
  installaFon
in it2
PEAR	
  dependencies
‣ HTTP_Request2
‣ Mail_mime
‣ Mail_mimeDecode
in it2
Websites
Storage
Cloud	
  ServicesVirtual	
  Machines
Windows	
  Azure
CDN
SSL
SLA
Mobile
Media Big	
  Data
QAVPN
IdenHty
Mgmt
ACL
in it2
Azure	
  Websites
in it2
The	
  quickest	
  way	
  to	
  deploy	
  
to	
  the	
  cloud
in it2
Requirements
‣ A	
  PHP	
  project
‣ A	
  version	
  control	
  system
‣ local	
  (GIT,	
  Subversion,	
  TFS,	
  WebDeploy)
‣ on	
  line	
  (GitHub,	
  Bitbucket,	
  DropBox)
‣ AlternaFve	
  tools
‣ FTP	
  deploy
‣ Using	
  VisualStudio	
  or	
  WebMatrix	
  to	
  deploy
‣ About	
  15	
  minutes
in it2
One	
  important	
  thing!
‣ DocumentRoot	
  in	
  project	
  subdir
‣ e.g.	
  public/index.php
‣ Requirement	
  for	
  web.config
<rule name="GoPub" patternSyntax="Wildcard">
<match url="*" />
    <action type="Rewrite" url="public/index.php" />
</rule>
in it2
in it2
Virtual	
  Machines
in it2
AlternaFve	
  way	
  to	
  achieve	
  
cloud	
  power
in it2
Usages
‣ Run	
  arbitrary	
  processes
‣ e.g.	
  cron	
  processes
‣ Provide	
  uFlity	
  services
‣ e.g.	
  forward	
  proxy
‣ Cloud	
  OS
‣ Windows,	
  SQL	
  Server	
  or	
  Linux	
  in	
  the	
  cloud
in it2
in it2
Cloud	
  Services
in it2
I	
  was	
  clueless
? ?
?:-(
in it2
Background
‣ Coming	
  from	
  a	
  UNIX/Linux	
  environment
‣ Worked	
  as	
  system	
  administrator
‣ Wrote	
  tools	
  in	
  Perl	
  (yeah,	
  I	
  know)
‣ Used	
  to	
  Cron,	
  Shell,	
  CGI	
  and	
  Daemons
‣ Worked	
  with	
  Windows	
  IIS
‣ Never	
  had	
  to	
  set	
  things	
  up
‣ Used	
  FTP	
  to	
  deploy	
  on	
  the	
  system
‣ Never	
  knew	
  the	
  fact	
  it	
  was	
  a	
  web	
  role	
  in	
  IIS
in it2
Figuring	
  it	
  out
‣ Web	
  Role
‣ A	
  web	
  site	
  or	
  service	
  running	
  on	
  the	
  internet
‣ Can	
  use	
  all	
  Windows	
  Azure	
  services
‣ Worker	
  Role
‣ Runs	
  processes	
  in	
  the	
  background
‣ Can	
  use	
  all	
  Windows	
  Azure	
  services
in it2
Why	
  Cloud	
  Services?
‣ All	
  the	
  power	
  of	
  Web	
  Sites
‣ With	
  smart	
  scaling	
  capabiliFes
‣ Memcache	
  like	
  caching	
  layer	
  per	
  instance
‣ Staging/ProducFon	
  environments
‣ With	
  smart	
  swapping
‣ Allows	
  controlled	
  automated	
  deployments
in it2
Command	
  line	
  tools
h;p://www.windowsazure.com/en-­‐us/manage/linux/how-­‐to-­‐guides/command-­‐line-­‐tools/
h;p://msdn.microsok.com/en-­‐us/library/windowsazure/jj156055.aspx
in it2
Endless	
  posibiliFes
WebApp WebApp WorkerApp
WinCache
Blob	
  Storage Table	
  Storage Queues
Azure	
  SQL 3rd-­‐party	
  MySQL
in it2
DTAP	
  environment
Web	
  Fabric Staging ProducHon
WorkstaHon Windows
Azure
Windows
Azure
in it2
Web	
  Role	
  for	
  PHP	
  Local
‣ Start	
  Azure	
  Emulator
‣ PS	
  C:devmyProject>	
  Start-­‐AzureEmulator
Creating local package...
Starting Emulator...
Role is running at http://127.0.0.1:81
Started
in it2
in it2
in it2
in it2
in it2
in it2
in it2
Storage
in it2
Blob	
  storage
‣ Storage	
  for	
  binary	
  large	
  objects	
  (BLOB)
‣ Block	
  blobs	
  (200GB)
‣ Page	
  blobs	
  (1TB)
‣ Unlimited	
  storage	
  capacity
‣ Content	
  delivery	
  network	
  (CDN)
‣ HTTP	
  and	
  HTTPS	
  support
‣ CNAME	
  support
‣ To	
  integrate	
  within	
  your	
  own	
  domain
(e.g.	
  blob.mycompany.com)
‣ Data	
  replicaFon
in it2
Blob	
  Storage	
  overview
My	
  Company
images
movies
image1.jpg
image2.jpg
movie1.mov
in it2
Usage	
  of	
  blobs
https://mycompany.blob.core.windows.net/image/image1.jpg
https://cdn01.mycompany.com/image/image1.jpg
in it2
Table	
  storage
‣ Storage	
  of	
  structured	
  data
‣ Oken	
  referred	
  to	
  as	
  NoSQL
‣ Implements	
  tree-­‐like	
  data	
  storage	
  and	
  
retrieval
‣ Scalable	
  and	
  replicated
‣ Supports	
  OData	
  protocol
in it2
Table	
  Storage	
  overview
Company
customer
product
name	
  =	
  …
email	
  =	
  …
name	
  =	
  …
email	
  =	
  …
code	
  =	
  …
price	
  =	
  …
in it2
Accessing	
  Table	
  Store	
  data
‣ Using	
  REST	
  directly
‣ GET	
  h;p://mycompany.table.core.windows.net/
customer
‣ Using	
  SDK
‣ h;ps://github.com/WindowsAzure/azure-­‐sdk-­‐
for-­‐php
in it2
Queue	
  Storage
‣ FIFO	
  type	
  storage
‣ Processing	
  one	
  item	
  a	
  Fme
‣ Messages	
  in	
  any	
  format	
  of	
  64KB
‣ Useful	
  for	
  deferred	
  acFons
‣ Resize	
  of	
  images
‣ Sending	
  out	
  mails
‣ …
in it2
Queue	
  Storage	
  overview
Email	
  2
Email	
  1
Email	
  3
Worker
Role
Email	
  1Queue Email	
  2
in it2
Accessing	
  Queue	
  Messages
‣ Directly	
  with	
  REST
‣ GET	
  h;ps://
mycompany.queue.core.windows.net/
mailToSend
‣ Indirectly	
  using	
  SDK
‣ h;ps://github.com/WindowsAzure/azure-­‐sdk-­‐
for-­‐php
in it2
Conclusion
in it2
Conclusion
‣ PHP	
  for	
  web	
  applicaFon	
  development
‣ WAWS	
  for	
  rapid	
  prototyping
‣ WACS	
  for	
  scaling	
  web	
  apps	
  and	
  workers
‣ WAVM	
  for	
  proxy,	
  tooling	
  and	
  scheduling
in it2
PHP	
  checklist
‣ Get	
  your	
  prototypes	
  online	
  quickly
‣ Ensure	
  your	
  apps	
  stay	
  online	
  all	
  the	
  Fme
‣ Distribute	
  responsibiliFes
‣ Integrate	
  3rd-­‐party	
  soluFons	
  easily
in it2
No	
  system	
  knowledge	
  necessary!
Limited
✓
in it2
Michelangelo	
  van	
  Dam
Zend	
  CerFfied	
  Engineer
michelangelo@in2it.be
in it2
PHP	
  ConsulFng	
  -­‐	
  QA	
  Audits	
  -­‐	
  Training	
  Courses
www.in2it.be
in it2
CreaFve	
  Commons	
  Credits
‣ sunny	
  clouds:	
  h;p://www.flickr.com/
photos/andyfitz/2340298916
‣ balloon:	
  h;p://www.flickr.com/photos/
ashraful/5836601848
‣ flight:	
  h;p://www.flickr.com/photos/
unfinishedportrait/7712845996
‣ train:	
  h;p://www.flickr.com/photos/
nomadic_lass/8508000688	
  
in it2
8957
If	
  you	
  liked	
  it,	
  thanks!
If	
  not,	
  tell	
  me	
  how	
  to	
  improve
in it2Thank	
  you

More Related Content

Viewers also liked

Brochure clevacances
Brochure clevacancesBrochure clevacances
Brochure clevacancesBerry
 
eMarketing para La Empresa Exportadora
eMarketing para La Empresa ExportadoraeMarketing para La Empresa Exportadora
eMarketing para La Empresa ExportadoraJavier Cantera
 
Curso de primeros auxilios para educadores
Curso de primeros auxilios para educadoresCurso de primeros auxilios para educadores
Curso de primeros auxilios para educadoresMediLife Training
 
Scientific method ok
Scientific method okScientific method ok
Scientific method okpmoles
 
aplicacion de dovelas prefabricadas en tuneles y galerias
aplicacion de dovelas prefabricadas en tuneles y galeriasaplicacion de dovelas prefabricadas en tuneles y galerias
aplicacion de dovelas prefabricadas en tuneles y galeriasclever larico
 
Power Point Sales Presentation 2009 (2)
Power Point  Sales Presentation   2009 (2)Power Point  Sales Presentation   2009 (2)
Power Point Sales Presentation 2009 (2)monurq
 
Livro Repúblicas e entidades estudantis de Ouro Preto: trajetórias e importância
Livro Repúblicas e entidades estudantis de Ouro Preto: trajetórias e importânciaLivro Repúblicas e entidades estudantis de Ouro Preto: trajetórias e importância
Livro Repúblicas e entidades estudantis de Ouro Preto: trajetórias e importânciaeditoraprospectiva
 
Isométrica dun cilindro
Isométrica dun cilindroIsométrica dun cilindro
Isométrica dun cilindroLuisuarez
 
Material saber lenguaje y filosofía 2014
Material saber  lenguaje y filosofía 2014Material saber  lenguaje y filosofía 2014
Material saber lenguaje y filosofía 2014sbmalambo
 
El uso de los signos ortográficos
El uso de los signos ortográficosEl uso de los signos ortográficos
El uso de los signos ortográficospedro santos neri
 
Dioses de la muerte en las mitologías del mundo
Dioses de la muerte en las mitologías del mundoDioses de la muerte en las mitologías del mundo
Dioses de la muerte en las mitologías del mundogandalthewhitelord
 

Viewers also liked (17)

Serviceinnovation
ServiceinnovationServiceinnovation
Serviceinnovation
 
Brochure clevacances
Brochure clevacancesBrochure clevacances
Brochure clevacances
 
eMarketing para La Empresa Exportadora
eMarketing para La Empresa ExportadoraeMarketing para La Empresa Exportadora
eMarketing para La Empresa Exportadora
 
Curso de primeros auxilios para educadores
Curso de primeros auxilios para educadoresCurso de primeros auxilios para educadores
Curso de primeros auxilios para educadores
 
Scientific method ok
Scientific method okScientific method ok
Scientific method ok
 
Digital Fusion Overview
Digital Fusion OverviewDigital Fusion Overview
Digital Fusion Overview
 
aplicacion de dovelas prefabricadas en tuneles y galerias
aplicacion de dovelas prefabricadas en tuneles y galeriasaplicacion de dovelas prefabricadas en tuneles y galerias
aplicacion de dovelas prefabricadas en tuneles y galerias
 
Power Point Sales Presentation 2009 (2)
Power Point  Sales Presentation   2009 (2)Power Point  Sales Presentation   2009 (2)
Power Point Sales Presentation 2009 (2)
 
Livro Repúblicas e entidades estudantis de Ouro Preto: trajetórias e importância
Livro Repúblicas e entidades estudantis de Ouro Preto: trajetórias e importânciaLivro Repúblicas e entidades estudantis de Ouro Preto: trajetórias e importância
Livro Repúblicas e entidades estudantis de Ouro Preto: trajetórias e importância
 
CV Circe Luna - 2013
CV Circe Luna - 2013CV Circe Luna - 2013
CV Circe Luna - 2013
 
Isométrica dun cilindro
Isométrica dun cilindroIsométrica dun cilindro
Isométrica dun cilindro
 
Gpc 19pc ca mama
Gpc 19pc ca mamaGpc 19pc ca mama
Gpc 19pc ca mama
 
Material saber lenguaje y filosofía 2014
Material saber  lenguaje y filosofía 2014Material saber  lenguaje y filosofía 2014
Material saber lenguaje y filosofía 2014
 
El uso de los signos ortográficos
El uso de los signos ortográficosEl uso de los signos ortográficos
El uso de los signos ortográficos
 
Dioses de la muerte en las mitologías del mundo
Dioses de la muerte en las mitologías del mundoDioses de la muerte en las mitologías del mundo
Dioses de la muerte en las mitologías del mundo
 
Jornada ''El paper del tècnic agrícola en la seguretat alimentària''. Ponènci...
Jornada ''El paper del tècnic agrícola en la seguretat alimentària''. Ponènci...Jornada ''El paper del tècnic agrícola en la seguretat alimentària''. Ponènci...
Jornada ''El paper del tècnic agrícola en la seguretat alimentària''. Ponènci...
 
Presas cfrd
Presas cfrdPresas cfrd
Presas cfrd
 

More from Michelangelo van Dam

GDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultGDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultMichelangelo van Dam
 
Moving from app services to azure functions
Moving from app services to azure functionsMoving from app services to azure functions
Moving from app services to azure functionsMichelangelo van Dam
 
General Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyGeneral Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyMichelangelo van Dam
 
Leveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageLeveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageMichelangelo van Dam
 
Open source for a successful business
Open source for a successful businessOpen source for a successful business
Open source for a successful businessMichelangelo van Dam
 
Decouple your framework now, thank me later
Decouple your framework now, thank me laterDecouple your framework now, thank me later
Decouple your framework now, thank me laterMichelangelo van Dam
 
Deploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesDeploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesMichelangelo van Dam
 
Azure and OSS, a match made in heaven
Azure and OSS, a match made in heavenAzure and OSS, a match made in heaven
Azure and OSS, a match made in heavenMichelangelo van Dam
 
Zf2 how arrays will save your project
Zf2   how arrays will save your projectZf2   how arrays will save your project
Zf2 how arrays will save your projectMichelangelo van Dam
 
PHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsPHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsMichelangelo van Dam
 
Easily extend your existing php app with an api
Easily extend your existing php app with an apiEasily extend your existing php app with an api
Easily extend your existing php app with an apiMichelangelo van Dam
 

More from Michelangelo van Dam (20)

GDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and defaultGDPR Art. 25 - Privacy by design and default
GDPR Art. 25 - Privacy by design and default
 
Moving from app services to azure functions
Moving from app services to azure functionsMoving from app services to azure functions
Moving from app services to azure functions
 
Privacy by design
Privacy by designPrivacy by design
Privacy by design
 
DevOps or DevSecOps
DevOps or DevSecOpsDevOps or DevSecOps
DevOps or DevSecOps
 
Privacy by design
Privacy by designPrivacy by design
Privacy by design
 
Continuous deployment 2.0
Continuous deployment 2.0Continuous deployment 2.0
Continuous deployment 2.0
 
Let your tests drive your code
Let your tests drive your codeLet your tests drive your code
Let your tests drive your code
 
General Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's storyGeneral Data Protection Regulation, a developer's story
General Data Protection Regulation, a developer's story
 
Leveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantageLeveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantage
 
The road to php 7.1
The road to php 7.1The road to php 7.1
The road to php 7.1
 
Open source for a successful business
Open source for a successful businessOpen source for a successful business
Open source for a successful business
 
Decouple your framework now, thank me later
Decouple your framework now, thank me laterDecouple your framework now, thank me later
Decouple your framework now, thank me later
 
Deploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutesDeploy to azure in less then 15 minutes
Deploy to azure in less then 15 minutes
 
Azure and OSS, a match made in heaven
Azure and OSS, a match made in heavenAzure and OSS, a match made in heaven
Azure and OSS, a match made in heaven
 
Getting hands dirty with php7
Getting hands dirty with php7Getting hands dirty with php7
Getting hands dirty with php7
 
Zf2 how arrays will save your project
Zf2   how arrays will save your projectZf2   how arrays will save your project
Zf2 how arrays will save your project
 
Create, test, secure, repeat
Create, test, secure, repeatCreate, test, secure, repeat
Create, test, secure, repeat
 
The Continuous PHP Pipeline
The Continuous PHP PipelineThe Continuous PHP Pipeline
The Continuous PHP Pipeline
 
PHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the testsPHPUnit Episode iv.iii: Return of the tests
PHPUnit Episode iv.iii: Return of the tests
 
Easily extend your existing php app with an api
Easily extend your existing php app with an apiEasily extend your existing php app with an api
Easily extend your existing php app with an api
 

Recently uploaded

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...itnewsafrica
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 

Recently uploaded (20)

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 

Php Azure, A bright new day! - PFCongres 2013

  • 1. in it2 PHP  Azure A  brand  new  day PFCongresHét Web Development Congres
  • 2. in it2 email:  michelangelo@in2it.be twi;er:  @dragonbe facebook:  dragonbe ContactTrainer Community   LeaderPHP  Consultant Michelangelo  van  Dam
  • 4. in it2 Why  Windows  Azure? ‣ PHP  Developer ‣ Write  web  applicaFons ‣ Want  to  deploy  fast  and  safe ‣ Prototyping ‣ Not  a  sysadmin ‣ Don’t  have  Fme  to  worry  about  plaIorms ‣ Don’t  want  to  worry  about  scalability
  • 5. in it2 Azure  for  PHP  devs ‣ Supports  most  common  PHP  frameworks ‣ Symfony,  Zend  Framework,  Silex,  Slim,  … ‣ Building  robust  web  applicaFons ‣ storage  and  CDN ‣ easy  separaFon  of  responsibiliFes
  • 6. in it2 Move  to  the  cloud
  • 7. in it2 Or  more  complex Centric Architecture Web Application Database Queue Storage Cache Proxy Log Mail
  • 8. in it2 Windows  Azure  Stack Custom Ready to go Technology Services Data Storage Blob Tables Queues CDN Cache
  • 9. in it2 Azure  SDK  for  PHP ‣ Contents ‣ PHP  client  libraries  for  Windows  Azure ‣ Command  line  tools  for  Mac  &  Linux ‣ Windows  Azure  powershell  for  Windows ‣ Windows  Azure  Emulators  for  Windows
  • 10. in it2 SDK  for  PHP ‣ WindowsAzure ‣ Blob ‣ Common ‣ Queue ‣ ServiceBus ‣ ServiceManagement ‣ ServiceRunFme ‣ Table
  • 11. in it2 Composer $  svn  export  h:ps://github.com/WindowsAzure/azure-­‐sdk-­‐for-­‐ php/trunk/WindowsAzure  library/WindowsAzure Subversion  Hp GITPEAR SDK  installaFon
  • 12. in it2 PEAR  dependencies ‣ HTTP_Request2 ‣ Mail_mime ‣ Mail_mimeDecode
  • 13. in it2 Websites Storage Cloud  ServicesVirtual  Machines Windows  Azure CDN SSL SLA Mobile Media Big  Data QAVPN IdenHty Mgmt ACL
  • 15. in it2 The  quickest  way  to  deploy   to  the  cloud
  • 16. in it2 Requirements ‣ A  PHP  project ‣ A  version  control  system ‣ local  (GIT,  Subversion,  TFS,  WebDeploy) ‣ on  line  (GitHub,  Bitbucket,  DropBox) ‣ AlternaFve  tools ‣ FTP  deploy ‣ Using  VisualStudio  or  WebMatrix  to  deploy ‣ About  15  minutes
  • 17. in it2 One  important  thing! ‣ DocumentRoot  in  project  subdir ‣ e.g.  public/index.php ‣ Requirement  for  web.config <rule name="GoPub" patternSyntax="Wildcard"> <match url="*" />     <action type="Rewrite" url="public/index.php" /> </rule>
  • 20. in it2 AlternaFve  way  to  achieve   cloud  power
  • 21. in it2 Usages ‣ Run  arbitrary  processes ‣ e.g.  cron  processes ‣ Provide  uFlity  services ‣ e.g.  forward  proxy ‣ Cloud  OS ‣ Windows,  SQL  Server  or  Linux  in  the  cloud
  • 24. in it2 I  was  clueless ? ? ?:-(
  • 25. in it2 Background ‣ Coming  from  a  UNIX/Linux  environment ‣ Worked  as  system  administrator ‣ Wrote  tools  in  Perl  (yeah,  I  know) ‣ Used  to  Cron,  Shell,  CGI  and  Daemons ‣ Worked  with  Windows  IIS ‣ Never  had  to  set  things  up ‣ Used  FTP  to  deploy  on  the  system ‣ Never  knew  the  fact  it  was  a  web  role  in  IIS
  • 26. in it2 Figuring  it  out ‣ Web  Role ‣ A  web  site  or  service  running  on  the  internet ‣ Can  use  all  Windows  Azure  services ‣ Worker  Role ‣ Runs  processes  in  the  background ‣ Can  use  all  Windows  Azure  services
  • 27. in it2 Why  Cloud  Services? ‣ All  the  power  of  Web  Sites ‣ With  smart  scaling  capabiliFes ‣ Memcache  like  caching  layer  per  instance ‣ Staging/ProducFon  environments ‣ With  smart  swapping ‣ Allows  controlled  automated  deployments
  • 28. in it2 Command  line  tools h;p://www.windowsazure.com/en-­‐us/manage/linux/how-­‐to-­‐guides/command-­‐line-­‐tools/ h;p://msdn.microsok.com/en-­‐us/library/windowsazure/jj156055.aspx
  • 29. in it2 Endless  posibiliFes WebApp WebApp WorkerApp WinCache Blob  Storage Table  Storage Queues Azure  SQL 3rd-­‐party  MySQL
  • 30. in it2 DTAP  environment Web  Fabric Staging ProducHon WorkstaHon Windows Azure Windows Azure
  • 31. in it2 Web  Role  for  PHP  Local ‣ Start  Azure  Emulator ‣ PS  C:devmyProject>  Start-­‐AzureEmulator Creating local package... Starting Emulator... Role is running at http://127.0.0.1:81 Started
  • 39. in it2 Blob  storage ‣ Storage  for  binary  large  objects  (BLOB) ‣ Block  blobs  (200GB) ‣ Page  blobs  (1TB) ‣ Unlimited  storage  capacity ‣ Content  delivery  network  (CDN) ‣ HTTP  and  HTTPS  support ‣ CNAME  support ‣ To  integrate  within  your  own  domain (e.g.  blob.mycompany.com) ‣ Data  replicaFon
  • 40. in it2 Blob  Storage  overview My  Company images movies image1.jpg image2.jpg movie1.mov
  • 41. in it2 Usage  of  blobs https://mycompany.blob.core.windows.net/image/image1.jpg https://cdn01.mycompany.com/image/image1.jpg
  • 42. in it2 Table  storage ‣ Storage  of  structured  data ‣ Oken  referred  to  as  NoSQL ‣ Implements  tree-­‐like  data  storage  and   retrieval ‣ Scalable  and  replicated ‣ Supports  OData  protocol
  • 43. in it2 Table  Storage  overview Company customer product name  =  … email  =  … name  =  … email  =  … code  =  … price  =  …
  • 44. in it2 Accessing  Table  Store  data ‣ Using  REST  directly ‣ GET  h;p://mycompany.table.core.windows.net/ customer ‣ Using  SDK ‣ h;ps://github.com/WindowsAzure/azure-­‐sdk-­‐ for-­‐php
  • 45. in it2 Queue  Storage ‣ FIFO  type  storage ‣ Processing  one  item  a  Fme ‣ Messages  in  any  format  of  64KB ‣ Useful  for  deferred  acFons ‣ Resize  of  images ‣ Sending  out  mails ‣ …
  • 46. in it2 Queue  Storage  overview Email  2 Email  1 Email  3 Worker Role Email  1Queue Email  2
  • 47. in it2 Accessing  Queue  Messages ‣ Directly  with  REST ‣ GET  h;ps:// mycompany.queue.core.windows.net/ mailToSend ‣ Indirectly  using  SDK ‣ h;ps://github.com/WindowsAzure/azure-­‐sdk-­‐ for-­‐php
  • 49. in it2 Conclusion ‣ PHP  for  web  applicaFon  development ‣ WAWS  for  rapid  prototyping ‣ WACS  for  scaling  web  apps  and  workers ‣ WAVM  for  proxy,  tooling  and  scheduling
  • 50. in it2 PHP  checklist ‣ Get  your  prototypes  online  quickly ‣ Ensure  your  apps  stay  online  all  the  Fme ‣ Distribute  responsibiliFes ‣ Integrate  3rd-­‐party  soluFons  easily
  • 51. in it2 No  system  knowledge  necessary! Limited ✓
  • 52. in it2 Michelangelo  van  Dam Zend  CerFfied  Engineer michelangelo@in2it.be in it2 PHP  ConsulFng  -­‐  QA  Audits  -­‐  Training  Courses www.in2it.be
  • 53. in it2 CreaFve  Commons  Credits ‣ sunny  clouds:  h;p://www.flickr.com/ photos/andyfitz/2340298916 ‣ balloon:  h;p://www.flickr.com/photos/ ashraful/5836601848 ‣ flight:  h;p://www.flickr.com/photos/ unfinishedportrait/7712845996 ‣ train:  h;p://www.flickr.com/photos/ nomadic_lass/8508000688  
  • 54. in it2 8957 If  you  liked  it,  thanks! If  not,  tell  me  how  to  improve