Cloudify your applications with Amazon Web Services

6,781 views
6,687 views

Published on

A talk about the advantages of cloud computing services and the integration of PHP and Amazon Web Services

Published in: Technology
3 Comments
31 Likes
Statistics
Notes
  • cloudifyyourapps.com for sale.
    contact Buymydomains@live.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • There is a brand new Oracle Middleware and Cloud Computing book available now:
    http://www.munzandmore.com/writing/cloudcomputing_book
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Very interesting ppt. The research indicated PPT only contains 30% of information; therefore the 70% valuable information comes from the presenter himself/herself. soEZLecturing.com provides you a chance to record your voice with your PowerPoint presentation and upload to the website. It can share with more readers and also promote your presentation more effectively on soEZLecturing.com.
    www.soezlecturing.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
6,781
On SlideShare
0
From Embeds
0
Number of Embeds
205
Actions
Shares
0
Downloads
0
Comments
3
Likes
31
Embeds 0
No embeds

No notes for slide



























































































































  • Cloudify your applications with Amazon Web Services

    1. 1. Cloudify your applications with Amazon Web Services Federico Feroldi, Cloudify phpDay 2009 - May 15, 16 2009 - Verona, Italy http://grusp.it - http://phpday.it - http://joind.in/event/view/34
    2. 2. Before we start Feel free to ask questions! phpDay 2009 - May 15, 16 2009 - Verona, Italy
    3. 3. About me “I’m a technologist, I like to find simple solutions to solve hard challenges” Federico Feroldi phpDay 2009 - May 15, 16 2009 - Verona, Italy
    4. 4. About me: the beginning First BASIC program at 7 years old on my Commodore 64 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    5. 5. About me: coding for fun Had fun during late 90s DemoScene coding realtime GFX in C and i386 assembly phpDay 2009 - May 15, 16 2009 - Verona, Italy
    6. 6. About me: work experience Working in the Internet industry since 1996 for many small and big companies phpDay 2009 - May 15, 16 2009 - Verona, Italy
    7. 7. About me: thinking big 6 years in Yahoo! Member of the intl MyYahoo team during the rewriting project, from C++/Perl to PHP + C++ extensions phpDay 2009 - May 15, 16 2009 - Verona, Italy
    8. 8. About me: the future Founded Cloudify in January 2009, helping customers unleash the power of cloud computing technologies http://cloudify.me phpDay 2009 - May 15, 16 2009 - Verona, Italy
    9. 9. Agenda phpDay 2009 - May 15, 16 2009 - Verona, Italy
    10. 10. Agenda • The cloud advantage phpDay 2009 - May 15, 16 2009 - Verona, Italy
    11. 11. Agenda • The cloud advantage • Overview of Amazon Web Services phpDay 2009 - May 15, 16 2009 - Verona, Italy
    12. 12. Agenda • The cloud advantage • Overview of Amazon Web Services • Amazon Web Services and PHP phpDay 2009 - May 15, 16 2009 - Verona, Italy
    13. 13. Agenda • The cloud advantage • Overview of Amazon Web Services • Amazon Web Services and PHP • Examples phpDay 2009 - May 15, 16 2009 - Verona, Italy
    14. 14. The cloud: a definition phpDay 2009 - May 15, 16 2009 - Verona, Italy
    15. 15. The cloud: a definition NIST Working Definition of Cloud Computing phpDay 2009 - May 15, 16 2009 - Verona, Italy
    16. 16. The cloud: a definition NIST Working Definition of Cloud Computing “Cloud computing is a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” http://tinyurl.com/qjfonl phpDay 2009 - May 15, 16 2009 - Verona, Italy
    17. 17. The cloud: a definition NIST Working Definition of Cloud Computing “Cloud computing is a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” http://tinyurl.com/qjfonl phpDay 2009 - May 15, 16 2009 - Verona, Italy
    18. 18. The cloud: optimize resource usage 100 75 Systems usage Idle 50 25 Active 0 Time phpDay 2009 - May 15, 16 2009 - Verona, Italy
    19. 19. The cloud: optimize resource usage 100 Cloud 75 Systems usage 50 Idle 25 Active 0 Time phpDay 2009 - May 15, 16 2009 - Verona, Italy
    20. 20. The cloud: you can scale FAST! Animoto server > 3500 instances grew from less than 80 to more than 3500 in 3 days after launch of Facebook application < 80 http://tinyurl.com/6fa7qo phpDay 2009 - May 15, 16 2009 - Verona, Italy
    21. 21. The cloud advantage cloud platform phpDay 2009 - May 15, 16 2009 - Verona, Italy
    22. 22. The cloud advantage Technology cloud platform phpDay 2009 - May 15, 16 2009 - Verona, Italy
    23. 23. The cloud advantage Technology cloud platform Speed phpDay 2009 - May 15, 16 2009 - Verona, Italy
    24. 24. The cloud advantage Technology cloud platform Speed Flexibility phpDay 2009 - May 15, 16 2009 - Verona, Italy
    25. 25. The cloud advantage Technology Cost cloud platform Speed Flexibility phpDay 2009 - May 15, 16 2009 - Verona, Italy
    26. 26. Amazon Web Services phpDay 2009 - May 15, 16 2009 - Verona, Italy
    27. 27. Amazon Web Services: overview phpDay 2009 - May 15, 16 2009 - Verona, Italy
    28. 28. Amazon Web Services: overview phpDay 2009 - May 15, 16 2009 - Verona, Italy
    29. 29. Amazon Web Services: overview More than 540,000 developers phpDay 2009 - May 15, 16 2009 - Verona, Italy
    30. 30. Amazon Web Services: components phpDay 2009 - May 15, 16 2009 - Verona, Italy
    31. 31. Amazon Web Services: components EC2 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    32. 32. Amazon Web Services: components EC2 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    33. 33. Amazon Web Services: components EC2 S3 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    34. 34. Amazon Web Services: components EC2 S3 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    35. 35. Amazon Web Services: components EC2 S3 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    36. 36. Amazon Web Services: components EC2 SimpleDB S3 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    37. 37. Amazon Web Services: components EC2 SimpleDB S3 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    38. 38. Amazon Web Services: components EC2 SimpleDB SQS S3 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    39. 39. Amazon Web Services: components EC2 SimpleDB SQS S3 EC2 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    40. 40. Amazon Web Services: components EC2 SimpleDB SQS CloudFront S3 EC2 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    41. 41. Amazon Web Services: components EC2 SimpleDB SQS CloudFront S3 EC2 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    42. 42. Amazon Web Services: components EC2 SimpleDB SQS CloudFront S3 EC2 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    43. 43. EC2 Amazon Web Services: EC2 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    44. 44. EC2 Amazon Web Services: EC2 • Create or destroy instances in minutes phpDay 2009 - May 15, 16 2009 - Verona, Italy
    45. 45. EC2 Amazon Web Services: EC2 • Create or destroy instances in minutes • Many sizes: 1-20 Core(s) , 1.7-15GB RAM phpDay 2009 - May 15, 16 2009 - Verona, Italy
    46. 46. EC2 Amazon Web Services: EC2 • Create or destroy instances in minutes • Many sizes: 1-20 Core(s) , 1.7-15GB RAM • You can create custom VM images (AMI) phpDay 2009 - May 15, 16 2009 - Verona, Italy
    47. 47. EC2 Amazon Web Services: EC2 • Create or destroy instances in minutes • Many sizes: 1-20 Core(s) , 1.7-15GB RAM • You can create custom VM images (AMI) • Fixed IPs, persistent volumes, snapshots phpDay 2009 - May 15, 16 2009 - Verona, Italy
    48. 48. EC2 Amazon Web Services: EC2 • Create or destroy instances in minutes • Many sizes: 1-20 Core(s) , 1.7-15GB RAM • You can create custom VM images (AMI) • Fixed IPs, persistent volumes, snapshots • You pay cpu time and data transferred phpDay 2009 - May 15, 16 2009 - Verona, Italy
    49. 49. Amazon Web Services: S3 S3 phpDay 2009 - May 15, 16 2009 - Verona, Italy
    50. 50. Amazon Web Services: S3 S3 • Create a bucket and put objects inside phpDay 2009 - May 15, 16 2009 - Verona, Italy
    51. 51. Amazon Web Services: S3 S3 • Create a bucket and put objects inside • http://s3.amazonaws.com/bucket/object or http://xxx.yoursite.com/object phpDay 2009 - May 15, 16 2009 - Verona, Italy
    52. 52. Amazon Web Services: S3 S3 • Create a bucket and put objects inside • http://s3.amazonaws.com/bucket/object or http://xxx.yoursite.com/object • You can put an infinite number of objects in a bucket, objects have 5GB size limit phpDay 2009 - May 15, 16 2009 - Verona, Italy
    53. 53. Amazon Web Services: S3 S3 • Create a bucket and put objects inside • http://s3.amazonaws.com/bucket/object or http://xxx.yoursite.com/object • You can put an infinite number of objects in a bucket, objects have 5GB size limit • You pay storage, data transferred and operations phpDay 2009 - May 15, 16 2009 - Verona, Italy
    54. 54. Amazon Web Services: SimpleDB SimpleDB phpDay 2009 - May 15, 16 2009 - Verona, Italy
    55. 55. Amazon Web Services: SimpleDB SimpleDB • Key/Value store (not relational) phpDay 2009 - May 15, 16 2009 - Verona, Italy
    56. 56. Amazon Web Services: SimpleDB SimpleDB • Key/Value store (not relational) • Domains, Items and Attributes phpDay 2009 - May 15, 16 2009 - Verona, Italy
    57. 57. Amazon Web Services: SimpleDB SimpleDB • Key/Value store (not relational) • Domains, Items and Attributes • Very simple query language (no JOINs) phpDay 2009 - May 15, 16 2009 - Verona, Italy
    58. 58. Amazon Web Services: SimpleDB SimpleDB • Key/Value store (not relational) • Domains, Items and Attributes • Very simple query language (no JOINs) • You pay storage, data transferred and operations phpDay 2009 - May 15, 16 2009 - Verona, Italy
    59. 59. Amazon Web Services: SQS SQS phpDay 2009 - May 15, 16 2009 - Verona, Italy
    60. 60. Amazon Web Services: SQS SQS • Implements message queing service phpDay 2009 - May 15, 16 2009 - Verona, Italy
    61. 61. Amazon Web Services: SQS SQS • Implements message queing service • Useful to build asyncronous workers and offload web servers phpDay 2009 - May 15, 16 2009 - Verona, Italy
    62. 62. Amazon Web Services: SQS SQS • Implements message queing service • Useful to build asyncronous workers and offload web servers • You pay messages and data transferred phpDay 2009 - May 15, 16 2009 - Verona, Italy
    63. 63. AWS and PHP How do I build my PHP application on AWS? phpDay 2009 - May 15, 16 2009 - Verona, Italy
    64. 64. AWS and PHP: Amazon libraries phpDay 2009 - May 15, 16 2009 - Verona, Italy
    65. 65. AWS and PHP: Amazon libraries Amazon “official” PHP libraries ✓ support all services ✓ many tutorials available - verbose and often incostintent syntax - not very well documented phpDay 2009 - May 15, 16 2009 - Verona, Italy
    66. 66. AWS and PHP: Tarzan AWS ✓ full AWS support (S3, EC2, SQS, SimpleDB, CloudFront) ✓ clean, consistent API ✓ well documented http://tarzan-aws.com/ phpDay 2009 - May 15, 16 2009 - Verona, Italy
    67. 67. Examples: Upload a file to S3 <?php require_once('tarzan.class.php'); $s3 = new AmazonS3(); $bucket = $s3->create_bucket('tarzan.test', S3_LOCATION_EU); $file_url = $s3->store_remote_file( 'file://local.jpg', 'tarzan.test', 'remote.jpg', array( 'acl' => S3_ACL_PUBLIC) ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    68. 68. Examples: Upload a file to S3 <?php require_once('tarzan.class.php'); Include Tarzan core class $s3 = new AmazonS3(); $bucket = $s3->create_bucket('tarzan.test', S3_LOCATION_EU); $file_url = $s3->store_remote_file( 'file://local.jpg', 'tarzan.test', 'remote.jpg', array( 'acl' => S3_ACL_PUBLIC) ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    69. 69. Examples: Upload a file to S3 <?php require_once('tarzan.class.php'); $s3 = new AmazonS3(); $bucket = $s3->create_bucket('tarzan.test', S3_LOCATION_EU); $file_url = $s3->store_remote_file( 'file://local.jpg', 'tarzan.test', 'remote.jpg', array( 'acl' => S3_ACL_PUBLIC) ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    70. 70. Examples: Upload a file to S3 <?php Create AmazonS3 object require_once('tarzan.class.php'); $s3 = new AmazonS3(); $bucket = $s3->create_bucket('tarzan.test', S3_LOCATION_EU); $file_url = $s3->store_remote_file( 'file://local.jpg', 'tarzan.test', 'remote.jpg', array( 'acl' => S3_ACL_PUBLIC) ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    71. 71. Examples: Upload a file to S3 <?php require_once('tarzan.class.php'); $s3 = new AmazonS3(); $bucket = $s3->create_bucket('tarzan.test', S3_LOCATION_EU); $file_url = $s3->store_remote_file( 'file://local.jpg', 'tarzan.test', 'remote.jpg', array( 'acl' => S3_ACL_PUBLIC) ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    72. 72. Examples: Upload a file to S3 <?php Create a new bucket that require_once('tarzan.class.php'); will contain the file $s3 = new AmazonS3(); $bucket = $s3->create_bucket('tarzan.test', S3_LOCATION_EU); $file_url = $s3->store_remote_file( 'file://local.jpg', 'tarzan.test', 'remote.jpg', array( 'acl' => S3_ACL_PUBLIC) ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    73. 73. Examples: Upload a file to S3 <?php require_once('tarzan.class.php'); $s3 = new AmazonS3(); $bucket = $s3->create_bucket('tarzan.test', S3_LOCATION_EU); $file_url = $s3->store_remote_file( 'file://local.jpg', 'tarzan.test', 'remote.jpg', array( 'acl' => S3_ACL_PUBLIC) ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    74. 74. Examples: Upload a file to S3 <?php require_once('tarzan.class.php'); Upload a local file to S3 $s3 = new AmazonS3(); and make it public $bucket = $s3->create_bucket('tarzan.test', S3_LOCATION_EU); $file_url = $s3->store_remote_file( 'file://local.jpg', 'tarzan.test', 'remote.jpg', array( 'acl' => S3_ACL_PUBLIC) ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    75. 75. Examples: Upload a file to S3 <?php require_once('tarzan.class.php'); $s3 = new AmazonS3(); $bucket = $s3->create_bucket('tarzan.test', S3_LOCATION_EU); $file_url = $s3->store_remote_file( 'file://local.jpg', 'tarzan.test', 'remote.jpg', array( 'acl' => S3_ACL_PUBLIC) ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    76. 76. Examples: Get a file from S3 <?php require_once('tarzan.class.php'); $s3 = new AmazonS3(); $file = $s3->get_object('tarzan.test', 'remote.jpg'); header('Content-type:' . $file->headers['content-type']); echo $file->body; ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    77. 77. Examples: Get a file from S3 <?php Get a handler to a require_once('tarzan.class.php'); remote file $s3 = new AmazonS3(); $file = $s3->get_object('tarzan.test', 'remote.jpg'); header('Content-type:' . $file->headers['content-type']); echo $file->body; ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    78. 78. Examples: Get a file from S3 <?php require_once('tarzan.class.php'); $s3 = new AmazonS3(); $file = $s3->get_object('tarzan.test', 'remote.jpg'); header('Content-type:' . $file->headers['content-type']); echo $file->body; ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    79. 79. Examples: Get a file from S3 <?php require_once('tarzan.class.php'); Output the file $s3 = new AmazonS3(); content to the client $file = $s3->get_object('tarzan.test', 'remote.jpg'); header('Content-type:' . $file->headers['content-type']); echo $file->body; ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    80. 80. Examples: Get a file from S3 <?php require_once('tarzan.class.php'); $s3 = new AmazonS3(); $file = $s3->get_object('tarzan.test', 'remote.jpg'); header('Content-type:' . $file->headers['content-type']); echo $file->body; ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    81. 81. Examples: Run an EC2 instance <?php require_once('tarzan.class.php'); $ec2 = new AmazonEC2(); $run = $ec2->run_instances('ef48af86', 1, 1); $instance_id = $run->body->instancesSet->item->instanceId; $allocate = $ec2->allocate_address(); $ip_addr = $allocate->body->publicIp; $associate = $ec2->associate_address($instance_id, $ip_addr); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    82. 82. Examples: Run an EC2 instance <?php Include Tarzan class and require_once('tarzan.class.php'); create AmazonEC2 object $ec2 = new AmazonEC2(); $run = $ec2->run_instances('ef48af86', 1, 1); $instance_id = $run->body->instancesSet->item->instanceId; $allocate = $ec2->allocate_address(); $ip_addr = $allocate->body->publicIp; $associate = $ec2->associate_address($instance_id, $ip_addr); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    83. 83. Examples: Run an EC2 instance <?php require_once('tarzan.class.php'); $ec2 = new AmazonEC2(); $run = $ec2->run_instances('ef48af86', 1, 1); $instance_id = $run->body->instancesSet->item->instanceId; $allocate = $ec2->allocate_address(); $ip_addr = $allocate->body->publicIp; $associate = $ec2->associate_address($instance_id, $ip_addr); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    84. 84. Examples: Run an EC2 instance <?php Create an EC2 instance of an Ubuntu 8.04 LTS Hardy Server require_once('tarzan.class.php'); $ec2 = new AmazonEC2(); $run = $ec2->run_instances('ef48af86', 1, 1); $instance_id = $run->body->instancesSet->item->instanceId; $allocate = $ec2->allocate_address(); $ip_addr = $allocate->body->publicIp; $associate = $ec2->associate_address($instance_id, $ip_addr); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    85. 85. Examples: Run an EC2 instance <?php require_once('tarzan.class.php'); $ec2 = new AmazonEC2(); $run = $ec2->run_instances('ef48af86', 1, 1); $instance_id = $run->body->instancesSet->item->instanceId; $allocate = $ec2->allocate_address(); $ip_addr = $allocate->body->publicIp; $associate = $ec2->associate_address($instance_id, $ip_addr); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    86. 86. Examples: Run an EC2 instance <?php require_once('tarzan.class.php'); $ec2 = new AmazonEC2(); Allocate an Elastic IP (fixed public IP) and associate it with the instance created $run = $ec2->run_instances('ef48af86', 1, 1); $instance_id = $run->body->instancesSet->item->instanceId; $allocate = $ec2->allocate_address(); $ip_addr = $allocate->body->publicIp; $associate = $ec2->associate_address($instance_id, $ip_addr); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    87. 87. Examples: Run an EC2 instance <?php require_once('tarzan.class.php'); $ec2 = new AmazonEC2(); $run = $ec2->run_instances('ef48af86', 1, 1); $instance_id = $run->body->instancesSet->item->instanceId; $allocate = $ec2->allocate_address(); $ip_addr = $allocate->body->publicIp; $associate = $ec2->associate_address($instance_id, $ip_addr); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    88. 88. Examples: Manage an EC2 instance <?php $disassociate = $ec2->disassociate_address($ip_addr); $ec2->release_address($ip_addr); $ec2->reboot_instances(array( 'InstanceId.1' => $instance_id )); $ec2->terminate_instances(array( 'InstanceId.1' => $instance_id; )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    89. 89. Examples: Manage an EC2 instance <?php $disassociate = $ec2->disassociate_address($ip_addr); $ec2->release_address($ip_addr); Disassociate and $ec2->reboot_instances(array( 'InstanceId.1' => $instance_id release the Elastic IP )); $ec2->terminate_instances(array( 'InstanceId.1' => $instance_id; )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    90. 90. Examples: Manage an EC2 instance <?php $disassociate = $ec2->disassociate_address($ip_addr); $ec2->release_address($ip_addr); $ec2->reboot_instances(array( 'InstanceId.1' => $instance_id )); $ec2->terminate_instances(array( 'InstanceId.1' => $instance_id; )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    91. 91. Examples: Manage an EC2 instance <?php $disassociate = $ec2->disassociate_address($ip_addr); $ec2->release_address($ip_addr); $ec2->reboot_instances(array( 'InstanceId.1' => $instance_id Reboot the instance )); $ec2->terminate_instances(array( 'InstanceId.1' => $instance_id; )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    92. 92. Examples: Manage an EC2 instance <?php $disassociate = $ec2->disassociate_address($ip_addr); $ec2->release_address($ip_addr); $ec2->reboot_instances(array( 'InstanceId.1' => $instance_id )); $ec2->terminate_instances(array( 'InstanceId.1' => $instance_id; )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    93. 93. Examples: Manage an EC2 instance <?php $disassociate = $ec2->disassociate_address($ip_addr); $ec2->release_address($ip_addr); $ec2->reboot_instances(array( 'InstanceId.1' => $instance_id )); Shutdown the instance $ec2->terminate_instances(array( 'InstanceId.1' => $instance_id; )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    94. 94. Examples: Manage an EC2 instance <?php $disassociate = $ec2->disassociate_address($ip_addr); $ec2->release_address($ip_addr); $ec2->reboot_instances(array( 'InstanceId.1' => $instance_id )); $ec2->terminate_instances(array( 'InstanceId.1' => $instance_id; )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    95. 95. Examples: Elastic Book Stores <?php $volume_id = $ec2->create_volume(10, quot;us-east-1cquot;); $ec2->attach_volume($volume_id, $instance_id, quot;/dev/sdhquot;); $ec2->create_snapshot($volume_id); $ec2->detach_volume($volume_id); $ec2->delete_volume($volume_id); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    96. 96. Examples: Elastic Book Stores <?php $volume_id = $ec2->create_volume(10, quot;us-east-1cquot;); $ec2->attach_volume($volume_id, $instance_id, quot;/dev/sdhquot;); Create a persistent $ec2->create_snapshot($volume_id); volume of 10 GB size $ec2->detach_volume($volume_id); $ec2->delete_volume($volume_id); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    97. 97. Examples: Elastic Book Stores <?php $volume_id = $ec2->create_volume(10, quot;us-east-1cquot;); $ec2->attach_volume($volume_id, $instance_id, quot;/dev/sdhquot;); $ec2->create_snapshot($volume_id); $ec2->detach_volume($volume_id); $ec2->delete_volume($volume_id); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    98. 98. Examples: Elastic Book Stores <?php $volume_id = $ec2->create_volume(10, quot;us-east-1cquot;); $ec2->attach_volume($volume_id, $instance_id, quot;/dev/sdhquot;); $ec2->create_snapshot($volume_id); Attach the volume to the running instance as /dev/sdh $ec2->detach_volume($volume_id); $ec2->delete_volume($volume_id); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    99. 99. Examples: Elastic Book Stores <?php $volume_id = $ec2->create_volume(10, quot;us-east-1cquot;); $ec2->attach_volume($volume_id, $instance_id, quot;/dev/sdhquot;); $ec2->create_snapshot($volume_id); $ec2->detach_volume($volume_id); $ec2->delete_volume($volume_id); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    100. 100. Examples: Elastic Book Stores <?php $volume_id = $ec2->create_volume(10, quot;us-east-1cquot;); $ec2->attach_volume($volume_id, $instance_id, quot;/dev/sdhquot;); $ec2->create_snapshot($volume_id); $ec2->detach_volume($volume_id); Crate a snapshot (backup) $ec2->delete_volume($volume_id); volume of the ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    101. 101. Examples: Elastic Book Stores <?php $volume_id = $ec2->create_volume(10, quot;us-east-1cquot;); $ec2->attach_volume($volume_id, $instance_id, quot;/dev/sdhquot;); $ec2->create_snapshot($volume_id); $ec2->detach_volume($volume_id); $ec2->delete_volume($volume_id); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    102. 102. Examples: Elastic Book Stores <?php $volume_id = $ec2->create_volume(10, quot;us-east-1cquot;); $ec2->attach_volume($volume_id, $instance_id, quot;/dev/sdhquot;); $ec2->create_snapshot($volume_id); $ec2->detach_volume($volume_id); Unmount the volume $ec2->delete_volume($volume_id); ?> from the running instance phpDay 2009 - May 15, 16 2009 - Verona, Italy
    103. 103. Examples: Elastic Book Stores <?php $volume_id = $ec2->create_volume(10, quot;us-east-1cquot;); $ec2->attach_volume($volume_id, $instance_id, quot;/dev/sdhquot;); $ec2->create_snapshot($volume_id); $ec2->detach_volume($volume_id); $ec2->delete_volume($volume_id); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    104. 104. Examples: Elastic Book Stores <?php $volume_id = $ec2->create_volume(10, quot;us-east-1cquot;); $ec2->attach_volume($volume_id, $instance_id, quot;/dev/sdhquot;); $ec2->create_snapshot($volume_id); Delete the volume $ec2->detach_volume($volume_id); $ec2->delete_volume($volume_id); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    105. 105. Examples: Elastic Book Stores <?php $volume_id = $ec2->create_volume(10, quot;us-east-1cquot;); $ec2->attach_volume($volume_id, $instance_id, quot;/dev/sdhquot;); $ec2->create_snapshot($volume_id); $ec2->detach_volume($volume_id); $ec2->delete_volume($volume_id); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    106. 106. Examples: SimpleDB, create items <?php require_once('tarzan.class.php'); $sdb = new AmazonSDB(); $domain = $sdb->create_domain('tarzan_test'); $put = $sdb->put_attributes('tarzan_test', 'testuser', array( 'name' => 'Test User', 'email' => 'test.user@gmail.com', 'password' => 'test', 'tags' => array( 'awesome', 'cool', 'fantastic' ) )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    107. 107. Examples: SimpleDB, create items <?php require_once('tarzan.class.php'); $sdb = new AmazonSDB(); $domain = $sdb->create_domain('tarzan_test'); $put = $sdb->put_attributes('tarzan_test', 'testuser', array( 'name' => 'Test User', Create a domain named “tarzan_test” that will store items 'email' => 'test.user@gmail.com', 'password' => 'test', 'tags' => array( 'awesome', 'cool', 'fantastic' ) )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    108. 108. Examples: SimpleDB, create items <?php require_once('tarzan.class.php'); $sdb = new AmazonSDB(); $domain = $sdb->create_domain('tarzan_test'); $put = $sdb->put_attributes('tarzan_test', 'testuser', array( 'name' => 'Test User', 'email' => 'test.user@gmail.com', 'password' => 'test', 'tags' => array( 'awesome', 'cool', 'fantastic' ) )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    109. 109. Examples: SimpleDB, create items <?php require_once('tarzan.class.php'); $sdb = new AmazonSDB(); Create an item with $domain = ID=”testuser” $sdb->create_domain('tarzan_test'); $put = $sdb->put_attributes('tarzan_test', 'testuser', array( 'name' => 'Test User', 'email' => 'test.user@gmail.com', 'password' => 'test', 'tags' => array( 'awesome', 'cool', 'fantastic' ) )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    110. 110. Examples: SimpleDB, create items <?php require_once('tarzan.class.php'); $sdb = new AmazonSDB(); $domain = $sdb->create_domain('tarzan_test'); $put = $sdb->put_attributes('tarzan_test', 'testuser', array( 'name' => 'Test User', 'email' => 'test.user@gmail.com', 'password' => 'test', 'tags' => array( 'awesome', 'cool', 'fantastic' ) )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    111. 111. Examples: SimpleDB, create items <?php require_once('tarzan.class.php'); $sdb = new AmazonSDB(); $domain = $sdb->create_domain('tarzan_test'); $put = $sdb->put_attributes('tarzan_test', 'testuser', array( 'name' => 'Test User', 'email' => 'test.user@gmail.com', 'password' => 'test', 'tags' => array( 'awesome', 'cool', Attributes have a key and 'fantastic' one or more values ) )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    112. 112. Examples: SimpleDB, create items <?php require_once('tarzan.class.php'); $sdb = new AmazonSDB(); $domain = $sdb->create_domain('tarzan_test'); $put = $sdb->put_attributes('tarzan_test', 'testuser', array( 'name' => 'Test User', 'email' => 'test.user@gmail.com', 'password' => 'test', 'tags' => array( 'awesome', 'cool', 'fantastic' ) )); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    113. 113. Examples: SimpleDB, query items <?php $q = $sdb->get_attributes('tarzan_test', 'testuser', 'password'); $q = $sdb->query('tarzan_test', array('MaxNumberOfItems' => 50)); $q = $sdb->$query('tarzan_test', array( 'MaxNumberOfItems' => 10 ), quot;['tags' = 'cool'] intersection ['tags' = 'awesome'] quot; . quot;intersection not ['tags' = 'deleted']quot;, true ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    114. 114. Examples: SimpleDB, query items <?php $q = $sdb->get_attributes('tarzan_test', 'testuser', 'password'); $q = $sdb->query('tarzan_test', array('MaxNumberOfItems' => 50)); Get the password for $q = $sdb->$query('tarzan_test', the user “testuser” array( 'MaxNumberOfItems' => 10 ), quot;['tags' = 'cool'] intersection ['tags' = 'awesome'] quot; . quot;intersection not ['tags' = 'deleted']quot;, true ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    115. 115. Examples: SimpleDB, query items <?php $q = $sdb->get_attributes('tarzan_test', 'testuser', 'password'); $q = $sdb->query('tarzan_test', array('MaxNumberOfItems' => 50)); $q = $sdb->$query('tarzan_test', array( 'MaxNumberOfItems' => 10 ), quot;['tags' = 'cool'] intersection ['tags' = 'awesome'] quot; . quot;intersection not ['tags' = 'deleted']quot;, true ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    116. 116. Examples: SimpleDB, query items <?php $q = $sdb->get_attributes('tarzan_test', 'testuser', 'password'); $q = $sdb->query('tarzan_test', array('MaxNumberOfItems' => 50)); $q = $sdb->$query('tarzan_test', Get the ID of 50 users array( 'MaxNumberOfItems' => 10 ), without any particular order quot;['tags' = 'cool'] intersection ['tags' = 'awesome'] quot; . quot;intersection not ['tags' = 'deleted']quot;, true ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    117. 117. Examples: SimpleDB, query items <?php $q = $sdb->get_attributes('tarzan_test', 'testuser', 'password'); $q = $sdb->query('tarzan_test', array('MaxNumberOfItems' => 50)); $q = $sdb->$query('tarzan_test', array( 'MaxNumberOfItems' => 10 ), quot;['tags' = 'cool'] intersection ['tags' = 'awesome'] quot; . quot;intersection not ['tags' = 'deleted']quot;, true ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    118. 118. Examples: SimpleDB, query items <?php Get at most 50 users that have $q = the tags ”cool” and “awesome” $sdb->get_attributes('tarzan_test', 'testuser', 'password'); $q = but not the tag “deleted” $sdb->query('tarzan_test', array('MaxNumberOfItems' => 50)); $q = $sdb->$query('tarzan_test', array( 'MaxNumberOfItems' => 10 ), quot;['tags' = 'cool'] intersection ['tags' = 'awesome'] quot; . quot;intersection not ['tags' = 'deleted']quot;, true ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    119. 119. Examples: SimpleDB, query items <?php $q = $sdb->get_attributes('tarzan_test', 'testuser', 'password'); $q = $sdb->query('tarzan_test', array('MaxNumberOfItems' => 50)); $q = $sdb->$query('tarzan_test', array( 'MaxNumberOfItems' => 10 ), quot;['tags' = 'cool'] intersection ['tags' = 'awesome'] quot; . quot;intersection not ['tags' = 'deleted']quot;, true ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    120. 120. Examples: SimpleDB, query items <?php $q = $sdb->get_attributes('tarzan_test', 'testuser', 'password'); $q = $sdb->query('tarzan_test', array('MaxNumberOfItems' => 50)); $q = $sdb->$query('tarzan_test', array( 'MaxNumberOfItems' => 10 ), quot;['tags' = 'cool'] intersection ['tags' = 'awesome'] quot; . quot;intersection not ['tags' = 'deleted']quot;, true ); Fetch all the attributes, ?> not only the IDs phpDay 2009 - May 15, 16 2009 - Verona, Italy
    121. 121. Examples: SimpleDB, query items <?php $q = $sdb->get_attributes('tarzan_test', 'testuser', 'password'); $q = $sdb->query('tarzan_test', array('MaxNumberOfItems' => 50)); $q = $sdb->$query('tarzan_test', array( 'MaxNumberOfItems' => 10 ), quot;['tags' = 'cool'] intersection ['tags' = 'awesome'] quot; . quot;intersection not ['tags' = 'deleted']quot;, true ); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    122. 122. Examples: Simple Queing Service <?php require_once('tarzan.class.php'); $sqs = new AmazonSQS(); $queue = $sqs->create_queue('tarzan_test_queue'); $message = $sqs->send_message('This is my message!'); $message = $sqs->receive_message(); $message = $sqs->delete_message($message_id); $queue = $sqs->delete_queue(); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    123. 123. Examples: Simple Queing Service <?php require_once('tarzan.class.php'); $sqs = new AmazonSQS(); Create the queue $queue = $sqs->create_queue('tarzan_test_queue'); $message = $sqs->send_message('This is my message!'); $message = $sqs->receive_message(); $message = $sqs->delete_message($message_id); $queue = $sqs->delete_queue(); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    124. 124. Examples: Simple Queing Service <?php require_once('tarzan.class.php'); $sqs = new AmazonSQS(); $queue = $sqs->create_queue('tarzan_test_queue'); $message = $sqs->send_message('This is my message!'); $message = $sqs->receive_message(); $message = $sqs->delete_message($message_id); $queue = $sqs->delete_queue(); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    125. 125. Examples: Simple Queing Service <?php require_once('tarzan.class.php'); $sqs = new AmazonSQS(); Push a message into the queue $queue = $sqs->create_queue('tarzan_test_queue'); $message = $sqs->send_message('This is my message!'); $message = $sqs->receive_message(); $message = $sqs->delete_message($message_id); $queue = $sqs->delete_queue(); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    126. 126. Examples: Simple Queing Service <?php require_once('tarzan.class.php'); $sqs = new AmazonSQS(); $queue = $sqs->create_queue('tarzan_test_queue'); $message = $sqs->send_message('This is my message!'); $message = $sqs->receive_message(); $message = $sqs->delete_message($message_id); $queue = $sqs->delete_queue(); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    127. 127. Examples: Simple Queing Service <?php require_once('tarzan.class.php'); $sqs = new AmazonSQS(); Remove temporaly a $queue = $sqs->create_queue('tarzan_test_queue'); message from the queue $message = $sqs->send_message('This is my message!'); $message = $sqs->receive_message(); $message = $sqs->delete_message($message_id); $queue = $sqs->delete_queue(); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    128. 128. Examples: Simple Queing Service <?php require_once('tarzan.class.php'); $sqs = new AmazonSQS(); $queue = $sqs->create_queue('tarzan_test_queue'); $message = $sqs->send_message('This is my message!'); $message = $sqs->receive_message(); $message = $sqs->delete_message($message_id); $queue = $sqs->delete_queue(); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    129. 129. Examples: Simple Queing Service <?php require_once('tarzan.class.php'); $sqs = new AmazonSQS(); $queue = $sqs->create_queue('tarzan_test_queue'); Remove permanently the $message = $sqs->send_message('This is my message!'); $message = message from the queue $sqs->receive_message(); $message = $sqs->delete_message($message_id); $queue = $sqs->delete_queue(); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    130. 130. Examples: Simple Queing Service <?php require_once('tarzan.class.php'); $sqs = new AmazonSQS(); $queue = $sqs->create_queue('tarzan_test_queue'); $message = $sqs->send_message('This is my message!'); $message = $sqs->receive_message(); $message = $sqs->delete_message($message_id); $queue = $sqs->delete_queue(); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    131. 131. Examples: Simple Queing Service <?php require_once('tarzan.class.php'); $sqs = new AmazonSQS(); $queue = $sqs->create_queue('tarzan_test_queue'); $message = $sqs->send_message('This is my message!'); $message = $sqs->receive_message(); Destroy the queue $message = $sqs->delete_message($message_id); $queue = $sqs->delete_queue(); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    132. 132. Examples: Simple Queing Service <?php require_once('tarzan.class.php'); $sqs = new AmazonSQS(); $queue = $sqs->create_queue('tarzan_test_queue'); $message = $sqs->send_message('This is my message!'); $message = $sqs->receive_message(); $message = $sqs->delete_message($message_id); $queue = $sqs->delete_queue(); ?> phpDay 2009 - May 15, 16 2009 - Verona, Italy
    133. 133. What we have learned? The cloud is real and it takes less than 5 minutes to start using it in you applications! With Tarzan you can easily integrate the powerful Amazon Web Services into you application or start build one on them. phpDay 2009 - May 15, 16 2009 - Verona, Italy
    134. 134. Thank you! Questions? http://cloudify.me info@cloudify.me @cloudify We’re hiring, send your resume to jobs@cloudify.me phpDay 2009 - May 15, 16 2009 - Verona, Italy

    ×