Stackato
- a developers experiences and evaluation
 by jonasbn for Open Source Days 2012
Disclaimer
• I am jonasbn - like almost everywhere
• Long time Perl and web developer
• Open Source/CPAN contributor and
  previously freelance developer in logicLAB
• Currently employed with DK Hostmaster
• I have no affiliation with ActiveState
Developer Needs
• Easy access to platform, runtimes and
  frameworks
• The least possible gap between
  development, test and production
• Minimal differences between deployed
  code and the code in the editor
• reproducibility for transparency
What do we have?
• Unit-tests
• Mocked objects and classes, stubs a.s.o
• Local servers / emulators
• Virtualization
• Dedicated environments (dev/test/prod)
• Code - lots of code...
the Cloud

• What is the cloud?
• What problem does it solve?
• What needs does it address?
Williamstown Theatre Festival?
Talking Cloud


          •   You cannot ignore
              Amazon and EC2
Dr. Matt Wood (@mtz)
• Technology Evangelist with Amazon,
  working with Amazon Web Services (AWS)
• http://youtu.be/NT-ccnFMBWA
• from Internetdagarna 2011 in Stockholm/
  Sweden
Dr. Matt Wood / Heavy Lifting
Dr. Matt Wood / 30%
Points from Dr. Matt Wood
• 30-70% divide                  The general issue of development
                                 vs. operations is quite wide-
                                 spread, see something like the
                                 GOTOCPH conference 2011 with


• IT infrastructure friction
                                 a dedicated track




• Focus on your core competences
• Focus on delivering value
• http://www.slideshare.net/FDIHdk/ahead-in-
  the-cloud-matt-wood-amazon
Amazon EC2

• Amazon EC2 however does not get us
  there - no matter how much elasticity it
  provides
• http://aws.amazon.com/
Perl in the cloud?
•   @ActiveState introduces #stackato
    based on phenona and Cloud
    Foundry

•   http://www.activestate.com/stackato

•   http://www.cloudfoundry.com/
Stackato
• A micro cloud
 • current version 1.0.4
 • just out of beta, released 2012.02.29
• Platform as a Service (PaaS)
• Supporting several languages, their
  frameworks and widely-used services
Hello World!
first demo: in Perl using Mojolicious
recap
first demo: in Perl using Mojolicious
initial deployment

• target, where do we want to deploy
• login, it is all a matter of permissions
• push, a “one-click” CLI deployment
Requirements

• PPM (ActivePerl)
• CPAN (App::cpanminus)
• requirements.txt
Sandboxing

• local::lib, encapsulates in a Perl sandbox
 • Your apps will not intrude on each other
    - unless you want them too
inspecting deployment

• logs
• crashes
• crashlogs
• files
operating
• start, start a service
• stop, stop a service
• restart, restart a service
• this is about it, for what I can provide, I
  have no experience with long time
  operation of a Stackato deployed service
• Oh there is one more thing...
Management
       Console
second demo: the built in management console
Hello Open
  Source Days
third demo: in Perl using Mojolicious
recap
third demo: in Perl using Mojolicious
updating
• update, when an application has been
  pushed (deployed) this is the command you
  will use
• stackato.yml - a configuration file for
  assisting deployment
All the little things
• binding DNS, going beyond mDNS
• binding services (databases et al.)
• resource allocation, memory, instances etc.
• logging (more on this later...)
• now for some architecture...
Support
• @ActiveState fora
• #stackato on irc://irc.freenode.org with
  users and ActiveState staff
• Webcasts
• White papers
• ActiveState are incredibly open and
  cooperative
Open Source Examples

• @ActiveState examples on Github
• my own fork is on Github
• Github is nice!
Stackato is not

• Open Source - it is closed and proprietary
 • @ActiveState is however dedicated to
    keeping the micro-cloud solution free
So what is in it?
Targets!
• Multiple targets
 • development / test / production
• Targets make sense in SCM context
 • trunk / branches / tags (releases)
• You could just go for the micro-cloud, but
  you would loose some of the benefits
My Current Issues
•   Oracle as a service (DBD::Oracle and driver
    distribution issue)

•   Cryptographic components (export of PPMs)

•   Deployment of custom components

•   Service integration (PostgreSQL)

•   Full blown examples (Mojolicious over
    Mojolicious::Lite etc.)

•   mDNS and dynamic DNS (might be .local)
Conclusion

• The Stackato cloud is awesome
• @ActiveState mean serious business
• I am going to present and propose Stackato
  as a part of our future infrastructure
Benefits
•   Easy and controlled access to platform,
    runtimes and frameworks

•   The least possible gap between development,
    test and production and minimal differences
    between deployed code and the code in the
    editor depending on your cloud deployment

•   reproducibility for transparency since the
    amount of magic is kept at a minimum
IDE Integration
  fourth demo: Komodo IDE 7
Surprise!
 Komodo IDE 7 license
courtesy of @ActiveState
Game On!
pick a number - any number!
jonasbn!
• @jonasbn, jonasbn@logicLAB.dk
• Blogs: logicLAB.org and logicLAB.dk
• Presentation on Slideshare.com
• logicLAB Open Wiki
• do you have 5 minutes! - of course
References
•   http://www.slideshare.net/FDIHdk/ahead-in-the-cloud-matt-wood-amazon


•   http://youtu.be/NT-ccnFMBWA


•   http://logiclab.dk/wordpress/2011/11/30/internetdagarna-day-2-matt-wood/


•   http://en.wikipedia.org/wiki/WTF


•   http://smallbiztechnology.com/archive/2011/09/wait-what-is-cloud-computing.html/


•   http://www.activestate.com/stackato


•   http://www.cloudfoundry.com/


•   https://logiclab.jira.com/wiki/display/OPEN/Stackato


•   https://github.com/jonasbn/stackato-samples


•   https://github.com/ActiveState/stackato-samples


•   http://aws.amazon.com/
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato
Stackato

Stackato

  • 1.
    Stackato - a developersexperiences and evaluation by jonasbn for Open Source Days 2012
  • 2.
    Disclaimer • I amjonasbn - like almost everywhere • Long time Perl and web developer • Open Source/CPAN contributor and previously freelance developer in logicLAB • Currently employed with DK Hostmaster • I have no affiliation with ActiveState
  • 3.
    Developer Needs • Easyaccess to platform, runtimes and frameworks • The least possible gap between development, test and production • Minimal differences between deployed code and the code in the editor • reproducibility for transparency
  • 4.
    What do wehave? • Unit-tests • Mocked objects and classes, stubs a.s.o • Local servers / emulators • Virtualization • Dedicated environments (dev/test/prod) • Code - lots of code...
  • 5.
    the Cloud • Whatis the cloud? • What problem does it solve? • What needs does it address?
  • 6.
  • 7.
    Talking Cloud • You cannot ignore Amazon and EC2
  • 8.
    Dr. Matt Wood(@mtz) • Technology Evangelist with Amazon, working with Amazon Web Services (AWS) • http://youtu.be/NT-ccnFMBWA • from Internetdagarna 2011 in Stockholm/ Sweden
  • 9.
    Dr. Matt Wood/ Heavy Lifting
  • 10.
  • 11.
    Points from Dr.Matt Wood • 30-70% divide The general issue of development vs. operations is quite wide- spread, see something like the GOTOCPH conference 2011 with • IT infrastructure friction a dedicated track • Focus on your core competences • Focus on delivering value • http://www.slideshare.net/FDIHdk/ahead-in- the-cloud-matt-wood-amazon
  • 12.
    Amazon EC2 • AmazonEC2 however does not get us there - no matter how much elasticity it provides • http://aws.amazon.com/
  • 13.
    Perl in thecloud? • @ActiveState introduces #stackato based on phenona and Cloud Foundry • http://www.activestate.com/stackato • http://www.cloudfoundry.com/
  • 14.
    Stackato • A microcloud • current version 1.0.4 • just out of beta, released 2012.02.29 • Platform as a Service (PaaS) • Supporting several languages, their frameworks and widely-used services
  • 16.
    Hello World! first demo:in Perl using Mojolicious
  • 17.
    recap first demo: inPerl using Mojolicious
  • 18.
    initial deployment • target,where do we want to deploy • login, it is all a matter of permissions • push, a “one-click” CLI deployment
  • 19.
    Requirements • PPM (ActivePerl) •CPAN (App::cpanminus) • requirements.txt
  • 20.
    Sandboxing • local::lib, encapsulatesin a Perl sandbox • Your apps will not intrude on each other - unless you want them too
  • 21.
    inspecting deployment • logs •crashes • crashlogs • files
  • 22.
    operating • start, starta service • stop, stop a service • restart, restart a service • this is about it, for what I can provide, I have no experience with long time operation of a Stackato deployed service • Oh there is one more thing...
  • 23.
    Management Console second demo: the built in management console
  • 24.
    Hello Open Source Days third demo: in Perl using Mojolicious
  • 25.
    recap third demo: inPerl using Mojolicious
  • 26.
    updating • update, whenan application has been pushed (deployed) this is the command you will use • stackato.yml - a configuration file for assisting deployment
  • 27.
    All the littlethings • binding DNS, going beyond mDNS • binding services (databases et al.) • resource allocation, memory, instances etc. • logging (more on this later...) • now for some architecture...
  • 29.
    Support • @ActiveState fora •#stackato on irc://irc.freenode.org with users and ActiveState staff • Webcasts • White papers • ActiveState are incredibly open and cooperative
  • 30.
    Open Source Examples •@ActiveState examples on Github • my own fork is on Github • Github is nice!
  • 31.
    Stackato is not •Open Source - it is closed and proprietary • @ActiveState is however dedicated to keeping the micro-cloud solution free
  • 32.
    So what isin it?
  • 33.
    Targets! • Multiple targets • development / test / production • Targets make sense in SCM context • trunk / branches / tags (releases) • You could just go for the micro-cloud, but you would loose some of the benefits
  • 35.
    My Current Issues • Oracle as a service (DBD::Oracle and driver distribution issue) • Cryptographic components (export of PPMs) • Deployment of custom components • Service integration (PostgreSQL) • Full blown examples (Mojolicious over Mojolicious::Lite etc.) • mDNS and dynamic DNS (might be .local)
  • 36.
    Conclusion • The Stackatocloud is awesome • @ActiveState mean serious business • I am going to present and propose Stackato as a part of our future infrastructure
  • 37.
    Benefits • Easy and controlled access to platform, runtimes and frameworks • The least possible gap between development, test and production and minimal differences between deployed code and the code in the editor depending on your cloud deployment • reproducibility for transparency since the amount of magic is kept at a minimum
  • 38.
    IDE Integration fourth demo: Komodo IDE 7
  • 39.
    Surprise! Komodo IDE7 license courtesy of @ActiveState
  • 40.
    Game On! pick anumber - any number!
  • 41.
    jonasbn! • @jonasbn, jonasbn@logicLAB.dk •Blogs: logicLAB.org and logicLAB.dk • Presentation on Slideshare.com • logicLAB Open Wiki • do you have 5 minutes! - of course
  • 42.
    References • http://www.slideshare.net/FDIHdk/ahead-in-the-cloud-matt-wood-amazon • http://youtu.be/NT-ccnFMBWA • http://logiclab.dk/wordpress/2011/11/30/internetdagarna-day-2-matt-wood/ • http://en.wikipedia.org/wiki/WTF • http://smallbiztechnology.com/archive/2011/09/wait-what-is-cloud-computing.html/ • http://www.activestate.com/stackato • http://www.cloudfoundry.com/ • https://logiclab.jira.com/wiki/display/OPEN/Stackato • https://github.com/jonasbn/stackato-samples • https://github.com/ActiveState/stackato-samples • http://aws.amazon.com/