1. Stackato- a developers experiences and evaluationby jonasbn for Copenhagen Perl Mongers
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 afﬁliation 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 the editor• reproducibility for transparency
4. 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...
5. complexity• We require magic• We rely on tribal knowledge• We need to jump through hoops
6. the Cloud• What is the cloud?• What problem does the cloud solve?• What needs does the cloud address?• So what is the cloud?
7. Williamstown Theatre Festival?
8. Talking Cloud You cannot ignore Amazon and EC2
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
10. Dr. Matt Wood / Heavy Lifting
11. Dr. Matt Wood / 30%
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• Amazon EC2 however does not get us there - no matter how much elasticity it provides• http://aws.amazon.com/
14. JS/Ruby/Perl in the cloud?• @ActiveState introduces #stackato based on phenona and Cloud Foundry• http://www.activestate.com/stackato• http://www.cloudfoundry.com/
15. Stackato• A micro-cloud • current version 1.0.6 • out of beta, released 2012.02.29• Platform as a Service (PaaS) private and public• Supporting several languages, their frameworks and commonly-used services
16. Hello World!ﬁrst demo: in Perl using Mojolicious
17. recapﬁrst demo: in Perl 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. inspecting deployment• logs, our classical log ﬁles• crashes, possible crashes• crashlogs, and their logs• ﬁles, our sandbox • ﬁles app, our application
20. 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...
21. Demo 2the built in management console
22. Hello Copenhagen Perl Mongers third demo: in Perl using Mojolicious
23. recapthird demo: in Perl using Mojolicious
24. updating• update, when an application has been pushed (deployed) this is the command you will use• stackato.yml - a conﬁguration ﬁle for assisting deployment• stackato -n ...
25. 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...
26. Support• @ActiveState fora• #stackato on irc://irc.freenode.org with users and ActiveState staff• Webcasts• White papers• ActiveState are incredibly open and cooperative
27. Open Source Examples• @ActiveState examples on Github• my own fork is on Github• Github is nice!
28. Stackato is not• Open Source? - it is closed and proprietary • @ActiveState is however dedicated to keeping the micro-cloud solution free
29. So what is in it?
30. 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 beneﬁts
31. But wait there is more!
32. Demo 4the built in app store
33. App Store• Simply a matter of conﬁguration • Your complete application portfolio one click away • Operations - go shopping!• https://github.com/ActiveState/stackato- app-store
34. 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!• Service integration (PostgreSQL)• mDNS and dynamic DNS (might be .local)• Central logging (syslog)
35. 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
36. Beneﬁts• 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
37. jonasbn!• @jonasbn, jonasbn@logicLAB.dk• Blogs: logicLAB.org and logicLAB.dk• Presentation on Slideshare.com• logicLAB Open Wiki