SlideShare a Scribd company logo
1 of 21
Perl in Teh Cloud
 What do you mean, “no wires”?
Scope
•   Amazon Web Services Infrastructure products

    •   EC2, S3, EBS (SimpleDB, SQS, Elastic MapReduce N/A)

•   What do you get from AWS? What don’t you get?

•   Software packaging and deployment

•   Use cases

•   No code to see here, move along
What’s in EC2?

•   On-demand compute power

•   Controlled via a web service

•   Free-form machines created with very little effort

•   Computers without the metal bits
S3 - Simple Storage Service


•   Storage accessible through web services

•   Highly replicated

•   Free data transfer within EC2
EBS - Elastic Block Service
•   A hard disk, somewhere

•   Format it however you like

•   Attach to and mount on an instance

•   Excellent random access performance

    •   As opposed to an instance’s storage, which is good for sequential
        operations, like table scans.
The Problem

•   Instances can drop out of the sky at any time

    •   Although this doesn’t happen often, *it will happen*

•   An instance’s storage isn’t persistent across launches

    •   Machines are built from scratch on launch
Solutions


•   Machine images

•   Ye Olde Tarball

•   EBS and snapshots
Solution - Machine Images

•   Canonical machines

•   Planning ahead

•   Not very flexible

•   Time-consuming
Solution - Tarball

•   Hosted in S3

•   Fetched and uncompressed on launch

•   Set-up scripts written in whatever language you want

•   local::lib
Solution - EBS

•   Permanent storage

•   One volume for one machine

•   Snapshot it and create extra volumes on launch

•   local::lib

•   Easy to screw up
A Note About local::lib
•   Oh look, code!

•   Or perhaps not

•   Each project can easily have its own $PERL5LIB

    •   No interference from other projects

    •   You can change the system-wide installation without fear of maiming
        a project
A Note About local::lib

•   Sinopsys
    use local::lib; # sets up a local lib at ~/perl5

    use local::lib '~/foo'; # same, but ~/foo

    # Or...

    use FindBin;

    use local::lib "$FindBin::Bin/../support";   # app-local support library
A Note About local::lib

•   And to easily install stuff where you want it:
    # Install LWP and it's missing dependencies to the 'my_lwp' directory


    perl -MCPAN -Mlocal::lib=my_lwp -e 'CPAN::install(LWP)'


    # Install LWP and *all non-core* dependencies to the 'my_lwp' directory


    perl -MCPAN -Mlocal::lib=--self-contained,my_lwp -e 'CPAN::install(LWP)'
Use Cases

•   Testing and staging

•   Scaling applications

•   Disaster recovery

•   No data center is a good data center
Use Case - Testing & Staging

•   Machines are guaranteed to be exact replicas of production

•   Never forget to update that module again

•   Fire it up, do your thing, and shut it down

•   Lead time measured in minutes
Use Case - Scaling


•   Grow when you need to grow, shrink when you’re wasting resources

•   Automated provisioning and de-commissioning

•   Did I mention the lead time?
Use Case - Disaster Recovery

•   Your main database went down

•   A web server crashed

•   Data replication

•   Forget about lead times :)
Use Case - Data Center

•   There isn’t one

•   Stop paying for services you don’t use

    •   Aircon, racks, connectivity, power

•   Remember when you forgot your ID or keys to the rack?
Net::Amazon::*

•   Net::Amazon::S3

    •   Net::Amazon::S3::ACL

    •   Net::Amazon::S3::Tools

•   Net::Amazon::SimpleQueue
See Also

•   Bootstrapping local::lib
    http://www.simplicidade.org/notes/archives/2009/05/locallib_bootst.html


•   RightScale

    http://rightscale.com/

•   AWS for Eclipse
Q&A


•   me@pedrofigueiredo.org

•   http://www.slideshare.net/pfig/perl-in-teh-cloud

•   http://groups.google.com/group/aws-cloud-user-group

More Related Content

What's hot

Using Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivityUsing Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivity
Claus Ibsen
 

What's hot (20)

Devel::NYTProf v3 - 200908 (OUTDATED, see 201008)
Devel::NYTProf v3 - 200908 (OUTDATED, see 201008)Devel::NYTProf v3 - 200908 (OUTDATED, see 201008)
Devel::NYTProf v3 - 200908 (OUTDATED, see 201008)
 
Bootstrapping Puppet and Application Deployment - PuppetConf 2013
Bootstrapping Puppet and Application Deployment - PuppetConf 2013Bootstrapping Puppet and Application Deployment - PuppetConf 2013
Bootstrapping Puppet and Application Deployment - PuppetConf 2013
 
Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...
Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...
Can you upgrade to Puppet 4.x? (Beginner) Can you upgrade to Puppet 4.x? (Beg...
 
Modern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic  Perl ProgrammerModern Perl for the Unfrozen Paleolithic  Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl Programmer
 
Cachopo - Scalable Stateful Services - Madrid Elixir Meetup
Cachopo - Scalable Stateful Services - Madrid Elixir MeetupCachopo - Scalable Stateful Services - Madrid Elixir Meetup
Cachopo - Scalable Stateful Services - Madrid Elixir Meetup
 
Mad scalability: Scaling when you are not Google
Mad scalability: Scaling when you are not GoogleMad scalability: Scaling when you are not Google
Mad scalability: Scaling when you are not Google
 
Using Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivityUsing Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivity
 
Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014
 
Modern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerModern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl Programmer
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetes
 
Swoole Love PHP
Swoole Love PHPSwoole Love PHP
Swoole Love PHP
 
Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011
 
Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and Groovy
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration library
 
Getting started with Apache Camel - jDays 2013
Getting started with Apache Camel - jDays 2013Getting started with Apache Camel - jDays 2013
Getting started with Apache Camel - jDays 2013
 
Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013
 
Microservices with apache_camel_barcelona
Microservices with apache_camel_barcelonaMicroservices with apache_camel_barcelona
Microservices with apache_camel_barcelona
 
BackPAN Archeology
BackPAN ArcheologyBackPAN Archeology
BackPAN Archeology
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and Camel
 

Similar to Perl in Teh Cloud

Moving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScaleMoving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScale
mmoline
 
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
DATAVERSITY
 

Similar to Perl in Teh Cloud (20)

FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
FOSS4G In The Cloud: Using Open Source to build Cloud based Spatial Infrastru...
 
OSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsOSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy Hawkins
 
Five Years of EC2 Distilled
Five Years of EC2 DistilledFive Years of EC2 Distilled
Five Years of EC2 Distilled
 
Dev-Friendly Ops
Dev-Friendly OpsDev-Friendly Ops
Dev-Friendly Ops
 
NDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design PatternsNDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design Patterns
 
Inrastructure as Code
Inrastructure as CodeInrastructure as Code
Inrastructure as Code
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
 
Moving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScaleMoving to the Cloud: AWS, Zend, RightScale
Moving to the Cloud: AWS, Zend, RightScale
 
Hot to build continuously processing for 24/7 real-time data streaming platform?
Hot to build continuously processing for 24/7 real-time data streaming platform?Hot to build continuously processing for 24/7 real-time data streaming platform?
Hot to build continuously processing for 24/7 real-time data streaming platform?
 
Containerize all the things!
Containerize all the things!Containerize all the things!
Containerize all the things!
 
Performance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons LearnedPerformance Benchmarking: Tips, Tricks, and Lessons Learned
Performance Benchmarking: Tips, Tricks, and Lessons Learned
 
Journey towards serverless infrastructure
Journey towards serverless infrastructureJourney towards serverless infrastructure
Journey towards serverless infrastructure
 
Select Stars: A DBA's Guide to Azure Cosmos DB (SQL Saturday Oslo 2018)
Select Stars: A DBA's Guide to Azure Cosmos DB (SQL Saturday Oslo 2018)Select Stars: A DBA's Guide to Azure Cosmos DB (SQL Saturday Oslo 2018)
Select Stars: A DBA's Guide to Azure Cosmos DB (SQL Saturday Oslo 2018)
 
Training on iOS app development - Samesh Swongamikha & Neetin Sharma
Training on iOS app development - Samesh Swongamikha & Neetin SharmaTraining on iOS app development - Samesh Swongamikha & Neetin Sharma
Training on iOS app development - Samesh Swongamikha & Neetin Sharma
 
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
 
Ohio Devfest - Visual Analysis with GCP
Ohio Devfest - Visual Analysis with GCPOhio Devfest - Visual Analysis with GCP
Ohio Devfest - Visual Analysis with GCP
 
The ABC's of IaC
The ABC's of IaCThe ABC's of IaC
The ABC's of IaC
 
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless DreamsRainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
 
Greenfields tech decisions
Greenfields tech decisionsGreenfields tech decisions
Greenfields tech decisions
 
Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)
Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)
Running Oracle EBS in the cloud (OAUG Collaborate 18 edition)
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Perl in Teh Cloud

  • 1. Perl in Teh Cloud What do you mean, “no wires”?
  • 2. Scope • Amazon Web Services Infrastructure products • EC2, S3, EBS (SimpleDB, SQS, Elastic MapReduce N/A) • What do you get from AWS? What don’t you get? • Software packaging and deployment • Use cases • No code to see here, move along
  • 3. What’s in EC2? • On-demand compute power • Controlled via a web service • Free-form machines created with very little effort • Computers without the metal bits
  • 4. S3 - Simple Storage Service • Storage accessible through web services • Highly replicated • Free data transfer within EC2
  • 5. EBS - Elastic Block Service • A hard disk, somewhere • Format it however you like • Attach to and mount on an instance • Excellent random access performance • As opposed to an instance’s storage, which is good for sequential operations, like table scans.
  • 6. The Problem • Instances can drop out of the sky at any time • Although this doesn’t happen often, *it will happen* • An instance’s storage isn’t persistent across launches • Machines are built from scratch on launch
  • 7. Solutions • Machine images • Ye Olde Tarball • EBS and snapshots
  • 8. Solution - Machine Images • Canonical machines • Planning ahead • Not very flexible • Time-consuming
  • 9. Solution - Tarball • Hosted in S3 • Fetched and uncompressed on launch • Set-up scripts written in whatever language you want • local::lib
  • 10. Solution - EBS • Permanent storage • One volume for one machine • Snapshot it and create extra volumes on launch • local::lib • Easy to screw up
  • 11. A Note About local::lib • Oh look, code! • Or perhaps not • Each project can easily have its own $PERL5LIB • No interference from other projects • You can change the system-wide installation without fear of maiming a project
  • 12. A Note About local::lib • Sinopsys use local::lib; # sets up a local lib at ~/perl5 use local::lib '~/foo'; # same, but ~/foo # Or... use FindBin; use local::lib "$FindBin::Bin/../support"; # app-local support library
  • 13. A Note About local::lib • And to easily install stuff where you want it: # Install LWP and it's missing dependencies to the 'my_lwp' directory perl -MCPAN -Mlocal::lib=my_lwp -e 'CPAN::install(LWP)' # Install LWP and *all non-core* dependencies to the 'my_lwp' directory perl -MCPAN -Mlocal::lib=--self-contained,my_lwp -e 'CPAN::install(LWP)'
  • 14. Use Cases • Testing and staging • Scaling applications • Disaster recovery • No data center is a good data center
  • 15. Use Case - Testing & Staging • Machines are guaranteed to be exact replicas of production • Never forget to update that module again • Fire it up, do your thing, and shut it down • Lead time measured in minutes
  • 16. Use Case - Scaling • Grow when you need to grow, shrink when you’re wasting resources • Automated provisioning and de-commissioning • Did I mention the lead time?
  • 17. Use Case - Disaster Recovery • Your main database went down • A web server crashed • Data replication • Forget about lead times :)
  • 18. Use Case - Data Center • There isn’t one • Stop paying for services you don’t use • Aircon, racks, connectivity, power • Remember when you forgot your ID or keys to the rack?
  • 19. Net::Amazon::* • Net::Amazon::S3 • Net::Amazon::S3::ACL • Net::Amazon::S3::Tools • Net::Amazon::SimpleQueue
  • 20. See Also • Bootstrapping local::lib http://www.simplicidade.org/notes/archives/2009/05/locallib_bootst.html • RightScale http://rightscale.com/ • AWS for Eclipse
  • 21. Q&A • me@pedrofigueiredo.org • http://www.slideshare.net/pfig/perl-in-teh-cloud • http://groups.google.com/group/aws-cloud-user-group