Architecture Doesn't Care About Your Feelings
Matthew Meyer
Director - Principal Technologist | IT Leader & Innovator | AI Solutions Architect
I've been spending some time looking over old solutions, and trying to come up with ways that I can improve them knowing what I know now...
I'm getting more and more involved with Azure's Well-Architected Framework, and it occurs to me that my past architectures play a heavy role in my current architecture. Not just lessons learned, but systems and patterns that are tried and true.
The problem is... they might have been tried and true before, but will they scale massively? What if a company that I built an e-commerce site for suddenly has a viral product and instead of 100 concurrent users on a normal day they have 100,000? If their peak usage would go from 500 to 1.5 million?
Would my solution just die? Would it scale infinitely and cost them more than they can afford?
Certain decisions rely on the requirements of the application, the data layer for instance. If I'm working with that company that says they are only going to have 500 concurrent users at peak times, then Azure SQL makes a lot of sense, however, if they come at me with 1.5 million concurrent users, now I don't know if SQL can do it in a way that will give the user the experience that I want. So my design is going to include Cosmos DB. The recent dilemma that I faced was... I didn't feel comfortable without a SQL server being in the architecture.
领英推荐
I'm comfortable with SQL. I've used it for a couple of decades now. I trust it. I don't know Cosmos DB nearly as well. Here is where the past can hurt you. In the large scale instance... Cosmos DB is better suited to the job. It is fundamentally designed to be super fast in large scale situations. While SQL may give me a warm fuzzy, the query time and the load pressed on the server backend is likely going to be too much.
It comes down to... Architecture doesn't care about your feelings. I can want all day to have SQL in that architecture, but it just isn't going to work in that situation.
As a Solution Architect, I need to look at what is real. What is factual, and make the best decisions for the client requirements, regardless if I "want" something in there.
How to keep up? Great question... I'm struggling myself. I'm reminded of my early martial arts career when, as a new Tae Kwon Do, black belt, I got taken down and manhandled by a Brazilian Jiu-Jitsu beginner. If you aren't exposed to different ways of thinking or solutions, you aren't going to use those ways of thinking in your life.
I like conferences. I like going to sessions that are way out of my wheelhouse. I like reading articles and trying to keep up... I also like putting myself in situations that I will be uncomfortable. Ask someone for an architecture review. Put yourself up for criticism. Find people smarter or more experienced than you to tell you what is wrong. Get comfortable with being uncomfortable and put yourself out there.
CTO | CIO | CISO | VP of IT | Director of IT | Builder of High Performing Agile Teams | Innovative Servant Leader | Balancing Strengths and Strategic Goals | Mindfulness Steward
1 年Neither do Architects! ; )