Hybrid Cloud PHPUK2012
-
Upload
combell-group -
Category
Technology
-
view
1.697 -
download
1
description
Transcript of Hybrid Cloud PHPUK2012
![Page 1: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/1.jpg)
Thijs FerynEvangelist+32 (0)9 218 79 [email protected]
Develop & deploy using hybrid cloud strategies
![Page 2: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/2.jpg)
Very excited to be here !
![Page 3: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/3.jpg)
THIJS
![Page 4: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/4.jpg)
![Page 5: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/5.jpg)
TAZE
![Page 6: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/6.jpg)
Evangelist
![Page 7: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/7.jpg)
![Page 8: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/8.jpg)
![Page 9: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/9.jpg)
![Page 10: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/10.jpg)
@ThijsFeryn
![Page 11: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/11.jpg)
Please rate my talk on
Joind.in
https://joind.in/4951
![Page 12: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/12.jpg)
What is Cloud?
![Page 13: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/13.jpg)
“That’s where rain comes from”
Andrei Zmievski
![Page 14: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/14.jpg)
Cloud=
Internet
![Page 15: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/15.jpg)
DefiniIon
A model for consumpIon & delivery on the internet where flexibility is essenIal & can be
guaranteed through abstracIon
![Page 16: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/16.jpg)
Internet as a uIlity
![Page 17: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/17.jpg)
Translated to what we know & need
![Page 18: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/18.jpg)
Always available
![Page 19: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/19.jpg)
Fast (enough)
![Page 20: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/20.jpg)
Scalability
Up & down vs out & in
![Page 21: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/21.jpg)
Focus on using, do what you’re good at
![Page 22: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/22.jpg)
Leave the rest to others
![Page 23: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/23.jpg)
![Page 24: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/24.jpg)
Higher up the stack
![Page 25: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/25.jpg)
Economic advantages
![Page 26: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/26.jpg)
Less moneyLess effortLess risk
Less worries
![Page 27: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/27.jpg)
Hybrid let’s you do that
![Page 28: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/28.jpg)
Hybrid is just a fancy way of saying
![Page 29: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/29.jpg)
Pick the pieces of the puzzle yourself
![Page 30: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/30.jpg)
![Page 31: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/31.jpg)
Amazon web services
✓CompuIng–EC2–ELB–Auto scaling
✓Storage–S3–EBS
✓Database–RDS–DynamoDB–SimpleDB–ElasIcache–SQS✓CDN–CloudFront
Self-‐service Iaas
![Page 32: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/32.jpg)
Windows Azure
✓CompuIng✓Storage–Blog storage–Table storage✓CDN✓SQL Azure✓Data sync✓Service Bus
Self-‐service Paas
![Page 33: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/33.jpg)
Orchestra
✓CompuLng✓Database
–Memcached–MySQL & RDS–CouchDB–MongoDB–Redis
PHP Paas on top of AWS
![Page 34: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/34.jpg)
CloudFlare
✓CDN✓DNS✓DDOS security✓Traffic analyIcs
ProtecIon SaaS
![Page 35: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/35.jpg)
Combell
Fully customized & managed soluIons
![Page 36: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/36.jpg)
Easy peasy, right?
![Page 37: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/37.jpg)
![Page 38: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/38.jpg)
Single point of failure
![Page 39: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/39.jpg)
Shared nothing
![Page 40: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/40.jpg)
Nothing is local
![Page 41: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/41.jpg)
Distributed systems
![Page 42: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/42.jpg)
Easy to deploy & manage?
![Page 43: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/43.jpg)
How do you deal with
$_SESSIONS?
![Page 44: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/44.jpg)
ReplicaIonR/W splibng
![Page 45: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/45.jpg)
![Page 46: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/46.jpg)
“Cloud is for green field projects”
Maarten Balliauw
![Page 47: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/47.jpg)
Let’s do it !
![Page 48: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/48.jpg)
Infrastructure
✓Basics–Webservers–MySQL servers–File servers✓AddiIonal servers–Caching servers–Reverse proxy servers✓External CDN
![Page 49: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/49.jpg)
Single server setup
![Page 50: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/50.jpg)
Single server setup
✓Developer–Everything is local•Files•Databases
✓Sysadmin–Sits back, drinks some coffee
![Page 51: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/51.jpg)
Single server setup
✓Amazon–1 EC2 instance–Local MySQL or RDS (as a service)–Local files✓Azure–Single App deployment–Include PHP & MySQL in package script✓Orchestra–Single App deployment–Request MySQL database or RDS
What about the Cloud?
![Page 52: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/52.jpg)
Separate MySQL
![Page 53: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/53.jpg)
Separate MySQL
✓Developer–Change connecIonstring(s)✓Sysadmin–Sets up separate server–Tunes for MySQL
![Page 54: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/54.jpg)
Separate MySQL
✓Amazon–Extra EC2 instance for MySQL–RDS✓Azure–MySQL deployment with worker role–Doesn’t scale well–Use SQL Azure instead✓Orchestra–By default separate–Create separate MySQL database–RDS
What about the Cloud?
![Page 55: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/55.jpg)
MulIple MySQL’s
![Page 56: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/56.jpg)
MulIple MySQL’s
✓Developer–Read write spliUng in code–Connect to loadbalanced hostname
✓Sysadmin–Setup servers–Configure replicaLon•Master/master•Master/slave
–Add to loadbalancing
![Page 57: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/57.jpg)
MulIple MySQL’s
Use mysqlnd_ms for R/W splibng in case of crappy code{ "myapp": { "master": { "write_group": { "host": "master.db.myapp.ext", "port": "3306" } }, "slave": { "read_group": { "host": "slave.db.myapp.ext", "port": "3306" } } }}
mysqlnd_ms_plugin.ini
![Page 58: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/58.jpg)
mysqlnd_ms.enable=1mysqlnd_ms.ini_file=/path/to/mysqlnd_ms_plugin.ini
php.ini
<?php$mysqli = new mysqli("myapp", "username", "password", "database");$pdo = new PDO('mysql:host=myapp;dbname=database', 'username', 'password');$mysql = mysql_connect("myapp", "username", "password");
ConnecIon string
![Page 59: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/59.jpg)
MulIple MySQL’s
✓Amazon–MulLple EC2 instances with replicaLon and loadbalancing–RDS with read replica
✓Azure–Include PHP & MySQL in package script–Doesn’t scale–Use SQL Azure
✓Orchestra–RDS–Xeround
What about the Cloud?
![Page 60: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/60.jpg)
MulIple web
servers
![Page 61: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/61.jpg)
MulIple web servers
✓Developer–MulLple places to deploy–Where are my staLc assets?–Sessions?
✓Sysadmin–MulLple servers behind loadbalancer–$_SESSION clustering via Memcached or sLcky sessions–Shared storage
![Page 62: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/62.jpg)
Memcached session handler
session.save_handler = memcachedsession.save_path= “mc1.myapp.ext:11211,mc2.myapp.ext:11211”
php.ini
![Page 63: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/63.jpg)
MulIple Web servers
✓Amazon–MulLple EC2 instances –Use ELB for loadbalancing–AMI for easy setup–Config management (puppet, chef, ...)
✓Azure–Out of the box–Tuning possible
✓Orchestra–Out of the box
What about the Cloud?
![Page 64: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/64.jpg)
Offload staIc files
![Page 65: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/65.jpg)
Offload staIc files
✓Developer–Sync current assets–Store new files on external servers–Use external hostname when referencing files
✓Sysadmin–Tune external servers for staLc content–CDN, perhaps?
![Page 66: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/66.jpg)
Offload staIc files
✓Amazon–EC2 instances for storage with clustered file system–S3 buckets
✓Azure–Blog storage
What about the Cloud?
![Page 67: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/67.jpg)
When the
pressure is on
![Page 68: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/68.jpg)
Auto scaling & load balancing
![Page 69: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/69.jpg)
CDN & asset offloading
![Page 70: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/70.jpg)
Reverse (caching) proxy
![Page 71: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/71.jpg)
Memcached
![Page 72: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/72.jpg)
Adaptyourcode
![Page 73: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/73.jpg)
Storage
![Page 74: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/74.jpg)
require_once 'Zend/Service/WindowsAzure/Storage/Blob.php'; $storageClient = new Zend_Service_WindowsAzure_Storage_Blob();$result = $storageClient-‐>putBlob('testcontainer', 'example.txt', '/example.txt'); echo 'Blob name is: ' . $result-‐>Name;
require_once 'Zend/Service/Amazon/S3.php'; $s3 = new Zend_Service_Amazon_S3($my_aws_key, $my_aws_secret_key); $s3-‐>createBucket("my-‐own-‐bucket"); $s3-‐>putObject("my-‐own-‐bucket/myobject", "somedata");echo $s3-‐>getObject("my-‐own-‐bucket/myobject");
Azure Blog storage
Amazon S3
![Page 75: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/75.jpg)
<?php$storage = Zend_Cloud_StorageService_Factory::getAdapter(array( Zend_Cloud_StorageService_Factory::STORAGE_ADAPTER_KEY => 'Zend_Cloud_StorageService_Adapter_S3', Zend_Cloud_StorageService_Adapter_S3::AWS_ACCESS_KEY => $amazonKey, Zend_Cloud_StorageService_Adapter_S3::AWS_SECRET_KEY => $amazonSecret,));$data = file_get_contents('/my/local/dir/picture.jpg');$returnedData = $storage->storeItem('/my/remote/path/picture.jpg', $data);
Supports Azure & AWS
![Page 76: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/76.jpg)
<?php$storage = Zend_Cloud_StorageService_Factory::getAdapter(array( Zend_Cloud_StorageService_Factory::STORAGE_ADAPTER_KEY => 'Zend_Cloud_StorageService_Adapter_FileSystem', Zend_Cloud_StorageService_Adapter_FileSystem::LOCAL_DIRECTORY => $localDirectory,));$data = file_get_contents('/my/local/dir/picture.jpg');$returnedData = $storage->storeItem('/my/remote/path/picture.jpg', $data);
Even supports local file system
Put opIons in config file
![Page 77: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/77.jpg)
Design pajernse.g.
Dependency injecLon
Modular designAbstracIon
layers
![Page 78: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/78.jpg)
+ W3 Total Cache
![Page 79: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/79.jpg)
W3 Total Cache
✓Page caching -‐Memcached (loadbalanced)-‐ Varnish (loadbalanced)
✓Database & object cache-‐Memcached (loadbalanced)
✓CDN-‐ Push to S3 or Azure Blog storage buckets-‐ Pull from CDN (CloudFront or Azure)-‐ Custom hostnames
✓Scale across EC2 nodes with ELB
![Page 80: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/80.jpg)
![Page 81: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/81.jpg)
![Page 82: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/82.jpg)
![Page 83: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/83.jpg)
Deploy your code
![Page 84: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/84.jpg)
Deploy your code
✓General deployment methods–Capistrano–Phing–Puppet (config is code too)–Version control tools
✓Amazon specific–AMI’s
✓Azure specific–Scaffolding & packaging command line tool–Upload packages in control panel
✓Orchestra specific–Git
![Page 85: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/85.jpg)
About Azure deployment
![Page 86: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/86.jpg)
About Azure deployment
scaffolder run -‐out="c:\temp\HelloAzure\Project"
package create -‐in="C:\temp\HelloAzure\Project" -‐out="C:\temp\HelloAzure\DeployDev" -‐dev=true
package create -‐in="C:\temp\HelloAzure\Project" -‐out="C:\temp\HelloAzure\DeployProduction" -‐dev=false
package and run on emulator
package for deployment
![Page 87: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/87.jpg)
About Azure deployment
Certificate=XXXXXXXXSubscriptionId=XXXXXPassphrase=XXXXXXXXXStorageAccount=XXXXXPackageLocation=_files\PhpOnAzure.cspkgServiceConfigLocation=_files\ServiceConfiguration.cscfg
Sebngs.ini
![Page 88: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/88.jpg)
About Azure deployment
deployment.php CreateFromLocal -‐-‐ConfigFile="settings.ini" -‐-‐Name="mysubdomain" -‐-‐DeploymentName="testdeploy" -‐-‐Label="testdeploy" -‐-‐BySlot="staging" -‐-‐StartImmediately -‐-‐WaitFor
Deploy to staging
![Page 89: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/89.jpg)
About Azure deployment
deployment.php Swap -‐-‐ConfigFile="settings.ini" -‐-‐Name="mysubdomain" -‐-‐WaitFor
deployment.php EditInstanceNumber -‐-‐ConfigFile="settings.ini" -‐-‐Name="subdomain" -‐-‐ByName="testdeploy" -‐-‐RoleName="PhpOnAzure.Web" -‐-‐NewInstanceNumber=2
Swap to producLon
Scale out
![Page 90: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/90.jpg)
Mix & match
![Page 91: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/91.jpg)
Management models (oAen forgoBen)
![Page 92: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/92.jpg)
Management models (oAen forgoBen)
Managed Cloud is the new dedicated server
Unmanaged Cloud is virtual colocaIon
![Page 93: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/93.jpg)
Management models (oAen forgoBen)
Custom soluIon at hoster under heavy SLA
Burst model at unmanaged vendor
![Page 94: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/94.jpg)
When to choose what?
![Page 95: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/95.jpg)
![Page 96: Hybrid Cloud PHPUK2012](https://reader038.fdocument.pub/reader038/viewer/2022102922/5482ff7bb4af9f8a548b48df/html5/thumbnails/96.jpg)