Stackato is a PaaS cloud platform from ActiveState that allows developers to easily deploy applications to the cloud. It supports multiple languages including Perl, Ruby, and JavaScript. The presentation demonstrated deploying simple Perl apps to Stackato using the Mojolicious framework. Key benefits of Stackato include minimal differences between development and production environments, one-click deployments, and allowing developers to manage infrastructure. ActiveState is very open and provides documentation, examples, and a community forum to support Stackato users.
1. Stackato
- a developers experiences and evaluation
by jonasbn for the German Perl Workshop
2013 in Berlin, Germany
2. 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
3. (My) 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 my editor
• reproducibility for transparency
4. What do we have TDY?
• Unit-tests
• Mocked objects and classes, stubs a.s.o
• Local servers / emulators
• Dedicated environments (dev/test/prod)
• Virtualization
• And code - lots of code...
9. 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
12. 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
13. Amazon EC2
• BUT Amazon EC2 however does not get
us there - no matter how elastic it is
• BUT http://aws.amazon.com/
• BUT luckily...
14. JS/Ruby/Perl in the cloud?
• @ActiveState have introduced
#stackato based on phenona and
Cloud Foundry
• http://www.activestate.com/stackato
• http://www.cloudfoundry.com/
15. Stackato
• A micro-cloud
• current version: 2.8.2
• first official release 2012.02.29
• Strong in the Platform as a Service (PaaS)
area, both private and public
• Supporting several languages, their
frameworks and commonly-used services
19. initial deployment
• target, where do we want to deploy
• login, it is all a matter of permissions
• push, a “one-click” CLI deployment
• stackato.yml - a configuration file for
assisting deployment
• stackato -n ...
20. inspecting deployment
• logs, our classical log files
• crashes, possible crashes
• crashlogs, and their logs
• files, our sandbox
• files app, our application
21. operating
• start, start a service
• stop, stop a service
• restart, restart a service
• this is about it, for what I can provide for
now, I have no experience with long time
operation of a Stackato deployed service
• Oh there is one more thing...
25. updating
• update, when an application has been
pushed (deployed) this is the command you
will use...
• Or you can integrate with your IDE and
possible other tools in the future, more on
this later...
26. All the little things
• binding DNS, going beyond mDNS
• binding services (databases et al.)
• resource allocation, memory, instances etc.
• logging (more on this later...)
27. Support
• @ActiveState fora
• #stackato on irc://irc.freenode.org with
users and ActiveState staff
• Webcasts + white papers
• ActiveState are incredibly open and
cooperative
28. Open Source Examples
• @ActiveState examples on Github
• my own fork is on Github
• Github is nice!
29. Stackato is not... or?
• Open Source? - it is closed and proprietary
• @ActiveState is however dedicated to
keeping the micro-cloud solution free
• the command-line client stackato is open
source and available on Github
• https://github.com/ActiveState/stackato-cli
31. 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. App Store
• Simply a matter of configuration
• Your complete application portfolio one click
away
• Operations - go shopping!
• https://github.com/ActiveState/stackato-app-store
36. My Current Road Map
• Oracle as a service (Perl driver DBD::Oracle and Oracle driver
distribution issue) works!
• Cryptographic components (export of PPMs, Perl packages) works!
• Deployment of custom components works!
• Full blown examples (Mojolicious over Mojolicious::Lite etc.) works!
• Central logging (syslog) works!
• Service integration (PostgreSQL) works?
• mDNS and dynamic DNS (might be a .local problem)
37. 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
38. 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
39. More Benefits
• Your developers can become self-driving
when it comes to infrastructure
• This is as close as you can get to one-click
deployment
• You can have uniformity between all your
environments and procedures and practices
• And it is unintrusive
• And it does scale into the cloud