I'm working on a Laravel project and I'm using Redis for caching and stuff like that, everything is fine when I'm developing it but what should I do when I deploy the project, what are the requirements to run Redis on a host.
And do the shared hosting provide me the access to Redis? I think not, I read a lot about no supporting for Redis in shared hosting, so what should I do, is there an alternative way to run Redis? or is there a shared hosting supports it, please mention it.
Any recommendations, please :(
I got one of my questions here which is, how to keep the server running forever without running it from the Terminal.
How to keep redis server running
You need to ask the provider if they support Redis.
Redis is a software that needs to be installed on the web server or any server your web server has access to. It is not possible to install this yourself on a shared hosting.
You cannot install redis by yourself. You need to ask to your hosting company if they provide redis. You might need to pay extra for that. But, It would be a rare instance if hosting company provides redis by default on shared hosting. If you want good hosting service, I would recomment digitalocean.com. They provide servers at affordable rates
Related
I have question about Shopify app development and the deployment process.
I've used the getting started guide here, and I have an app that works fine when I use npm run dev and view the app in the store admin.
However, of course, once I stop the server from running, the app is no longer accessible.
I believe I need to deploy the app to Heroku (or something similar) in order to have it work in a non-development environment.
It doesn't seem like there is much guidance online from Shopify about the best way to go about this.
Does anyone know what steps I need to take in order to deploy my app to Heroku, so that I can use the app in by test store on another device?
It seems like every guide online stops JUST BEFORE explaining this process and I can't figure out why! I have tried everything online but nothing has worked:
Adding the code to Github and connecting it to Heroku
Using Docker
Any help is appreciated. Thank you!
You have zero obligations to use Heroku. If you have an IP address dedicated to your house, you could host the App using your house. If you co-locate your own server at an Internet business, and they give you IP addresses you can use that. If you wanted to use Amazon directly, you could use EC2. If you wanted to use Linode, or Azure, or any other cloud service, feel free! It is up to you!
Using Heroku (built on AWS) is traditional only in the sense that it is the original easy peasy hosting in the cloud service. Play with Heroku by reading Heroku-specific documentation or hosting information. This has nothing to do with Shopify. Shopify only mentions Heroku because traditionally, developers used it. No other reason.
If you want to learn how to use Heroku, 100% there are blog posts within easy reach for you to study and learn from.
Can someone explain me why we need the Atlas?
If I have Heroku which gives an easier access to cloud (PaaS), then why we need MongoDB Atlas?
Some sources say that we can connect Heroku with Atlas, but why we need that? And can please someone explain me the difference, because it seems I do not understand it completely.
Will be very thankful to everyone. Articles will also be good.
Heroku is a PAAS where you can deploy your applications. Multiple languages are supported and the development experience is great (deploy from Git or using Docker, plenty of examples and documentation).
Typically your application needs a data store to persist the data, Heroku offers few options (ie Postgres) but no more MongoDB. An alternative is to use Atlas where you can define your MongoDB cluster and databases.
Both Heroku and Atlas have a free-tier so you can run both the application and the database without cost. As your database grows you might need to buy a different subscription, this applies to Heroku too if you require more resources or for example no downtime (Heroku Free tier sends the Dyno to sleep after 30 min inactivity).
A good article to use Heroku with Atlas is Detaching from mLab
So...i'm pretty new in hosting websites and horst yet with hosting in cloud services. I'm having a pretty bad time trying to host a Laravel 5.7 application in AWS and i really need some help/direction.
My situation is like this:
I have a normal Laravel 5.7 app that uses MySQL database and Laravel Queue(database type).
I need a process to constantly listen/monitor the job queue and execute them.
The thing is, i just lerned that you can't use normal hosting to do this(listen the job queue) and that i need a VPS service.
In my searches i saw that AWS have a 1 year free trial and i thought it was worth to take a look. The thing is, i started from EC2 and got as far as installing apache, mysql, php, git, etc. I made a clone of my project to the /etc/www/html and install composer dependencies... but i'm not quite understaing what to do for the app run, and in looking for tutorials everything is always differet and nothing ever works. I dont know what else to do, this is my first contact with cloud services.
That said, my question is what can i do to host my Laravel 5.7 app in amazon, and is it really the better solution for my problem ?
I am currently doing what you're trying to do. The configuration is outlined here. You will need to install supervisord. You didn't leave enough information about what type of instance you're running, so I can't get you more complete instructions, but if you follow these steps, your queue should run as expected.
Heroku is fantastic for prototyping ideas and running simple web services, I often use it to run Python web services like Flask and Django and try out ideas. However I've always struggled to understand how you can use the infrastricture to run those amazingly powerful support or utility services every startup needs in its stack. 4 exmaples of services I can't live without and would recommend to any startup.
Jenkins
Statsd
Graphite
Graylog
How would you run these on Heroku? Would it be best just getting dedicated boxes (Rackspace, e.t.c) with these support services installed.
Has anyone one run utility deamons (services) on Heroku?
There are two basic options. The first is to find or create a Heroku addon to accomplish the task. For example, there are many hosted logging solutions you can use instead of Graylog; Rails on Fire or Travis can be used instead of Jenkins. If an appropriate addon doesn't exist, you can effectively make your own by just running the service on an AWS EC2 instance.
The other alternative is to push the service into being a 12factor application so that it can run on Heroku as well. For example, you could stub out whisper's filesystem calls so that they store in a backing service instead. This is often pretty painful and brittle, though, unless you can get your changes accepted by the upstream maintainers.
you could also use another free service in conjunction with it. OpenShift has a lot of Java related build services and tools that can be added.
I am using a mix of heroku, openshift, mongolab and my own web hosting. Throw in dropbox and box for some space...
I just started learning Ruby on rails and I was wondering what Heroku really is? I know that its a cloud that helps us to avoid using servers? When do we actually use it?
Heroku is a cloud platform as a service. That means you do not have to worry about infrastructure; you just focus on your application.
In addition to what Jonny said, there are a few features of Heroku:
Instant Deployment with Git push - build of your application is performed by Heroku using your build scripts
Plenty of Add-on resources (applications, databases etc.)
Processes scaling - independent scaling for each component of your app without affecting functionality and performance
Isolation - each process (aka dyno) is completely isolated from each other
Full Logging and Visibility - easy access to all logging output from every component of your app and each process (dyno)
Heroku provides very well written tutorial which allows you to start in minutes. Also they provide first 750 computation hours free of charge which means you can have one processes (aka Dyno) at no cost. Also performance is very good e.g. simple web application written in node.js can handle around 60 - 70 requests per second.
Heroku competitors are:
OpenShift by Red Hat
Windows Azure
Amazon Web Services
Google App Engine
VMware
HP Cloud Services
Force.com
It's a cloud-based, scalable server solution that allows you to easily manage the deployment of your Rails (or other) applications provided you subscribe to a number of conventions (e.g. Postgres as the database, no writing to the filesystem).
Thus you can easily scale as your application grows by bettering your database and increasing the number of dynos (Rails instances) and workers.
It doesn't help you avoid using servers, you will need some understanding of server management to effectively debug problems with your platform/app combination. However, while it is comparatively expensive (i.e. per instance when compared to renting a slice on Slicehost or something), there is a free account and it's a rough trade off between whether it's more cost effective to pay someone to build your own solution or take the extra expense.
Heroku Basically provides with webspace to upload your app
If you are uploading a Rails app then you can follow this tutorial
https://github.com/mrkushjain/herokuapp
As I see it, it is a scalable administrated web hosting service, ready to grow in any sense so you don't have to worry about it.
It's not useful for a normal PHP web application, because there are plenty of web hosting services with ftp over there for a simple web without scalability needs, but if you need something bigger Heroku or something similar is what you need.
It is exposed as a service via a command line tool so you can write scripts to automate your deployments. Anyway it is pretty similar to other web hosting services with Git enabled, but Heroku makes it simpler.
That's its thing, to make the administration stuff simpler to you, so it saves you time. But I'm not sure, as I'm just starting with it!
A nice introduction of how it works in the official documentation is:
https://devcenter.heroku.com/articles/how-heroku-works
Per DZone: https://dzone.com/articles/heroku-or-amazon-web-services-which-is-best-for-your-startup
Heroku is a Platform as a Service (PaaS) product based on AWS, and is vastly different from Elastic Compute Cloud. It’s very important to differentiate ‘Infrastructure as a Service’ and ‘Platform as a Service’ solutions as we consider deploying and supporting our application using these two solutions.
Heroku is way simpler to use than AWS Elastic Compute Cloud. Perhaps it’s even too simple. But there’s a good reason for this simplicity. The Heroku platform equips us with a ready runtime environment and application servers. Plus, we benefit from seamless integration with various development instruments, a pre-installed operating system, and redundant servers.
Therefore, with Heroku, we don’t need to think about infrastructure management, unlike with AWS EC2. We only need to choose a subscription plan and change our plan when necessary.
That article does a good job explaining the differences between Heroku and AWS but it looks like you can choose other iaas (infrastructure) providers other than AWS. So ultimately Heroku seems to just simplify the process of using a cloud provider but at a cost.