Setting up a SP2019 environment. Documentation I found online mentions doing either Shared Minroles for all the servers or dedicated for all. My question is, can you mix them or is it one or the other? I don't see why you couldn't but before I do, I wanted to see if anyone has gone down this road before.
Example
Server 1: Front-End Minrole
Server 2: Front-End with Distributed Cache
Server 3: App w/Search Minrole
etc...
Thanks!
Have not tried the configuration yet. Researched it online but can't find a definitive answer.
Related
First of all, I'm not really sure if this question goes here in stackoverflow or if I should ask it on another place. Please if that's the case, indicate me in the right way :)
So, for context, this is an app that I was asked to develop for my job. At first I thought in doing a webapp and host it inside the company servers and domain (intranet), but it isn't possible due to external issues that I can't control.
Is there another way to achieve this? The app must have a database and should be accessible for a bunch of users at the same time.
Of course we want to spend the least amount of money possible to make this happen. Also, using a workstation of our own to host everything is not possible either.
Edit: I didn't finish developing, but for now I'm developing it in Python Flask.
The number of users is small really, just up to five people.
OK - I guess a lot of what you'll get in response to this is your definition is too vague. Things such as scale, number of users, programming languages used to create the web app etc are important when talking about hosting.
However, for me, there are three very good options out there for free hosting, up to a certain amount of traffic.
1.) Heroku - Heroku.com
A world known web hosting platform. You can publish code through GitHub, and it has some extensive coverage for different types of web apps. Definitely worth a look.
2.) Netlify - netlify.com
Similar to Heroku, but used by some major companies. Allows you to host for free to a point, and is relatively simple to get started with.
3.) Vercel - vercel.com
A bit more technical in my opinion - but again, very similar to the above two and has a free tier.
All three are great options, and I'd recommend looking into them in more detail to see what option is best for you. Can't go wrong with any of them.
I had a similar problem: A Python-Flask-SQLite app for me and my office pals to use together.
The solution was creating one .exe file with pyinstaller, hosting this and the database files in a network drive (one that everyone that will use the app has access). As everybody (~10 people) sees the same db, things works fine!
This is maybe quite a broad question and I tried to look for other stack exchanges where addressing my question would suit better – but in the end I decided that it might be still a question of a technical nature, and so I am posting it here:
I recently started to think more about privacy and security and I realized that I as a web user can only do so much about staying untracked. VPN, (slow) Tor, privacy helpers, add-blockers, Firefox are just a few tools to name, but still I realize that the information that I normally share (like installed add-ons, browser size, IP location etc.) can still very well be fingerprinted.
Normally as a web-developer I am told that we should add analytics, that we should find out more about the users to «make a better service», but I think I would like to do the opposite.
So:
Are there steps I could take, when building a website, that help the visitors to stay untracked? And I don't mean «not installing google analytics», I mean things like somehow actively messing with the statistics, so that my hosters server is incapable of tracking things correctly or similar things...
Right now I can't really think of anything, but I somehow believe that I as a person who builds bricks of the internet could and should be able to influence these kind of things directly...
For now I see the obvious things:
- not using statistic services
- use https
- not using any third party tools that might include tracking or open doors for other trackers
But still this seems to just omit the bad things, but I can't actually do active stuff...
So I would be very glad to hear your thoughts about this. (Or guide me to a place, where this discussion fits a better..)
Cheers
merc
As a web developer, you can only control your website.
Assuming you aren't caching any data or using cookies, then users shouldn't be tracked while using your website by tools like 3rd party cookies.
Here is a good article about online tracking and how it works.
As far as I know, there isn't an effective way to actively mess with tracking statistics. Your best bet is to avoid installing libraries or tools that track your users.
I need to create a chat with Socket.io Express and enabling conversations between two users per room, searching the web noticed several different ways to do there, be in no doubt that the most scalable and efficient way since the chat will have many users connected at the same time. Could anyone give me an idea or tip?
As a starting point, you might be interested in this github project and start tweaking things.
https://github.com/socketio/socket.io/tree/master/examples/chat
I see, u also asked about scalability as well. To be honest it is not possible to predict stuff like performance until u have the application up and running and has actually withness one.
If u ever got hit by one then u can always do profiling against the nodejs code and resolve the problem one by one. You can read more about how to do nodejs profiling here.
Anyway, you might also want to check the project's licensing before using it thou.
I want to apologize about my English. It's not very good.
So, I want to make a chat application (pretty much like Facebook's), and after reading a lot I decided to make this chat app with Erlang. After more reading I found out that I can use Yaws server to make a web application with Erlang, but that's all. I still can't even install and configure it well. So my questions are:
Is this information correct? Do I need Erlang / Yaws to create this chat app?
If it's correct, how do I install and configure it under Windows 7? I've tried to simply install "OTP 17.0 Windows 32-bit Binary File" from here http://www.erlang.org/download.html and "Yaws-1.98-windows-installer.exe" from http://yaws.hyber.org/download/, but I think something went wrong, because after I "configure it" at localhost port 8001/8080 or others still nothing happens. So what's next? Do I have to install my code in special directories and/or what do I have to do next ?
In case I finally get a Chat application in Erlang ready, how can It interface with my PHP code? I mean, I already have the PHP project. It is a normal web project with PHP/HTML/Javascript, etc. so my question is, how do I glue these two elements together?(I would like to stress one more time that I have to make something like the Facebook chat).
I'll be thankful for all kind of information, tutorials, books, videos, anything.
I agree with you, Erlang is an excellent option for a chat server. If you want to go for Yaws, check the documentation, it support external scripts via CGI and Websockets. All the information you need to communicate your PHP application with your chat Application is on chapter 9 of yaws' pdf documentation.
There are many ways to create a web application in Erlang. Here are some old examples that use mochiweb:
http://pragprog.com/screencasts/v-kserl/source_code
http://www.chrismoos.com/2009/09/28/building-an-erlang-chat-server-with-comet-part-1/
and a nice example from erlang central
Regarding the PHP integration,there are again, several ways to communicate both. You can integrate the chat with your PHP code using a PHP Erlang bridge
or using websockets
or probably you could try to send your data encoded in JSON from mochiweb using mochijson2.erl and communicate both by HTTP using curl from PHP.
All in all, I would probably also use yaws since is well documented and easy to use. Good luck
I've been reading up on a few node tutorials but there are a couple of best/common practices that I would like to ask about for those out there that have built real node apps before.
Who do you run the node application as on your linux box? None of the tutorials I've read mention anything about adding a node user and group so I'm curious if it's because they just neglect to mention it or because they do something else.
Where do you keep your projects? '/home/'? '/var/'?
Do you typically put something in front of your node app? Such as nginx or haproxy?
Do you run other resources, such as storage(redis, mongo, mysql, ...), mq, etc..., on the same machine or separate machines?
I am guessing this question is mostly about setting up your online server and not your local development machine.
In the irc channel somebody answered the same question and said that he uses a separate user for each application. So I am guessing that this is a good common practice.
I mostly do /home/user/apps
I see a lot of nginx examples so I am guessing that is what most people use. I have a server with varnish in front of the a node.js application and that works well and was easy to setup. There are some pure node.js solutions but for something as important as your reversed proxy I would go for something that is a little more battle-tested.
To answer this correctly you probably have to ask your self. What are my resources? Can I afford many small servers? How important is your application? Will you lose money if your app goes down?
If you run a full stack on lets say one VPS then if there is a problem with that VPS then only one of your apps is affected.
In terms of maintenance having for example one database server for multiple apps might seem attractive. You could reason that if you need to update your database to patch a security hole you only need to do it in one place. On the other hand you now have a single point of failure for all the apps depending on that database server.
I personally went for many full stack server and I am learning how to automate deployment and maintenance. Tools like Puppet and Chef seem to be really helpful for this.
I only owned my own Linux servers for the last 3 months and have been a Linux user for 1.5 years. So before setting up a server park based on these answers make sure you do some additional research.
Here's what I think:
Using separate user for each app is the way I'm doing this.
I keep it in /home/user/ to make sure that only user (and root of course) has access to the app.
Some time ago I've created my own reverse proxy in Node JS based on node-http-proxy module. If you don't want to use reverse proxy then there's no point in putting anything in front of Node. There's even more: it may harm the app, since for example nginx can't use HTTP/1.1 (at least at the moment).
All resources I run on the same machine. Only when I actually need to distribute my app between separate machines I start thinking about seperate machines. There's no need to preoptimize. App's code is a different thing, though.
Visit the following links::
nettuts
nodetuts
lynda nodejs tutorials
Best practice seems to be to use the same user/group as you would for Apache or a similar web server.
On Debian, that is www-data:www-data
However, that can be problematic with some applications that might require higher permissions. For example, I've been trying to write something similar to Webmin using Node and this requires root permissions (or at least adm group) for a number of tasks.
On Debian, I use /var/nodejs (I use /var/www for "normal" web applications such as PHP)
One of the reasons I'm still reluctant to use Node (apart from the appalling lack of good quality documentation) is the need to assign multiple IP Ports when running multiple applications. I think that for any reasonably sized production environment you would use virtual servers to partition out the Node server processes.
One thing that Node developers seem to often forget is that, in many enterprise environments, IP ports are very tightly controlled. Getting a new port opened through the firewall is a very painful and time-consuming task.
The other thing to remember if you are using a reverse proxy is that web apps often fail when run from behind a proxy - especially if mapping a virtual folder (e.g. https://extdomain/folder -> http://localhost:1234), you need to keep testing.
I'm just running a single VPS for my own systems. However, for a production app, you would need to understand the requirements. Production apps would be very likely to need multiple servers if only for resilience and scalability.