joomlatools platform

Post on 12-Apr-2017

4.567 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

http://developer.joomlatools.com @joomlatools

Joomlatools PlatformJoomla with Less Fluff and More Oomph!

v1.0

Founding Fathers 2005

LinuxWorld London 2006

Joomla, not sexy anymore!

Platform is the new sexy!

Features

2Slimmed down codebase

Counted using http://cloc.sourceforge.net/

75% lighter!

3Slimmed down codebase

https://github.com/joomlatools/joomla-platform/releases/tag/v1.0.0

Site Admin Platform v1.0.1 CMS v3.3.6

Components 1 9 10 40+

Modules 5 8 13 40+

Libraries - - 4 11

Plugins - - 13 40+

4Increased performance

Rendering blog sample data frontpage:

Joomla v3.3.6: 306ms

Joomlatools Platform: 167ms

5Need more?

Out of the box support for Varnish Cache

6Composer installer

$ cd /var/www$ composer create-project joomlatools/platform

Install the Joomlatools Platform in a single command.

http://developer.joomlatools.com/platform/getting-started.html

12 Factor App Methodology

http://developer.joomlatools.com/platform/12-factor-app.html

1Codebase

1 codebase, many deploys

http://developer.joomlatools.com/platform/12-factor-app.html#codebase

1Codebase1 codebase supports many environments with unique configurations

http://developer.joomlatools.com/platform/configuration-files.html

2DependenciesDeclare and manage dependencies via Composer

http://developer.joomlatools.com/platform/composer.html

2

$ cd /var/www/joomla-platform$ composer require joomlatools/platform-content$ composer require joomlatools/platform-finder$ composer require joomlatools/platform-media

Install extensions using Joomlatools Composer plugin

Dependencies

http://developer.joomlatools.com/platform/composer.html

3ConfigStore config in environment using PhpDotEnv

“Can you make your repository open source today?”

http://developer.joomlatools.com/platform/environment-variables.html

4Backing ServicesTreat backing services as attached resources

http://developer.joomlatools.com/platform/12-factor-app.html#backing-services

5Build, release, runStrictly separate build and run stages

Build

Release

Run

= codebase + dependencies + assets

= build + config

= execute, no code changes

http://developer.joomlatools.com/platform/12-factor-app.html#build-release-run

5Build, release, run

Release new builds using the Capistrano plugin:

$ joomla plugin:install joomlatools/console-capistrano$ joomla capistrano:deploy myapp

https://github.com/joomlatools/joomla-console-capistrano

6Processes

● One or more processes run the app

● Stateless:

○ Sessions are stored in backing service (MySQL)

○ Sessions do not autostart

● App shares nothing with other processes

http://developer.joomlatools.com/platform/12-factor-app.html#processes

7Port Binding

Export services via port binding

● Application must be fully self-contained● Accessible via a URL● Run standalone or behind complex web server

$ php -S 127.0.0.1:8000 # Standalone at http://127.0.0.1:8000

http://developer.joomlatools.com/platform/12-factor-app.html#port-binding

8Concurrency

Scale out via the process model:

● Processes are a first class citizen

● HTTP requests handled by web process

○ Apache, PHP-FPM can scale up out of the box

● Managed by operating system’s process manager

http://developer.joomlatools.com/platform/12-factor-app.html#concurrency

9Disposability

Maximize robustness with fast startup, graceful shutdown

● New code can run right away

● No need for long restart of processes

● PHP-FPM, Apache automatically take care of this

http://developer.joomlatools.com/platform/12-factor-app.html#disposability

10Dev/prod parity

Keep development and production as similar as possible:

● Vagrant machine runs on any OS (Mac, Windows, Linux)

● Same stack across organisation: Ubuntu 14.04, PHP

5.6, Apache 2.4, MySQL 5.5

● Re-usable Puppet configuration

● Developer tools pre-installed

http://developer.joomlatools.com/platform/12-factor-app.html#devprod-parity

Joomlatools Vagrant box

10Dev/prod parity

http://developer.joomlatools.com/tools/vagrant.html

11Logs

Treat logs as event streams

http://developer.joomlatools.com/platform/12-factor-app.html#logs

12Admin Processes

Run admin/management tasks as one-off processes

● Admin tasks run in same environment, database and config● Joomlatools Console to execute platform management tasks

$ joomla cache:clear myapp$ joomla finder:index myapp

$ joomla plugin:install joomlatools/console-backup$ joomla site:backup myapp

http://developer.joomlatools.com/platform/12-factor-app.html#admin-processes

top related