Click here to Skip to main content
15,888,113 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Another Azure (and Microservice) question Pin
RickZeeland29-Apr-20 19:36
mveRickZeeland29-Apr-20 19:36 
GeneralRe: Another Azure (and Microservice) question Pin
Super Lloyd29-Apr-20 19:52
Super Lloyd29-Apr-20 19:52 
GeneralRe: Another Azure (and Microservice) question Pin
RickZeeland29-Apr-20 20:50
mveRickZeeland29-Apr-20 20:50 
GeneralRe: Another Azure (and Microservice) question Pin
Super Lloyd29-Apr-20 21:30
Super Lloyd29-Apr-20 21:30 
GeneralRe: Another Azure (and Microservice) question PinPopular
Sander Rossel29-Apr-20 23:02
professionalSander Rossel29-Apr-20 23:02 
GeneralRe: Another Azure (and Microservice) question Pin
Super Lloyd30-Apr-20 0:55
Super Lloyd30-Apr-20 0:55 
GeneralRe: Another Azure (and Microservice) question Pin
Super Lloyd30-Apr-20 1:09
Super Lloyd30-Apr-20 1:09 
GeneralRe: Another Azure (and Microservice) question Pin
Sander Rossel30-Apr-20 2:00
professionalSander Rossel30-Apr-20 2:00 
Alright, I hear what you're saying and I'm going to write another long reply about it Wink | ;)
You're saying, what if I have a server with 20 busy processes?
The obvious fix would be to get a new server and move a couple of processes to the new server (if possible).
That fixes the CPU issue, but your database is still a single point of failure.
Correct me if I got that wrong.

Before continuing, let me say this, fixing performance issues is rarely easy.
You may be able to buy a bigger server now, but the problem will come back when you get more users.
The issue is most likely caused by some hard to fix part of the software, like a particular database schema or a piece of code that ties various parts of the application together.
Azure won't magically fix your problems, but neither will not going to Azure.
In the end, Azure is a tool that may or may not work for you, but it does have some benefits over on-premises hardware.
Especially when you need big hardware, Azure is not necessarily cheaper.

Back to microservices.
Using a microservice architecture, every service has their own data store.
The benefit of this, is that every service can use the store that best fits its needs.
And of course that your single point of failure is gone, and that's one that makes this complex architecture worthwhile for many companies.
The downside is, obviously, that it adds a lot of complexity and possibly costs.
Furthermore, in practice, all of the services will probably use the database you're most familiar with anyway, say SQL Server.
That's really a trade-off and every team will have to decide if it's worth it, but it's always a possibility.

So, again, say that out of those 20 processes you have, one is particularly busy and could keep a server busy by itself.
You can opt to give this particular service its own data store if that's the problem.
Of course you will need to come up with some way to sync that data store with your other data store.
If it's a web service you could always provide the necessary data and then save the data it returns (sort of caching, I guess).
You could work with queues or events, but I really can't make that decision for you.
In any case, you'll have some work on your hands there.
My former recommendations also still stand, you can auto-scale it using Azure and use a load balancer (included with App Services).
Or if it's an autonomous process you could spin up an Azure Function and let that handle the scaling up and down.

You say you currently have one big application and bringing it to Azure would bring no benefits.
This approach is also called lift and shift, and indeed brings few benefits to the table.
You may be able to do some scaling, if your application can handle running multiple processes to begin with.

Doing some refactoring and running your application in an Azure App Service could be rewarding.
It has auto scale and deployment becomes a lot easier.
You can also think about migrating your database to Azure (SQL Server, PostgreSQL and MariaDB have PaaS offerings in Azure), but that could be expensive.
This approach takes a little more effort as well.

You could rearchitect your application so that you can host various parts of the application in cloud-native solutions such as App Services, Functions, Azure SQL and Service Bus.
The effort here could be considerable, but you could get a lot more benefits like easy deployment and (auto-)scaling.

If you really want to go cloud native and get the most out of the cloud you could do a complete rewrite, but that's expensive and costs a lot of effort.
I say most likely not worth it, but you could consider it.

You could check out a book I co-authored, Migrating Applications to the Cloud with Azure (see my signature).
It's a bit of self promotion, but it discusses the rehost, refactor, rearchitect and rewrite strategies in a bit more depth and it also discusses various (cloud-native) technologies you could use.
Hopefully this answers your questions Smile | :)

GeneralRe: Another Azure (and Microservice) question Pin
Super Lloyd30-Apr-20 2:43
Super Lloyd30-Apr-20 2:43 
GeneralRe: Another Azure (and Microservice) question Pin
Sander Rossel30-Apr-20 2:54
professionalSander Rossel30-Apr-20 2:54 
GeneralRe: Another Azure (and Microservice) question Pin
Super Lloyd30-Apr-20 3:00
Super Lloyd30-Apr-20 3:00 
GeneralRe: Another Azure (and Microservice) question Pin
ZurdoDev30-Apr-20 1:16
professionalZurdoDev30-Apr-20 1:16 
GeneralRe: Another Azure (and Microservice) question Pin
Andreas Mertens30-Apr-20 3:38
professionalAndreas Mertens30-Apr-20 3:38 
GeneralRe: Another Azure (and Microservice) question Pin
Sander Rossel30-Apr-20 4:14
professionalSander Rossel30-Apr-20 4:14 
GeneralRe: Another Azure (and Microservice) question Pin
Andreas Mertens30-Apr-20 6:07
professionalAndreas Mertens30-Apr-20 6:07 
Generalsend private email codeprject member Pin
pkfox29-Apr-20 9:32
professionalpkfox29-Apr-20 9:32 
GeneralRe: send private email codeprject member Pin
OriginalGriff29-Apr-20 9:48
mveOriginalGriff29-Apr-20 9:48 
GeneralRe: send private email codeprject member Pin
pkfox29-Apr-20 10:07
professionalpkfox29-Apr-20 10:07 
GeneralRe: send private email codeprject member Pin
Nelek29-Apr-20 9:49
protectorNelek29-Apr-20 9:49 
GeneralRe: send private email codeprject member Pin
pkfox29-Apr-20 10:08
professionalpkfox29-Apr-20 10:08 
NewsAt the risk of approaching 'political' Pin
Kent Sharkey29-Apr-20 9:09
staffKent Sharkey29-Apr-20 9:09 
GeneralRe: At the risk of approaching 'political' Pin
Ron Anders29-Apr-20 9:37
Ron Anders29-Apr-20 9:37 
GeneralRe: At the risk of approaching 'political' Pin
W Balboos, GHB29-Apr-20 10:30
W Balboos, GHB29-Apr-20 10:30 
GeneralRe: At the risk of approaching 'political' Pin
Mike Hankey29-Apr-20 11:33
mveMike Hankey29-Apr-20 11:33 
GeneralRe: At the risk of approaching 'political' Pin
David O'Neil29-Apr-20 12:00
professionalDavid O'Neil29-Apr-20 12:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.