Feed powered byStream Blue Logo Copy 5
nginx

nginx

Application and Data / Application Hosting / Web Servers

Decision at Raygun about AWS Elastic Load Balancing (ELB), Amazon EC2, nginx, Amazon RDS, Amazon S3, LoadBalancerReverseProxy, CloudStorage, WebServers, CloudHosting

Avatar of CmdrKeen
Co-founder & CEO at Raygun ·
AWS Elastic Load Balancing (ELB)AWS Elastic Load Balancing (ELB)
Amazon EC2Amazon EC2
nginxnginx
Amazon RDSAmazon RDS
Amazon S3Amazon S3
#LoadBalancerReverseProxy
#CloudStorage
#WebServers
#CloudHosting

We chose AWS because, at the time, it was really the only cloud provider to choose from.

We tend to use their basic building blocks (EC2, ELB, Amazon S3, Amazon RDS) rather than vendor specific components like databases and queuing. We deliberately decided to do this to ensure we could provide multi-cloud support or potentially move to another cloud provider if the offering was better for our customers.

We’ve utilized c3.large nodes for both the Node.js deployment and then for the .NET Core deployment. Both sit as backends behind an nginx instance and are managed using scaling groups in Amazon EC2 sitting behind a standard AWS Elastic Load Balancing (ELB).

While we’re satisfied with AWS, we do review our decision each year and have looked at Azure and Google Cloud offerings.

#CloudHosting #WebServers #CloudStorage #LoadBalancerReverseProxy

19 upvotes·1.7K views

Decision about nginx, Webpack, Vue.js, Framework7, npm, MySQL, Ubuntu, Node.js, Plaid, Framework7, HapiJS, Lenovo

Avatar of mbplautz
nginxnginx
WebpackWebpack
Vue.jsVue.js
Framework7Framework7
npmnpm
MySQLMySQL
UbuntuUbuntu
Node.jsNode.js
#Plaid
#Framework7
#HapiJS
#Lenovo

I just designed, developed, and deployed my own budgeting app, dailybudget.cc, which allows me to automate my budgeting the way I have always done it, in a way that I could never fully capture with other budgeting apps, such as Mint, EveryDollar, or YNAB. I spent 4 years from the time I first had the idea to the time I actually sat down to design it and start development. During this time I evaluated many other budgeting app solutions, and had even architected a prototype that I never ended up using. But boy, have technologies come much further in 4 years.

Though my first prototype used Java and Tomcat, I completely abandoned those 4 years later in favor of Node.js technologies, which I have found are equally as stable, more flexible (for better or for worse), and capable of significantly more rapid development. Since what I have deployed now is in beta and is primarily for limited user use, I favored rapid development over slower development where I would write more automated unit tests. I chose to build the app as a HTML5 web application (rather than native iOS or Android, for now), and I used a separated API backend/Web frontend model. My target platform for use with the app is mobile handheld touch devices, though it can work on any laptop or desktop with a touchscreen. Given these design targets, many of the technologies I chose were because of familiarity with them as well as a strong online community, and some technologies I chose that I had to learn anew, because they appeared to fit my needs.

My entire app runs on a #lenovo IdeaCentre desktop on my home network, on which I have installed Ubuntu 18.04. Ubuntu is something I have switched to after a long time of use and familiarity with RedHat Enterprise Linux and CentOS, because the online support for Ubuntu is now tremendous, and there is so much documentation and examples online of how to configure and use Ubuntu; not to mention I have not been thrilled with the direction new releases of CentOS. Ubuntu is also a good environment for development - it is so easy to follow the many online examples. Lastly, I may migrate my app and configuration to Amazon AWS, which also uses Ubuntu for its EC2 Linux VMs, so having Ubuntu now is helpful for that prospect.

The API backend uses Node.js, with #HapiJS as the API server framework and MySQL as my persistence database. HapiJS is something I have had familiarity with and is just a phenomenal framework to plug into and configure, especially if you use it for a route-based API. #Mysql has a great online community. I could've used PostgreSQL too, but I am more familiar with MySQL. Also, if I migrate to Amazon AWS, Amazon's RDS uses MySQL. I use npm as a one-stop-shop package manager and environment manager.

The Web frontend uses a combination of Framework7 and Vue.js. I cannot evangelize Framework7 enough! It is a fantasic tool by @nolimits4web (GitHub) that is really easy to use, really well thought out, and really performant. Framework7 simulates the native iOS or Android (Google Material) experiences, all using HTML5 constructs (HTML+CSS+JS). Vue.js is another very fantastic binding and frontend framework which has a good online community and is well documented and easy to use. I had to choose between VueJS and ReactJS, and ultimately chose VueJS over ReactJS because it seemed to favor more rapid development with less ramp-up time, whereas I understood ReactJS to be more of an enterprise level framework (though still good for smaller projects like mine). When using Framework7 with VueJS, NodeJS is used along with Webpack to transpile my code into browser-friendly JavaScript, HTML, etc. Webpack was nice to use because it has a hot-deploy development mode to enable rapid development without me having stop, recompile, and start my server (this was one of several reasons against using Java with Tomcat). I had no familiarity with Framework7, VueJS, or Webpack prior to this project.

I use nginx as my web server and have the API running behind a reverse proxy, and all of the web frontent content hosted as static content.

I use the plaid API to sync my bank transactions to my database. This is another fantastic framework (though not free beyond development use) that it turns out is extremely easy to use for the complex job that it solves.

5 upvotes·5.9K views

Decision at Zulip about Apache HTTP Server, nginx

Avatar of tabbott
Founder at Zulip ·
Apache HTTP ServerApache HTTP Server
nginxnginx

We've been happy with nginx as part of our stack. As an open source web application that folks install on-premise, the configuration system for the webserver is pretty important to us. I have a few complaints (e.g. the configuration syntax for conditionals is a pain), but overall we've found it pretty easy to build a configurable set of options (see link) for how to run Zulip on nginx, both directly and with a remote reverse proxy in front of it, with a minimum of code duplication.

Certainly I've been a lot happier with it than I was working with Apache HTTP Server in past projects.

3 upvotes·6.4K views

Decision at Kong about Go, Lua, OpenResty, nginx, Logstash, Prometheus

Avatar of hbagdi
GoGo
LuaLua
OpenRestyOpenResty
nginxnginx
LogstashLogstash
PrometheusPrometheus

At Kong while building an internal tool, we struggled to route metrics to Prometheus and logs to Logstash without incurring too much latency in our metrics collection.

We replaced nginx with OpenResty on the edge of our tool which allowed us to use the lua-nginx-module to run Lua code that captures metrics and records telemetry data during every request’s log phase. Our code then pushes the metrics to a local aggregator process (written in Go) which in turn exposes them in Prometheus Exposition Format for consumption by Prometheus. This solution reduced the number of components we needed to maintain and is fast thanks to NGINX and LuaJIT.

2 upvotes·6.5K views

Decision at PushBots about HAProxy, nginx

Avatar of AbdullahDiaa
CTO at PushBots ·
HAProxyHAProxy
nginxnginx

We've switched our static pages from nginx to HAProxy. Using stick tables, traffic rules and ACLs allowed us to have better control over our traffic while load balancing. Also, performance gain with latency, threads, and processes.

2 upvotes·632 views

Decision about nginx, Kong

Avatar of jharitesh108
nginxnginx
KongKong

I use Kong because of following reasons. (1) reliability (2) great community supports (3) ease of using plugins (4) surfaced free benefits of nginx

2 upvotes·206 views

Decision about nginx

Avatar of cwells
nginxnginx

I use nginx because of its efficient use of resources, straightforward configuration, and well-targeted feature set. It also has an excellent track record with regard to security.

1 upvote·217 views

Decision about nginx

Avatar of kworthington
nginxnginx

I use nginx because it is fast, flexible, lightweight in terms of memory and CPU usage, and it's open source. I love the fact that it is easy to configure and that there is such a large community of users who are helpful and have written great tutorials on many nginx topics.

1 upvote·166 views