Having used a lot of scripting languages, it's pretty simple to make a change. No compilation necessary.
But now I have an ASP.Net C# application. It's small, so I can learn from it, but how do I make changes when they are small? For example, say I need to add a column to the API. I forgot one.
What do I do? The application is one DLL. I can add it and create the site and get away with it because it is a small application.
What if it is an entire Intranet? Lots of things going on. How do I structure this and maintain it?
If I have an HR, Board, Committee, Management, etc., are they all different DLLs, all different ASP.Net Visual Studio projects? It gets even more complex if I use Razor (I think) because I should probably use VS for that front end as well.
What do I do when I make changes? Is this what Continuous Integration is for?
I have read this, but I'm not sure it answers my question.
-
1You should check out orchardproject.net. Orchard has a reputation for being very well organized.Robert Harvey– Robert Harvey2017年03月28日 17:53:29 +00:00Commented Mar 28, 2017 at 17:53
-
Actually, I have been doing that. I read that somewhere else on SO.johnny– johnny2017年03月28日 20:15:39 +00:00Commented Mar 28, 2017 at 20:15
1 Answer 1
Well, mainly, it depends on how large you're.
If you're aiming for medium-large (peaks to 500 concurrent users give or take), i would tell you to go micro-services instead of a monolith. Check out DDD, and other project organization strucutures...
But, answering your questions directly, when you make a change on your code, you have to redeploy, which, yes, means opening up the server somehow and replacing the dll and running a IISRestart... There are tools to help you do that.
Continuous integration covers that, but the tools you're looking for here is continuous deployment tools, where, for example, upon committing/checking-in the tools (such as TFS, or GIT+Jenkins, or others) will compile your code, run your tests, do whatever else you want, and then deploy your code to production all-at-once or piece-by-piece...
The main thing is that there is no right or wrong here. There are solutions/techniques that best fit your needs or not...
-
My problem with Microservices are transactions and data-integrity. I will look at the other things you mentioned. Thanks.johnny– johnny2017年03月28日 20:23:54 +00:00Commented Mar 28, 2017 at 20:23
-
@johnny data-integrity is indeed a problem, but transactions should not be. It's not ideal but WCF/MSMQ accepts "TransactionScope" for example... the better option here is to not have transactions at allLeonardo– Leonardo2017年03月28日 21:22:10 +00:00Commented Mar 28, 2017 at 21:22
Explore related questions
See similar questions with these tags.