stackato v6

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

Upload: jonas-b-nielsen

Post on 15-Jan-2015

582 views

Category:

Technology


3 download

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

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