Pinto+Stratopan+Love
Upcoming SlideShare
Loading in...5
×
 

Pinto+Stratopan+Love

on

  • 849 views

A presentation in three acts: The newest Pinto features; Stratpan -- Managing Perl modules in the cloud; Why you'll love using Pinto/Stratopan.

A presentation in three acts: The newest Pinto features; Stratpan -- Managing Perl modules in the cloud; Why you'll love using Pinto/Stratopan.

Statistics

Views

Total Views
849
Slideshare-icon Views on SlideShare
830
Embed Views
19

Actions

Likes
4
Downloads
8
Comments
0

3 Embeds 19

http://www.linkedin.com 14
https://twitter.com 4
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Pinto+Stratopan+Love Pinto+Stratopan+Love Presentation Transcript

  • Pinto + Stratopan + Love San Francisco Perl Mongers October 30, 2012 Jeffrey Thalhammer thaljef@cpan.org
  • Pinto
  • The $!@#% Problem
  • The $!@#% Problem• The public CPAN is unstable & unreliable.
  • The $!@#% Problem• The public CPAN is unstable & unreliable.• Tool chain lacks precise dependency control.
  • The $!@#% Problem• The public CPAN is unstable & unreliable.• Tool chain lacks precise dependency control.• Hard to make consistent, repeatable builds.
  • The $!@#% Problem• The public CPAN is unstable & unreliable.• Tool chain lacks precise dependency control.• Hard to make consistent, repeatable builds.• Existing solutions are weak.
  • Pinto To The Rescue
  • Pinto To The Rescue• A turn-key solution for managing Perl modules.
  • Pinto To The Rescue• A turn-key solution for managing Perl modules.• Works for both CPAN and local modules.
  • Pinto To The Rescue• A turn-key solution for managing Perl modules.• Works for both CPAN and local modules.• Constructs a CPAN-like repository.
  • Pinto To The Rescue• A turn-key solution for managing Perl modules.• Works for both CPAN and local modules.• Constructs a CPAN-like repository.• Compatible with the existing tool chain.
  • Pinto Feature Recap
  • Pinto Feature Recap• A Pinto repository has multiple indexes (stacks).
  • Pinto Feature Recap• A Pinto repository has multiple indexes (stacks).• You can have multiple versions of a module.
  • Pinto Feature Recap• A Pinto repository has multiple indexes (stacks).• You can have multiple versions of a module.• Also provides a way to fix versions (pins).
  • Pinto Feature Recap• A Pinto repository has multiple indexes (stacks).• You can have multiple versions of a module.• Also provides a way to fix versions (pins).• A coherent workflow for managing change.
  • Pinto Feature Recap• A Pinto repository has multiple indexes (stacks).• You can have multiple versions of a module.• Also provides a way to fix versions (pins).• A coherent workflow for managing change.• Works with the standard Perl tool chain.
  • Pinto Feature Recap• A Pinto repository has multiple indexes (stacks).• You can have multiple versions of a module.• Also provides a way to fix versions (pins).• A coherent workflow for managing change.• Works with the standard Perl tool chain.• Results in consistent and reliable builds.
  • New Pinto Features
  • New Pinto Features• A version control mechanism.
  • New Pinto Features• A version control mechanism.• Records each set of changes to the stack.
  • New Pinto Features• A version control mechanism.• Records each set of changes to the stack.• Can examine who, what, why it changed.
  • New Pinto Features• A version control mechanism.• Records each set of changes to the stack.• Can examine who, what, why it changed.• Can revert to a prior revision of the stack.
  • New Pinto Features• A version control mechanism.• Records each set of changes to the stack.• Can examine who, what, why it changed.• Can revert to a prior revision of the stack.• Not a full-fledged VCS, but good enough.
  • Basic Pinto Setup
  • Basic Pinto Setup pinto -r ~/repo init
  • Basic Pinto Setup pinto -r ~/repo initpinto -r ~/repo pull Moose -m ‘Did stuff’
  • Basic Pinto Setup pinto -r ~/repo initpinto -r ~/repo pull Moose -m ‘Did stuff’ pinto -r ~/repo list
  • Basic Pinto Setup pinto -r ~/repo init pinto -r ~/repo pull Moose -m ‘Did stuff’ pinto -r ~/repo list...rf Moose 2.06 DOY/Moose-2.06.tar.gzrf Moose::Error 2.06 DOY/Moose-2.06.tar.gzrf Moose::Meta 2.06 DOY/Moose-2.06.tar.gz...
  • What Happened?
  • What Happened? pinto -r ~/repo log
  • What Happened? pinto -r ~/repo log--------------------------------------------init@1 | jeff | Mon Oct 29 23:48:57 2012Did Stuff--------------------------------------------init@0 | jeff | Mon Oct 29 23:46:21 2012Created initial stack
  • Gory Details
  • Gory Detailspinto -r ~/repo log --detailed
  • Gory Details pinto -r ~/repo log --detailed--------------------------------------------init@23 | jeff | Mon Oct 29 23:48:57 2012Did StuffD DOY/Moose-2.05.tar.gz/Moose~2.05A DOY/Moose-2.06.tar.gz/Moose~2.06D DOY/Moose-2.05.tar.gz/Moose::Meta~2.05A DOY/Moose-2.06.tar.gz/Moose::Meta~2.06
  • Who Dunnit?
  • Who Dunnit?pinto -r ~/repo blame
  • Who Dunnit? pinto -r ~/repo blame... 34 jeff Moose 2.06 DOY/Moose-2.06.tar.gz 34 jeff Moose::Meta 2.06 DOY/Moose-2.06.tar.gz 8 mike Moose::Error 2.05 DOY/Moose-2.05.tar.gz 72 suzy URI 1.49 GAAS/URI-1.49.tar.gz...
  • Go Back In Time
  • Go Back In Time pinto -r ~/repo revert
  • Go Back In Time pinto -r ~/repo revert pinto -r ~/repo revert -5
  • Go Back In Time pinto -r ~/repo revert pinto -r ~/repo revert -5pinto -r ~/repo revert 362
  • Go Back In Time pinto -r ~/repo revert pinto -r ~/repo revert -5 pinto -r ~/repo revert 362Is That Cool Or What?
  • Stratopan
  • Great, Yet Another Tool I Have To Manage
  • Great, Yet Another Tool I Have To Manage• Pinto is evolving rapidly.
  • Great, Yet Another Tool I Have To Manage• Pinto is evolving rapidly.• Pinto has lots of dependencies.
  • Great, Yet Another Tool I Have To Manage• Pinto is evolving rapidly.• Pinto has lots of dependencies.• Like any service, requires care and feeding.
  • Great, Yet Another Tool I Have To Manage• Pinto is evolving rapidly.• Pinto has lots of dependencies.• Like any service, requires care and feeding.• You have better things to do with your time.
  • So Let Us Manage It For You
  • So Let Us Manage It For You• Stratopan is a web service built on Pinto.
  • So Let Us Manage It For You• Stratopan is a web service built on Pinto.• Public or private repos hosted in the cloud.
  • So Let Us Manage It For You• Stratopan is a web service built on Pinto.• Public or private repos hosted in the cloud.• Full control over modules with stacks & pins.
  • So Let Us Manage It For You• Stratopan is a web service built on Pinto.• Public or private repos hosted in the cloud.• Full control over modules with stacks & pins.• Access controls for teams & customers.
  • So Let Us Manage It For You• Stratopan is a web service built on Pinto.• Public or private repos hosted in the cloud.• Full control over modules with stacks & pins.• Access controls for teams & customers.• Build/test/install your modules from anywhere.
  • Demonstration
  • Future Plans
  • Future Plans• Expose more Pinto features.
  • Future Plans• Expose more Pinto features.• Access controls for teams.
  • Future Plans• Expose more Pinto features.• Access controls for teams.• Update notifications.
  • Future Plans• Expose more Pinto features.• Access controls for teams.• Update notifications.• Social features.
  • Future Plans• Expose more Pinto features.• Access controls for teams.• Update notifications.• Social features.• Dependency graphing.
  • Future Plans• Expose more Pinto features.• Access controls for teams.• Update notifications.• Social features.• Dependency graphing.• Command line interface.
  • Future Plans• Expose more Pinto features.• Access controls for teams.• Update notifications.• Social features.• Dependency graphing.• Command line interface.• Could be a real business.
  • Love
  • What Are You Doing Now?
  • What Are You Doing Now?• Our admin installs everything as root.
  • What Are You Doing Now?• Our admin installs everything as root.• We build everything into a directory in VCS.
  • What Are You Doing Now?• Our admin installs everything as root.• We build everything into a directory in VCS.• We put all the tar.gz files into the VCS.
  • What Are You Doing Now?• Our admin installs everything as root.• We build everything into a directory in VCS.• We put all the tar.gz files into the VCS.• We use a private Mini-CPAN.
  • What Are You Doing Now?• Our admin installs everything as root.• We build everything into a directory in VCS.• We put all the tar.gz files into the VCS.• We use a private Mini-CPAN.• Nothing.
  • What Are You Doing Now?• Our admin installs everything as root.• We build everything into a directory in VCS.• We put all the tar.gz files into the VCS.• We use a private Mini-CPAN.• Nothing.• Other.
  • You’re Doing It Wrong
  • You’re Doing It Wrong• What if you upgrade Perl or change OS?
  • You’re Doing It Wrong• What if you upgrade Perl or change OS?• Can you rebuild your dependencies?
  • You’re Doing It Wrong• What if you upgrade Perl or change OS?• Can you rebuild your dependencies?• Do you know what to test after upgrading?
  • You’re Doing It Wrong• What if you upgrade Perl or change OS?• Can you rebuild your dependencies?• Do you know what to test after upgrading?• Do you even know what modules you have?
  • You’re Doing It Wrong• What if you upgrade Perl or change OS?• Can you rebuild your dependencies?• Do you know what to test after upgrading?• Do you even know what modules you have?• What if they are no longer on CPAN?
  • You’re Doing It Wrong• What if you upgrade Perl or change OS?• Can you rebuild your dependencies?• Do you know what to test after upgrading?• Do you even know what modules you have?• What if they are no longer on CPAN?• Do you have modules that you don’t even use?
  • Pinto Does It Right...With Ease
  • Pinto Does It Right...With Ease• All your modules are stashed forever.
  • Pinto Does It Right...With Ease• All your modules are stashed forever.• Pinto knows what the dependency graph is.
  • Pinto Does It Right...With Ease• All your modules are stashed forever.• Pinto knows what the dependency graph is.• Pinto works seamlessly with the toolchain.
  • Pinto Does It Right...With Ease• All your modules are stashed forever.• Pinto knows what the dependency graph is.• Pinto works seamlessly with the toolchain.• Pinto gives you tools to manage change.
  • Pinto Does It Right...With Ease• All your modules are stashed forever.• Pinto knows what the dependency graph is.• Pinto works seamlessly with the toolchain.• Pinto gives you tools to manage change.• You can rebuild from scratch at any time.
  • Pinto Does It Right...With Ease• All your modules are stashed forever.• Pinto knows what the dependency graph is.• Pinto works seamlessly with the toolchain.• Pinto gives you tools to manage change.• You can rebuild from scratch at any time.• You will get the same result, every time.
  • Build From Scratch... Are You Serious?
  • Build From Scratch... Are You Serious?• Why not? The computer does all the work!
  • Build From Scratch... Are You Serious?• Why not? The computer does all the work!• Extension of continuous integration mentality.
  • Build From Scratch... Are You Serious?• Why not? The computer does all the work!• Extension of continuous integration mentality.• Build as much as you can, as often as you can.
  • Build From Scratch... Are You Serious?• Why not? The computer does all the work!• Extension of continuous integration mentality.• Build as much as you can, as often as you can.• You might not build every thing every time.
  • Build From Scratch... Are You Serious?• Why not? The computer does all the work!• Extension of continuous integration mentality.• Build as much as you can, as often as you can.• You might not build every thing every time.• But you WILL need to do it eventually.
  • Build From Scratch... Are You Serious?• Why not? The computer does all the work!• Extension of continuous integration mentality.• Build as much as you can, as often as you can.• You might not build every thing every time.• But you WILL need to do it eventually.• When that time comes, Pinto will save your ass.
  • We Use Vendor Packages, So Buzz Off
  • We Use Vendor Packages, So Buzz Off• Vendor packages are great for disparate stuff, like databases, apache, etc.
  • We Use Vendor Packages, So Buzz Off• Vendor packages are great for disparate stuff, like databases, apache, etc.• Making/Finding vendor packages for Perl modules is a waste of time.
  • We Use Vendor Packages, So Buzz Off• Vendor packages are great for disparate stuff, like databases, apache, etc.• Making/Finding vendor packages for Perl modules is a waste of time.• Perl already has an great packaging system.
  • We Use Vendor Packages, So Buzz Off• Vendor packages are great for disparate stuff, like databases, apache, etc.• Making/Finding vendor packages for Perl modules is a waste of time.• Perl already has an great packaging system.• Use Pinto and tool chain to build your Perl wad.
  • We Use Vendor Packages, So Buzz Off• Vendor packages are great for disparate stuff, like databases, apache, etc.• Making/Finding vendor packages for Perl modules is a waste of time.• Perl already has an great packaging system.• Use Pinto and tool chain to build your Perl wad.• Then wrap the wad in a vendor package.
  • Why Should I Care? “Perl is my virtual machine. CPAN is my language.” Matt Trout
  • What That Means For You
  • What That Means For You• Applications are built from lots of components.
  • What That Means For You• Applications are built from lots of components.• Your source code is just the glue between them.
  • What That Means For You• Applications are built from lots of components.• Your source code is just the glue between them.• We have great tools for managing source code.
  • What That Means For You• Applications are built from lots of components.• Your source code is just the glue between them.• We have great tools for managing source code.• But components are the real bulk of apps.
  • What That Means For You• Applications are built from lots of components.• Your source code is just the glue between them.• We have great tools for managing source code.• But components are the real bulk of apps.• So you need to manage components too.
  • What That Means For You• Applications are built from lots of components.• Your source code is just the glue between them.• We have great tools for managing source code.• But components are the real bulk of apps.• So you need to manage components too.• Otherwise, you will be screwed (some day).
  • The Bottom Line Pinto and Statopan make it so easythere is little reason not to use them.
  • Learn More
  • Learn More• http://www.youtube.com/watch?v=oaBBVZFhJUk
  • Learn More• http://www.youtube.com/watch?v=oaBBVZFhJUk• https://github.com/thaljef/Pinto
  • Learn More• http://www.youtube.com/watch?v=oaBBVZFhJUk• https://github.com/thaljef/Pinto• https://metacpan.org/release/Pinto
  • Learn More• http://www.youtube.com/watch?v=oaBBVZFhJUk• https://github.com/thaljef/Pinto• https://metacpan.org/release/Pinto• http://alpha.stratopan.com
  • Thanks For Your Time Jeffrey Thalhammer thaljef@cpan.org