Stackato v6

41
Stackato - a developers experiences and evaluation by jonasbn for the German Perl Workshop 2013 in Berlin, Germany

description

My 6th. revision of my Stackato presentation given at the German Perl Workshop 2013 in Berlin, Germany, More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato

Transcript of Stackato v6

Page 1: Stackato v6

Stackato- a developers experiences and evaluation

by jonasbn for the German Perl Workshop 2013 in Berlin, Germany

Page 2: Stackato v6

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 v6

(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

Page 4: Stackato v6

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

Page 5: Stackato v6

complexity

• We require magic

• We rely on tribal knowledge

• We need to jump through hoops

Page 6: Stackato v6

silver bullet

• Then somebody offers a silver bullet

• They call it the “cloud”

Page 7: Stackato v6

the Cloud

• What is the cloud?

• What problem do the cloud solve?

• What needs do the cloud address?

• So lets talk cloud!

Page 8: Stackato v6

Talking Cloud

You cannot ignore Amazon and EC2

Page 9: Stackato v6

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 10: Stackato v6

Dr. Matt Wood / Heavy Lifting

Page 11: Stackato v6

Dr. Matt Wood / 30%

Page 12: Stackato v6

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

Page 13: Stackato v6

Amazon EC2

• BUT Amazon EC2 however does not get us there - no matter how elastic it is

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

• BUT luckily...

Page 14: Stackato v6

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/

Page 15: Stackato v6

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

Page 16: Stackato v6
Page 17: Stackato v6

Hello World!first demo: in Perl using Mojolicious

$ mojo generate app HelloWorld

Page 18: Stackato v6

recapfirst demo: in Perl using Mojolicious

Page 19: Stackato v6

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

Page 20: Stackato v6

inspecting deployment

• logs, our classical log files

• crashes, possible crashes

• crashlogs, and their logs

• files, our sandbox

• files app, our application

Page 21: Stackato v6

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

Page 22: Stackato v6

Demo 2the built in management console

Page 23: Stackato v6

Hello Mongers PPL

third demo: in Perl using Mojolicious

BONUS!

Demonstration of

Komodo IDE integration

Page 24: Stackato v6

recapthird demo: in Perl using Mojolicious

Page 25: Stackato v6

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

Page 26: Stackato v6

All the little things

• binding DNS, going beyond mDNS

• binding services (databases et al.)

• resource allocation, memory, instances etc.

• logging (more on this later...)

Page 27: Stackato v6

Support• @ActiveState fora

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

• Webcasts + white papers

• ActiveState are incredibly open and cooperative

Page 28: Stackato v6

Open Source Examples

• @ActiveState examples on Github

• my own fork is on Github

• Github is nice!

Page 29: Stackato v6

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

Page 30: Stackato v6

So what is in it?

Page 31: Stackato v6

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 32: Stackato v6
Page 33: Stackato v6

But wait there is more!

Page 34: Stackato v6

Demo 4the built in app store

Page 35: Stackato v6

App Store

• Simply a matter of configuration

• Your complete application portfolio one click away

• Operations - go shopping!

• https://github.com/ActiveState/stackato-app-store

Page 36: Stackato v6

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)

Page 37: Stackato v6

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 38: Stackato v6

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 39: Stackato v6

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

Page 40: Stackato v6

jonasbn!

• @jonasbn, [email protected]

• Blogs: logicLAB.org and logicLAB.dk

• Presentation on Slideshare.com

• logicLAB Open Wiki

Page 41: Stackato v6

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

• https://github.com/ActiveState/stackato-app-store

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