Php Azure, A bright new day! - PFCongres 2013

Michelangelo van Dam
Michelangelo van DamSenior PHP architect & QA Specialist at In2IT
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
1 of 55

Recommended

Paz cuarto domingo de adviento (año c) – 20 diciembre 2015 by
Paz   cuarto domingo de adviento (año c) – 20 diciembre 2015Paz   cuarto domingo de adviento (año c) – 20 diciembre 2015
Paz cuarto domingo de adviento (año c) – 20 diciembre 2015Comunión de Gracia
10.3K views55 slides
UI innovation with SAP NetWeaver Gateway by
UI innovation with SAP NetWeaver GatewayUI innovation with SAP NetWeaver Gateway
UI innovation with SAP NetWeaver GatewayJohn Moy
7.8K views24 slides
Month of the military child mc gruff safe kids by
Month of the military child  mc gruff safe kidsMonth of the military child  mc gruff safe kids
Month of the military child mc gruff safe kidsU.S. Navy Fleet and Family Support Program
607 views4 slides
OzAltNet Fast-ANDroid-furious by
OzAltNet Fast-ANDroid-furiousOzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furiousCraig Dunn
1.6K views17 slides
Recarga Express by
Recarga ExpressRecarga Express
Recarga ExpressJonathan Lucero Gonzàlez
1.2K views18 slides
Towards Consumer-specified Service License selection and Composition by
Towards Consumer-specified Service License selection and CompositionTowards Consumer-specified Service License selection and Composition
Towards Consumer-specified Service License selection and CompositionHong-Linh Truong
377 views29 slides

More Related Content

Viewers also liked

Serviceinnovation by
ServiceinnovationServiceinnovation
ServiceinnovationBaschir Cristian
447 views16 slides
Brochure clevacances by
Brochure clevacancesBrochure clevacances
Brochure clevacancesBerry
3.4K views24 slides
eMarketing para La Empresa Exportadora by
eMarketing para La Empresa ExportadoraeMarketing para La Empresa Exportadora
eMarketing para La Empresa ExportadoraJavier Cantera
559 views31 slides
Curso de primeros auxilios para educadores by
Curso de primeros auxilios para educadoresCurso de primeros auxilios para educadores
Curso de primeros auxilios para educadoresMediLife Training
238 views4 slides
Scientific method ok by
Scientific method okScientific method ok
Scientific method okpmoles
3.4K views39 slides
Digital Fusion Overview by
Digital Fusion OverviewDigital Fusion Overview
Digital Fusion OverviewDigital Fusion LLC
433 views43 slides

Viewers also liked(17)

Brochure clevacances by Berry
Brochure clevacancesBrochure clevacances
Brochure clevacances
Berry3.4K views
eMarketing para La Empresa Exportadora by Javier Cantera
eMarketing para La Empresa ExportadoraeMarketing para La Empresa Exportadora
eMarketing para La Empresa Exportadora
Javier Cantera559 views
Curso de primeros auxilios para educadores by MediLife Training
Curso de primeros auxilios para educadoresCurso de primeros auxilios para educadores
Curso de primeros auxilios para educadores
MediLife Training238 views
Scientific method ok by pmoles
Scientific method okScientific method ok
Scientific method ok
pmoles3.4K views
aplicacion de dovelas prefabricadas en tuneles y galerias by clever larico
aplicacion de dovelas prefabricadas en tuneles y galeriasaplicacion de dovelas prefabricadas en tuneles y galerias
aplicacion de dovelas prefabricadas en tuneles y galerias
clever larico1.2K views
Power Point Sales Presentation 2009 (2) by monurq
Power Point  Sales Presentation   2009 (2)Power Point  Sales Presentation   2009 (2)
Power Point Sales Presentation 2009 (2)
monurq405 views
Livro Repúblicas e entidades estudantis de Ouro Preto: trajetórias e importância by editoraprospectiva
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
editoraprospectiva16.4K views
Isométrica dun cilindro by Luisuarez
Isométrica dun cilindroIsométrica dun cilindro
Isométrica dun cilindro
Luisuarez5.7K views
Material saber lenguaje y filosofía 2014 by sbmalambo
Material saber  lenguaje y filosofía 2014Material saber  lenguaje y filosofía 2014
Material saber lenguaje y filosofía 2014
sbmalambo713 views
Dioses de la muerte en las mitologías del mundo by gandalthewhitelord
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
gandalthewhitelord30.2K views

More from Michelangelo van Dam

GDPR Art. 25 - Privacy by design and default by
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
114 views39 slides
Moving from app services to azure functions by
Moving from app services to azure functionsMoving from app services to azure functions
Moving from app services to azure functionsMichelangelo van Dam
568 views40 slides
Privacy by design by
Privacy by designPrivacy by design
Privacy by designMichelangelo van Dam
785 views69 slides
DevOps or DevSecOps by
DevOps or DevSecOpsDevOps or DevSecOps
DevOps or DevSecOpsMichelangelo van Dam
994 views63 slides
Privacy by design by
Privacy by designPrivacy by design
Privacy by designMichelangelo van Dam
1.1K views73 slides
Continuous deployment 2.0 by
Continuous deployment 2.0Continuous deployment 2.0
Continuous deployment 2.0Michelangelo van Dam
1.4K views73 slides

More from Michelangelo van Dam(20)

General Data Protection Regulation, a developer's story by Michelangelo van Dam
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 by Michelangelo van Dam
Leveraging a distributed architecture to your advantageLeveraging a distributed architecture to your advantage
Leveraging a distributed architecture to your advantage

Recently uploaded

Five Things You SHOULD Know About Postman by
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About PostmanPostman
38 views43 slides
MVP and prioritization.pdf by
MVP and prioritization.pdfMVP and prioritization.pdf
MVP and prioritization.pdfrahuldharwal141
37 views8 slides
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TShapeBlue
38 views34 slides
Ransomware is Knocking your Door_Final.pdf by
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
66 views46 slides
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...ShapeBlue
60 views62 slides
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...ShapeBlue
61 views15 slides

Recently uploaded(20)

Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman38 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue38 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue60 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue61 views
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue55 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker48 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue89 views
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue44 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue25 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue71 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue26 views
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue84 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue75 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue54 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn26 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue66 views

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