Download - Stackato
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
• IT infrastructure friction
• Focus on your core competences
• Focus on delivering value
• http://www.slideshare.net/FDIHdk/ahead-in-the-cloud-matt-wood-amazon
The general issue of development vs. operations is quite wide-spread, see something like the GOTOCPH conference 2011 with a dedicated track
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
recapfirst 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
recapthird 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 Integrationfourth demo: Komodo IDE 7
Surprise!Komodo IDE 7 license
courtesy of @ActiveState
Game On!pick a number - any number!
jonasbn!
• @jonasbn, [email protected]
• 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/