I have a web application deployed under an Elastic Beanstalk environment. The EB environment platform is .NET/IIS.
I am looking for a way to change IIS web site bindings without using a remote desktop connection.
I think this should be possible through configuration files (ebextensions) or through the AWS CLI. However, I'm not able to find any documentation on this.
Is this possible at all and could somebody give the way to do it?
Thank you!
Related
I have a droplet in Digital Ocean with Ubuntu 20.04 and a .NET Core web application that connects to Mongo.
My deployment workflow is the following:
I work locally with Visual Studio and release my app to a folder.
Then I connect to my server through FTP and drag the content of my folder to /var/www/myapp
Secrets are managed by Azure (it took me a lot of time to set this up).
A service runs the app and restarts it if needed.
The web server is Nginx
Everything works fine, nothing new so far. However, I'd like to automate each deployment and I found GitLab can run a pipeline to help me achieve that. The problem is I don't understand how to set this up correctly since I've seen there are more partes involved, such as Docker and Kubernetes, and I feel a bit overwhelmed.
Do I need to "dockerize" my application, database, etc.? If I want to add Angular as the client side, do I need to dockerize it as well or it goes in the same container as the .NET Core app?
Do I need Kubernetes? If so, why?
What would be the most straightforward and recommended way of achieving a CI/CD for my app?
It took me a lot of effort to deploy to my Linux server and I'm afraid I can destroy something in production.
I would really appreciate any help.
Note: because there is no windows hosting that satisfies me at the moment, I'm developing my application in PHP and host them on a linux VPS.
Since Windows Server 2016 supports Docker and you are able to create .net 4.5 images, I thought why not review my applications and hosting plans.
Because I'm not a fan of hosting websites directly on a VPS with IIS (setup and configuration seems clumsy), I thought this "infrastructure" seems ideal for me.
A Windows 2016 VPS
A Linux based VPS
For each asp.net application, create a docker image based on microsoft/iis. This means that for the application, there is nothing left to be configured, right? This application will run on the Windows 2016 server.
On the Linux VPS, I will have nginx configured to have all the configuration for SSL certificates and optimizations. Nginx will have proxies that point to the Windows 2016 VPS on specific ports for the different applications.
I think this architecture has scaling possibilities, less configuration on the Windows VPS, more room for improvement? It should even be possible to do this with Ansible if I'm not wrong.
I only need hosting, nothing related to email, ftp, ... That's why I'm not using shared and/or cloud hosting.
Does this architecture seem fine?
Am I missing something?
Would you still just use a Windows VPS for hosting asp.net applications, even if this architecture is possible?
Does this all seem possible with Ansible? I only have basic experience with it.
I don't see anything wrong in your proposal. Remember you can use ansible inside the Linux image's Dockerfile. Maybe you can find that it is an overkill but it should work.
Probably you will find some problems linking your Linux / Windows containers. But I don't see anything short stopping.
Go ahead and post your results. Also if you encounter some walls just ask here and we will try to help.
Regards
because there is no windows hosting that satisfies me at the moment, I'm developing my application in PHP and host them on a linux VPS.
Would you mind telling us a bit about your requirement of Windows Hosting?
For each asp.net http://asp.net/ application, create a docker image based on microsoft/iis. This means that for the application, there is nothing left to be configured, right?
Once fully functional pre-configured image is prepared, you don't have to perform any other changes to your main image. The main image is only modified when you want to update any application in the image or looking to make any changes or update Windows OS.
Does this architecture seem fine?
NGINX reverse proxy works with IIS backend, so, this proposed architecture is achievable. Initial setup of connecting Linux VPS NGINX web server to individual Windows docker image is slightly complex. If you are successful doing that, the next challenge will be adding subsequent dockers to Windows Hyper-V. Here, I don't see actual purpose of using Docker images to host ASP.Net http://asp.net/ applications, when you can easily deploy pre-installed VMs through Windows HyperVisor.
As far as Ansible is concerned, I don't have much idea about this product, but as seen on their website Ansible can automate the dockers.
I am looking for some advices about deploying a Symfony2 web application. I got introduce to Amazon EC2 few days ago and we decided to use it to deploy our app.
Actually I am basically looking for a well set up AMI to get start. I have been quite disapointed that the Elastic Beanstalk doesn't have a native support for PHP based apps.
I have been developping on a wamp server and and my app will communicate with an Oracle database also in Amazon RDS (that's why we choose Amazon ).
I have checked this website http://bitnami.org/cloud/bitnami-applications-in-the-cloud that provides a Lamp stack. What do you think about it? The point is that I am not used to Unix base OS and I would appreciate an AMI that doesn't need many configurations.
Thanks,
Swordi
Elastic Beanstalk now provides direct support for PHP.
Bitnamis CloudImages are pretty solid and well maintained, so it's an easy way to get your server up and running without too much headache as Unix beginner. Maybe their Cloud Hosting is an option, too.
On the other hand it's good to know what's powering your web applications and how this "stuff" works. Take a look at this article about building a LAMP on EC2: Building EC2 Amazon Linux with LAMP.
You can also go with this tutorial:
"Running phpMyAdmin On Nginx (LEMP) on Debian Squeeze / Ubuntu" in conjunction with Debian or Ubuntu CloudImages.
Hope that helps :)
I'm a developer now developing my startup. I really don't know much about IIS setup. I will host my startup on Amazon EC2. And I want to know how can I scale my application if my traffic increase. I been reading about MS Deploy and Web Farm Framework here: https://serverfault.com/questions/127409/iis-configuration-synchronization-for-web-server-farm . And I want a simple architecture, with not to much configuration. So I been looking an experience with an IIS web farm and Amazon ELBs. And I did not find any one.
So the question is:
It is possible to make a IIS web farm with Amazon ELBs?
Any experience on Ec2? IIS web deploy or WFF and/or without ELBs?
What you recommend for an easy web farm setup?
You can do almost anything you want with IIS on EC2. They are full servers (well window 2k8 datacenter edition) and you can open any ports you need to communicate between servers. Here is an explicit tutorial on how to set up WFF, for example, on EC2.
The question is, are you sure you need to build a web farm? If you simply want to have multiple servers running your code then you can accomplish this without anything more than IIS and the tools that EC2 provides.
You build your app so it uses shared resources (like a session state server, central location for storing user uploaded content), configure a server the way you like it, and capture a server image (AMI). You use this image when you configure AutoScaling to launch new instances based on server metrics (like CPU usage), and they would be automatically added to the load balancer when launched.
The last challenge is ensuring servers launched automatically are running your latest code. You can write a custom program to get the latest code from somewhere (like SVN) on server startup, or you can use something much simpler like Dropbox to handle the synchronization.
I have a web application deployed on heroku. I just introduced Neo4j as data structure and, of course, I have to integrate it in production on heroku. I read on this link http://wiki.neo4j.org/content/Neo4j_Heroku_Addon that the heroku addon for neo4j is currently on beta testing. So have looked for alternative ways and I found this link: http://wiki.neo4j.org/content/Neo4j_in_the_Cloud ... do you know if it's possible to include such integration on heroku without the addon ?Tnx
If you are a registered beta tester on heroku you can already use the add-on for free.
Of course if you want to run the Neo4j REST server on your own aws ec2 instances you can do that easily (there are also preconfigured AMI's). Please make sure that your ec2 instances run in the aws us-east region as this is where heroku's machines are located too.