{"id":15002339,"url":"https://github.com/mramshaw/meatballs","last_synced_at":"2026-02-25T11:38:34.206Z","repository":{"id":92905285,"uuid":"244975317","full_name":"mramshaw/Meatballs","owner":"mramshaw","description":"Exploring deployment options in the Cloud","archived":false,"fork":false,"pushed_at":"2022-12-21T19:29:15.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-18T12:15:35.736Z","etag":null,"topics":["bitbucket-cloud","cloud-deployment","deployment","heroku","heroku-deployment","jam-stack","jamstack","netlify","netlify-deployment","serverless"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mramshaw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-04T18:32:20.000Z","updated_at":"2022-11-29T18:35:04.000Z","dependencies_parsed_at":"2023-04-29T00:56:24.399Z","dependency_job_id":null,"html_url":"https://github.com/mramshaw/Meatballs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mramshaw%2FMeatballs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mramshaw%2FMeatballs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mramshaw%2FMeatballs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mramshaw%2FMeatballs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mramshaw","download_url":"https://codeload.github.com/mramshaw/Meatballs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243146275,"owners_count":20243666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitbucket-cloud","cloud-deployment","deployment","heroku","heroku-deployment","jam-stack","jamstack","netlify","netlify-deployment","serverless"],"created_at":"2024-09-24T18:49:42.337Z","updated_at":"2025-10-29T16:42:22.107Z","avatar_url":"https://github.com/mramshaw.png","language":null,"readme":"# Meatballs\n\nExporing deployment options in the Cloud (mainly from the context of deploying React and Vue apps)\n\n[Full disclosure: I have never seen \"Cloudy with a Chance of Meatballs\" but the title stuck with me.]\n\n## Motivation\n\nWhile researching competitors to AWS S3 for hosting my [ReactAWS](http://github.com/mramshaw/ReactAWS)\nrepo, I ended up trying out many of them. Which didn't really fit into the goals of that particular\nproject - which was to explore deploying a minimal React scaffold to AWS.\n\n## Cloud Deployment Options\n\nDepending upon your deployment requirements, any of the following may be an option:\n\n* [Bitbucket Cloud](#bitbucket-cloud)\n* [Firebase](#firebase)\n* [GitHub Pages](#github-pages)\n* [GitLab Pages](#gitlab-pages)\n* [Heroku](#heroku)\n* [Netlify](#netlify)\n* [Render](#render)\n* [Stackbit](#stackbit)\n* [Surge](#surge)\n* [Zeit](#zeit)\n\n[Many of them have free options. Most will require installing a CLI tool.]\n\n#### Bitbucket Cloud\n\n[Bitbucket Cloud](http://confluence.atlassian.com/bitbucket/publishing-a-website-on-bitbucket-cloud-221449776.html)\nis a Bitbucket option (Bitbucket is one of the Atlassian companies).\n\nLike both GitHub and GitLab, Bitbucket has a deployment option.\n\n#### Firebase\n\n[Firebase](http://firebase.google.com/) was acquired by Google in 2014.\n\n\u003e Firebase helps mobile and web app teams succeed\n\nFrom: http://firebase.google.com/\n\nFeatures [React Firebase](http://react-firebase-js.com/).\n\nDefinitely worth a look for ___Mobile___, known for authentication and Crashlytics.\n\nAs perhaps might be expected, their [firebase CLI](http://firebase.google.com/docs/cli#setup_update_cli) is exceptionally useful.\n\nCheck out my demo [Vue.js](http://vuejs.org/) app deployed to Firebase at: https://vuerender-f8354.web.app/ or https://vuerender-f8354.firebaseapp.com/\n\n#### GitHub Pages\n\n[GitHub Pages](http://pages.github.com/) are pretty straightforward.\n\nCheck out my [Corkboard repo](http://github.com/mramshaw/Corkboard) deployed on GitHub Pages: https://mramshaw.github.io/Corkboard/\n\n#### GitLab Pages\n\n[GitLab Pages](http://docs.gitlab.com/ee/user/project/pages/)\nseem to be pretty much the same thing as __GitHub Pages__, but for ___GitLab___ of course.\n\n#### Heroku\n\n[Heroku](http://www.heroku.com/) is owned by Salesforce.com and offers a number of attractive services.\n\nIt uses containers, which are referred to as `dynos`: http://www.heroku.com/dynos\n\nDeploying to Heroku can be a little bit complicated.\n\n#### Netlify\n\n[Netlify](http://www.netlify.com/) is very easy to use, so a pretty good option.\n\nOf course, Netlify are known for defining [Jamstack](#jamstack).\n\nSo, not surprisingly, Netlify is really optimal for [Jamstack](#jamstack) deployments.\n\nCheck out my [ReactAWS](http://github.com/mramshaw/ReactAWS) scaffold\ndeployed on Netlify: https://compassionate-sinoussi-40e0e0.netlify.com/\n\n#### Render\n\n[Render](http://render.com/) seems to be an interesting alternative to __Heroku__, probably worth investigating.\n\nThey offer a summary of how Render differs from Heroku:\n\n    http://render.com/render-vs-heroku-comparison\n\nOne difference:\n\n\u003e Heroku customers running production and staging workloads typically see cost reductions of\n\u003e __over 50%__ after switching to Render\n\nAnd:\n\n\u003e Heroku [serves all content over HTTP/1.1](http://help.heroku.com/JAOCNZ25/does-heroku-have-plans-to-support-http-2).\n\u003e However, major browsers have supported [HTTP/2](http://en.wikipedia.org/wiki/HTTP/2) since 2015. Render serves all\n\u003e requests over HTTP/2, falling back to HTTP/1.1 for older clients. This minimizes simultaneous connections to your\n\u003e Render apps and reduces page load times for all your users.\n\n[Both quotes are from the Render web page. Other differences between the two services are also listed.]\n\nNote that Render can integrate with either a GitHub repo or a GitLab repo.\n\nThese appear to be the only deployment options available (for now?).\n\nApart from the GitHub / GitLab root repo proviso, seems like a nice service.\n\nNote that - at the ___free___ level - the `Let's Encrypt` site certificate expires in three (3) months.\n\n#### Stackbit\n\n[Stackbit](http://www.stackbit.com/) describe themselves as:\n\n\u003e THE BEST WAY TO JAMSTACK\n\n[I am including them here for completeness, but they are probably only for [Jamstack](#jamstack) deployments.]\n\n#### Surge\n\n[Surge](http://surge.sh/) appears to be for __static__ websites only, so perhaps not suitable for React.\n\nSurge describes themselves as:\n\n\u003e Static web publishing for Front-End Developers\n\nFrom: http://surge.sh/\n\n[Note the __Static__ part.]\n\nAnd:\n\n\u003e Surge has been built from the ground up for [native web application](http://blog.andyet.com/2015/01/22/native-web-apps)\n\u003e publishing and is committed to being the best way for Front-End Developers to put HTML5 applications into production.\n\nFrom: http://surge.sh/help/getting-started-with-surge\n\n#### Zeit\n\n[[Zeit](http://zeit.co/) is sometimes referred to as simply __Now__.]\n\n\u003e ZEIT Now is a cloud platform for static frontends and serverless functions.\n\u003e It enables developers to host websites and web applications that deploy\n\u003e instantly, scale automatically, and require no supervision.\n\nFrom: http://github.com/zeit/now/tree/master/examples\n\n## Reference\n\nSome useful reference notes follow.\n\n#### Jamstack\n\n[Jamstack](http://en.wikipedia.org/wiki/Netlify#Jamstack) (formerly known as JAMstack) is an architecture\ndefined by Mathias Biilmann (CEO \u0026 Co-founder of Netlify):\n\n\u003e A modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup\n\n[The JAM in Jamstack stands for Javascript, APIs, and Markup. So ... somewhat more than a __static__ website.]\n\n\u003e  It’s a new way of building websites and apps that delivers better performance, higher security,\n\u003e lower cost of scaling, and a better developer experience.\n\nFrom: http://jamstack.org/\n\nCheck out Jamstack examples here: http://jamstack.org/examples/\n\n[Incidentally, Jamstack sites are considered by AWS to be\n[well-architected](http://aws.amazon.com/blogs/apn/the-5-pillars-of-the-aws-well-architected-framework/).]\n\nTo achieve optimal efficiency and cost reduction, Jamstack sites require a __CDN__.\n\nJamstack sites are __serverless__:\n\n\u003e The thing that they all have in common is that they don’t depend on a web server.\n\nFrom: http://jamstack.org/\n\nWhile Jamstack sites are effectively serverless, Jamstack ___itself___ is not considered to be serverless.\n\n## To Do\n\n- [x] Add links to a Vue.js app deployed on Firebase\n- [x] Add link to a React.js app deployed on GitHub Pages\n- [x] Add more details on Render versus Heroku\n- [x] Remove link to deleted Heroku deployment (Heroku is no longer free)\n- [x] Remove link to deleted Render deployment\n- [ ] Investigate [Twelve-factor](http://12factor.net/) options\n- [ ] Add more notes on cloud deployment options\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmramshaw%2Fmeatballs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmramshaw%2Fmeatballs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmramshaw%2Fmeatballs/lists"}