Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A look at serverless WordPress

A look at serverless WordPress

These are the slides from a talk given at WordCamp Asia 2023.

Some of us love to manage servers. But for a lot of WordPress developers, servers are something we’d rather avoid. We’re happy to pay hosting providers, so we don’t have to worry about it.

WordPress hosting doesn’t remove all your hosting headaches. You still have to worry about scaling. You’re often overpaying for hosting because you have to worry about the worst-case scenario.

Well, that’s what serverless WordPress tries to solve. With serverless WordPress, you only pay for what you use. Meanwhile, you get an infrastructure that can scale from handling zero traffic to thousands in seconds.

This talk will go over serverless WordPress and how it works. You’ll learn how it differs from regular WordPress hosting with a traditional server setup and why it’s a game-changer for WooCommerce hosting. We’ll finish by going over tools and projects you can use to deploy your serverless WordPress site.

Carl Alexander

February 18, 2023
Tweet

More Decks by Carl Alexander

Other Decks in Technology

Transcript

  1. A look at
    serverless
    WordPress

    View Slide

  2. 2
    Hi!
    2
    I’m Carl Alexander
    @twigpress


    carlalexander.ca

    View Slide

  3. View Slide

  4. “Servers. Can’t live with them.
    Can’t live without them.”
    - WordPress developer (when a server blows up)

    View Slide

  5. Server management

    View Slide

  6. Still responsible

    View Slide

  7. WordPress hosting

    View Slide

  8. Still need to
    over provision

    View Slide

  9. Serverless addresses
    these problems

    View Slide

  10. 1 What Is
    Serverless?

    View Slide

  11. “Are there really no servers
    with serverless!?”
    - Literally everyone I mention serverless to

    View Slide

  12. View Slide

  13. Marketing term

    View Slide

  14. Functions as a Service

    View Slide

  15. On-demand
    computing

    View Slide

  16. Upload code to a
    cloud provider

    View Slide

  17. Code gets executed in
    response to an event

    View Slide

  18. No mention of servers

    View Slide

  19. Outside your sphere
    of concerns

    View Slide

  20. 2How Does


    It Work?

    View Slide

  21. WordPress on a server

    View Slide

  22. View Slide

  23. Serverless WordPress
    is serverless PHP

    View Slide

  24. How does PHP work
    on a web server?

    View Slide

  25. View Slide

  26. How does serverless
    PHP compare?

    View Slide

  27. Both run code in
    response to an event

    View Slide

  28. So what’s different?

    View Slide

  29. Not just PHP that runs
    without a server

    View Slide

  30. Everything is
    serverless

    View Slide

  31. Service based
    architecture

    View Slide

  32. View Slide

  33. PHP runtime?

    View Slide

  34. Unique element of
    serverless PHP

    View Slide

  35. What does it do?

    View Slide

  36. Processes


    lambda event

    View Slide

  37. Figures out


    what the event wants

    View Slide

  38. Sends a result back


    (HTTP response)

    View Slide

  39. Mimics a web server

    View Slide

  40. Request a file,


    returns a file

    View Slide

  41. Creates FastCGI request,
    sends it to PHP-FPM

    View Slide

  42. Also manages


    the PHP-FPM process

    View Slide

  43. Only one


    PHP-FPM worker

    View Slide

  44. Lambda only handles
    one event at a time

    View Slide

  45. Serverless WordPress
    architecture

    View Slide

  46. View Slide

  47. 3Advantages of
    serverless

    View Slide

  48. View Slide

  49. No servers to
    manage

    View Slide

  50. Not everyone is
    comfortable with servers

    View Slide

  51. Still responsible

    View Slide

  52. WordPress hosting
    solves this issue

    View Slide

  53. New problem.
    Scaling.

    View Slide

  54. WordPress hosting
    is single server

    View Slide

  55. Each Lambda function
    is a PHP worker

    View Slide

  56. View Slide

  57. Scaling in seconds
    not minutes

    View Slide

  58. View Slide

  59. Need to plan for the
    worst with servers

    View Slide

  60. How much would
    that cost?

    View Slide

  61. None of that


    with serverless

    View Slide

  62. Usage based pricing

    View Slide

  63. Pay when your
    workers run

    View Slide

  64. Charged by


    the millisecond

    View Slide

  65. 4Drawbacks of
    Serverless

    View Slide

  66. View Slide

  67. Less predictable cost

    View Slide

  68. Paying for a server
    feels safe

    View Slide

  69. $X/month

    View Slide

  70. Need more
    performance? Pay more!

    View Slide

  71. View Slide

  72. How many requests?


    Average duration?

    View Slide

  73. Stressful and harder
    to budget for

    View Slide

  74. Costs less

    View Slide

  75. AWS lock-in

    View Slide

  76. View Slide

  77. Why not Azure or GCP?

    View Slide

  78. Not interchangeable

    View Slide

  79. Not just Lambda

    View Slide

  80. Need other services

    View Slide

  81. Equivalent ≠ Same

    View Slide

  82. Energy with AWS

    View Slide

  83. WordPress assumes
    you’re on a server

    View Slide

  84. Can’t install themes
    and plugins directly

    View Slide

  85. Media library

    View Slide

  86. WordPress plugins
    assume it too

    View Slide

  87. Potential
    compatibility issues

    View Slide

  88. 5Evaluating


    Serverless

    View Slide

  89. Tempting to only
    compare cost

    View Slide

  90. “Serverless is expensive. I
    could just get a $5/month
    droplet from DigitalOcean.”
    - Someone comfortable with servers

    View Slide

  91. Dishonest

    View Slide

  92. Intangible costs

    View Slide

  93. Mental health

    View Slide

  94. Your time

    View Slide

  95. 6Tools and


    Projects

    View Slide

  96. View Slide

  97. Serverless WordPress
    is open source

    View Slide

  98. github.com/ymirapp

    View Slide

  99. Need to fund
    development

    View Slide

  100. 100
    7
    Ymir
    https://ymirapp.com/open

    View Slide

  101. GitHub sponsor
    (github.com/carlalexander)

    View Slide

  102. 7Future of


    Hosting

    View Slide

  103. Would you buy a
    physical server?

    View Slide

  104. You get one in the cloud!

    View Slide

  105. Next step

    View Slide

  106. Serverless is


    deploy and forget

    View Slide

  107. Levels playing field

    View Slide

  108. What would you build?

    View Slide

  109. ?Questions

    View Slide

  110. 110
    Thank you!
    2
    @twigpress


    carlalexander.ca


    blog.ymirapp.com

    View Slide