Php Azure - TrueNorthPHP 2013
-
Upload
michelangelo-van-dam -
Category
Technology
-
view
5.099 -
download
4
Transcript of Php Azure - TrueNorthPHP 2013
in it2
PHP AzureA brand new day
in it2
email: [email protected] 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 complexCentric Architecture
Web Application
Database
Queue
Storage
Cache
Proxy
Log
Proxy
Web Application
DatabaseProxy
Proxy
Web Application
SERVICE
LAYER
API
Queue
Storage
Cache
Log
MailWorker
Service LayerDatabase Queue
StorageCache
Log
MailAppl
icat
ion
1
Applicati
on 2
Application 3
Application 4
Application 5
in it2
Windows Azure StackCustom
Ready to go
Technology
Services
Data
Storage Blob Tables Queue 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
SSLSLA
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:\dev\myProject> 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
A lot more…
WebInfrastructure Mobile Dev & Test
MediaBig Data
Storage, Backup & Recovery
Identity & Access Management
in it2
YouTube.com/WindowsAzure
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 !
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
h:ps://joind.in/9997
If you liked it, thanks! If not, tell me how to improve
in it2Thank you