Microservices - Symfony - Pivotal Cloud Foundry

Geschrieben am 25.07.2016
cloud foundry

Als guter Nerd freue ich mich immer wenn neue Technologien in den Enterprise Bereich sickern. Aktuell ist das eindeutig bei PaaS, speziell CF der Fall (http://pivotal.io/platform). Pivotal verspricht die Softwareproduktion zu relvolutionieren, insbesondere geht es darum, den Turnaround vom Entwickler zum Einsatz effizienter zu gestalten und die Operating Costs zu reduzieren. Buzzwords: DevOps, Microservices, Containers, Continuous Delivery, Cloud. Und das alles als Open Source.

Ich war letztens auf der Pivotal Roadshow und ziemlich beeindruckt.

Gleichzeitig erklimmt Symfony (http://symfony.com/) immer neue Höhen an Beliebtheit, was sicherlich nicht zuletzt daran liegt, dass populäre Produkte wie Drupal (https://www.drupal.org/) und Laravel (https://laravel.com/) darauf aufbauen.

Der Standardweg Microservices in PCF (Pivotal Cloud Foundry) zu nutzen ist sicherlich Spring Boot (http://projects.spring.io/spring-boot/). Das ist auch sehr einfach und problemlos möglich, dazu gibt es hier (http://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cl...) eine 5 Minuten Einführung die reibungslos funktioniert. Aber das ist dann eben JAVA und ich will jetzt mal PHP und Symfony ausprobieren.

Vorweg verraten: Es klappt!

HowTo: Deploying a Symfony App on Pivotal Cloud Foundry from scratch

 

  1. Create an account on PCF, like here:
    https://login.run.pivotal.io/login
  2. Download and install the Symfony installer from here:
    http://symfony.com/download#
  3. Create a symfony project (I used 2.8.8 LTS) by typing
    symfony new mypcftest 2.8
  4. Code some funny stuff in
    mypcftest/src/AppBundle/Controller/DefaultController.php
  5. Adjust your view in
    mypcftest/app/Resources/views/default/index.html.twig
  6. Test you app locally by typing
    php app/console server:run
  7. Add some info for the CF PHP buildpack:
    - Create a directory .bp-config in your project root
    - Create a file inside .bp-config called options.json
    - Create the line {"WEBDIR": "web"} in the file options.json
  8. Push your App to PCF without starting by typing
    cf push mypcftest –no-start
  9. Set your ENV to production:
    cf set-env mypcftest SYMFONY_ENV "prod"
  10. Start your PCF app:
    cf start mypcftest
  11. Check your app:
    cf apps
Abrufen von Apps in Organisation proxiss-org / Bereich development als rainer|feike.de... 
OK 

Name    angeforderter Status Instanzen Speicher Platte URLs 
awfapp2 started              1/1       1G       1G     awfapp2.cfapps.io

 

IT-Skills
Fachbereich