stackato

42
Stackato - a developers experiences and evaluation by jonasbn for Open Source Days 2012

Upload: jonas-b-nielsen

Post on 15-Jan-2015

1.593 views

Category:

Technology


0 download

DESCRIPTION

Presentation of ActiveStates micro-cloud solution Stackato at Open Source Days 2012. Stackato is a cloud solution from renowned ActiveState. It is based on the Open Source CloudFoundry and offers a serious cloud solution for Perl programmers, but also supports Python, Ruby, Node.js, PHP, Clojure and Java. Stackato is very strong in the private PaaS area, but do also support as public PaaS and deployment onto Amazon's EC2. The presentation will cover basic use of Stackato and the reason for using a PaaS, public as private. Stackato can also be used as a micro-cloud for developers supporting vSphere, VMware Fusion, Parallels and VirtualBox. Stackato is currently in public beta, but it is already quite impressive in both features and tools. Stackato is not Open Source, but CloudFoundry is and Stackato offers a magnificent platform for deployment of Open Source projects, sites and services. ActiveState has committed to keeping the micro-cloud solution free so it offers an exciting capability and extension to the developers toolbox and toolchain. More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato

TRANSCRIPT

Page 1: Stackato

Stackato- a developers experiences and evaluation

by jonasbn for Open Source Days 2012

Page 2: Stackato

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

Page 3: Stackato

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

Page 4: Stackato

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...

Page 5: Stackato

the Cloud

• What is the cloud?

• What problem does it solve?

• What needs does it address?

Page 7: Stackato

Talking Cloud

• You cannot ignore Amazon and EC2

Page 8: Stackato

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

Page 9: Stackato

Dr. Matt Wood / Heavy Lifting

Page 10: Stackato

Dr. Matt Wood / 30%

Page 11: Stackato

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

Page 12: Stackato

Amazon EC2

• Amazon EC2 however does not get us there - no matter how much elasticity it provides

• http://aws.amazon.com/

Page 13: Stackato

Perl in the cloud?

• @ActiveState introduces #stackato based on phenona and Cloud Foundry

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

• http://www.cloudfoundry.com/

Page 14: Stackato

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

Page 15: Stackato
Page 16: Stackato

Hello World!first demo: in Perl using Mojolicious

Page 17: Stackato

recapfirst demo: in Perl using Mojolicious

Page 18: Stackato

initial deployment

• target, where do we want to deploy

• login, it is all a matter of permissions

• push, a “one-click” CLI deployment

Page 19: Stackato

Requirements

• PPM (ActivePerl)

• CPAN (App::cpanminus)

• requirements.txt

Page 20: Stackato

Sandboxing

• local::lib, encapsulates in a Perl sandbox

• Your apps will not intrude on each other - unless you want them too

Page 21: Stackato

inspecting deployment

• logs

• crashes

• crashlogs

• files

Page 22: Stackato

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...

Page 23: Stackato

Management Console

second demo: the built in management console

Page 24: Stackato

Hello Open Source Days

third demo: in Perl using Mojolicious

Page 25: Stackato

recapthird demo: in Perl using Mojolicious

Page 26: Stackato

updating

• update, when an application has been pushed (deployed) this is the command you will use

• stackato.yml - a configuration file for assisting deployment

Page 27: Stackato

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...

Page 28: Stackato
Page 29: Stackato

Support• @ActiveState fora

• #stackato on irc://irc.freenode.org with users and ActiveState staff

• Webcasts

• White papers

• ActiveState are incredibly open and cooperative

Page 30: Stackato

Open Source Examples

• @ActiveState examples on Github

• my own fork is on Github

• Github is nice!

Page 31: Stackato

Stackato is not

• Open Source - it is closed and proprietary

• @ActiveState is however dedicated to keeping the micro-cloud solution free

Page 32: Stackato

So what is in it?

Page 33: Stackato

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

Page 34: Stackato
Page 35: Stackato

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)

Page 36: Stackato

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

Page 37: Stackato

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

Page 38: Stackato

IDE Integrationfourth demo: Komodo IDE 7

Page 39: Stackato

Surprise!Komodo IDE 7 license

courtesy of @ActiveState

Page 40: Stackato

Game On!pick a number - any number!

Page 41: Stackato

jonasbn!

• @jonasbn, [email protected]

• Blogs: logicLAB.org and logicLAB.dk

• Presentation on Slideshare.com

• logicLAB Open Wiki

• do you have 5 minutes! - of course

Page 42: Stackato

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/