Meet the newest member of the Symfony family: SymfonyCloud
Do you remember when we launched SensioCloud almost two years ago at SymfonyCon Berlin? It was our first cloud product, targeted at companies with "big needs". SensioCloud has been a great success so far. But what about a Symfony-optimized cloud for everyone? What about a cloud that would support you while you grow your application? From an internal proof-of-concept to a successful web project. Giving you the tools to develop locally with comfort and deploy with confidence? Enter SymfonyCloud, a fully-managed platform created by friendly Symfony developers for busy Symfony developers. Optimized for you! SymfonyCloud is like a dream come true for me.
SensioCloud customers will be migrated to SymfonyCloud as all the great scaling features of SensioCloud are also part of SymfonyCloud.
You might have noticed that my SymfonyCloud description is very similar to the one I used when I first introduced Symfony Flex. That's not a coincidence. We have worked hard to make sure that SymfonyCloud tightly integrates with Symfony's best practices and development workflow.
SymfonyCloud lets you describe your infrastructure in configuration files (the services you need, the version of PHP you want, the crons and workers your application defines). This infrastructure description must be committed along side your code so that both can evolve nicely at the same time.
SymfonyCloud has been built as a CLI-first experience... just like Symfony via
./bin/console. The binary is named
symfony (more on that in a minute)
and here is a gist of some commands you can use to drive SymfonyCloud:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
# Let's create a demo app # The command also prepares the project for SymfonyCloud # It detects the project dependencies (PHP exts, ...) # And creates a sensible infrastructure configuration $ symfony new --demo demo # So that you can deploy it right away $ symfony deploy # Want to create a new Git branch? With a dedicated cluster # Which is a replicate of the production infrastructure? # With all data synced from production? $ symfony env:create great-feat # Check it right away in a browser $ symfony open:remote # Data in production has changed, want to sync them to the great-feat branch? $ symfony env:sync # All environments replicate production, so no debug toolbar :( # But if you want to debug an issue with Symfony tools, run $ symfony env:debug # Tail the remote logs? $ symfony logs all # Scale up and down $ symfony project:scale
There are so many other commands you will love. And the
symfony binary is
not just about SymfonyCloud. I have already mentioned
symfony new to create
a new Symfony project: use
symfony new blog to create a project based on
symfony new --full blog for
But there is more. What else? Ok, let me share another one with you:
$ symfony security:check
As you might have guessed,
security:check checks your
known security vulnerabilities. But there is a twist. There is no API calls,
everything happens locally! Much friendlier than
symfony binary has no dependencies. Download it and use it right away.
On a Mac, Windows, or Linux machine. It just works!
symfony is also a great way to improve your Symfony development experience.
It includes so many valuable features. But that's of course for another ...
keynote... See you at SymfonyCon Lisbon next week for more surprises. I am
really excited. I cannot wait to show you what I've been working on for the last
And download the symfony binary to play
security:check commands. Feedback welcome!
Last thing, the SymfonyCloud team will be at SymfonyCon Lisbon 2018 next week. If you want to meet the team, see a live demo, or ask questions about Symfony or SymfonyCloud, join us there.