Php Azure, A bright new day! - PFCongres 2013
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Php Azure, A bright new day! - PFCongres 2013



Windows Azure is one of the best cloud solutions out there and offers many services and tools for professionals to scale and extend their public and private applications. But as a professional web ...

Windows Azure is one of the best cloud solutions out there and offers many services and tools for professionals to scale and extend their public and private applications. But as a professional web developer you need sometimes a quick solution to run your newest idea on. Most cloud solution providers ask you to download their stuff, upload your stuff and fight with numerous configurations while most of the things you do with Windows Azure you can do with a simple git repository, hosted on Github or BitBucket. This talk shows how fast you can develop a new idea with PHP and have it up-and-running in no time for your customers to see your latest idea and brainstorm about additional features. Generation Now, yes I am.



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Php Azure, A bright new day! - PFCongres 2013 Presentation Transcript

  • 1. in it2 PHP  Azure A  brand  new  day PFCongresHét Web Development Congres
  • 2. in it2 email: twi;er:  @dragonbe facebook:  dragonbe ContactTrainer Community   LeaderPHP  Consultant Michelangelo  van  Dam
  • 3. in it2 #phpazure
  • 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://­‐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
  • 14. in it2 Azure  Websites
  • 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>
  • 18. in it2
  • 19. in it2 Virtual  Machines
  • 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
  • 22. in it2
  • 23. in it2 Cloud  Services
  • 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://­‐us/manage/linux/how-­‐to-­‐guides/command-­‐line-­‐tools/ h;p://­‐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 Started
  • 32. in it2
  • 33. in it2
  • 34. in it2
  • 35. in it2
  • 36. in it2
  • 37. in it2
  • 38. in it2 Storage
  • 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. ‣ Data  replicaFon
  • 40. in it2 Blob  Storage  overview My  Company images movies image1.jpg image2.jpg
  • 41. in it2 Usage  of  blobs
  • 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:// customer ‣ Using  SDK ‣ h;ps://­‐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:// mailToSend ‣ Indirectly  using  SDK ‣ h;ps://­‐sdk-­‐ for-­‐php
  • 48. in it2 Conclusion
  • 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 in it2 PHP  ConsulFng  -­‐  QA  Audits  -­‐  Training  Courses
  • 53. in it2 CreaFve  Commons  Credits ‣ sunny  clouds:  h;p:// photos/andyfitz/2340298916 ‣ balloon:  h;p:// ashraful/5836601848 ‣ flight:  h;p:// unfinishedportrait/7712845996 ‣ train:  h;p:// nomadic_lass/8508000688  
  • 54. in it2 8957 If  you  liked  it,  thanks! If  not,  tell  me  how  to  improve
  • 55. in it2Thank  you