Profile picture of David Paul McQuiggin
David Paul McQuiggin
[Remote] .NET Lead Engineer | Solution Architect | CTO | Azure | Data | AI
Follow me
Generated by linktime
November 5, 2022
Potentially controversial tech opinion: Kubernetes is over-engineering for the majority of use cases. I have looked, and looked, and looked again at Kubernetes, and how it would be relevant to the typical problem domains I have encountered over the years, and although I see where it is intending to assist in terms of High Availability, scaling etc, ... it just doesn't work for me. Open and honest - I have not implemented a K8s based approach to Production; I have leap-frogged that to go the serverless-where-appropriate route for scaling and availability. The first issue I had with K8s, is that there is so much new terminology to describe some long existing ideas and patterns; there is a learning curve. The second is that scalability can be achieved in many ways; serverless / FAAS is probably the most optimal, especially with Azure offering Consumption based plans, and an included free execution of compute / memory usage that actually would meet many companies monthly needs. The third issue is that High Availability, in a cloud world, means that addressing Data Centre and Region failover, especially of data stores, is far more important than ensuring a specific cluster of VMs is available and providing required services. Perhaps I am missing something in the K8s value proposition? If so, comments welcome...
Stay updated
Subscribe to receive my future LinkedIn posts in your mailbox.

By clicking "Subscribe", you agree to receive emails from linktime.co.
You can unsubscribe at any time.

November 5, 2022
Sunday evening take: One thing I dislike about working in software development over all these years, is that so much time is spent arguing over software ideology, as if there is an absolute perfection or one true way. e.g. SOLID is guidance, to be taken under consideration, applicable in some scenarios and not in others, it is not the word of god / the one true way. Developers spend too much time fighting over their interpretation of what is basically other people's opinions, something they have read very recently in a blog or seen in a course, as if it is some sort of divine inspiration. They then point-score as to who has the most perfect understanding of the opinion of someone who wrote a book about their own experience, but has no idea of the realities of the project you are now working on. I have been in so many code reviews, where developers were obsessed with arguing over the minutiae of a particular line of code and how it does not meet framework guidelines / latest C# language syntax / a specific pattern in a book, that they completely missed that it did not actually meet the business requirements. Guidance such as SOLID, Clean Coding, DDD etc. is fine if you treat it in the same way as 'look both ways before crossing the road', but not 'you must spend 10 seconds when looking left, and no more than 1 second later, look right for 13 seconds, or a successful crossing of the road will be deemed inadmissible' Be pragmatic instead of dogmatic, is the best advice I can give, after 32 years of building systems.
21 comments
April 3, 2022