VSHN.timer #25: Cloud-Native Architecture
Welcome to another VSHN.timer! Every Monday, 5 links related to Kubernetes, OpenShift, CI / CD, and DevOps; all stuff coming out of our own chat system, making us think, laugh, or simply work better.
This week we are going to talk about the many aspects and traps of Cloud-Native Architectures.
1. Remember when Microservices where the new silver bullet? Thankfully the industry has matured now, collecting and documenting tons of best practices, including pattern languages and interesting recommendations on when to use microservices (or not!) Christian Posta recently discussed how Istio is transitioning its control plane to a monolithic architecture, and states this gem:
“It’s okay” to go back to a monolith if your assumptions or the context around your decisions have changed.
https://blog.christianposta.com/microservices/istio-as-an-example-of-when-not-to-do-microservices/
2. The nxt engineering team has recently published a detailed step-by-step tutorial about how to build and deploy Quarkus applications on APPUiO, our Swiss-based container platform. Quarkus is a microservices-oriented implementation of the Java Virtual Machine, and is credited with bringing Java back to the epicenter of cloud-native applications. The article guides the reader from the development phase to deployment and scaling, and the source code is available online. Check it out!
https://nxt.engineering/en/blog/quarkus_appuio/
2014 – We must adopt #microservices to solve all problems with monoliths
2016 – We must adopt #docker to solve all problems with microservices
2018 – We must adopt #kubernetes to solve all problems with docker pic.twitter.com/CrnvX9Lgpq— Syed Aqueel Haider (@sahrizv) July 14, 2018
3. Metcalfe’s Law states that the value of networks grow proportionally to the square of the number of nodes. Is the probability of failure in microservices architectures proportional to the square of the number of services? The subjective perception of an unlucky sysadmin might suggest an exponential catastrophe instead. In any case, you should prepare for the worst, and Daniel Sada Caraveo has prepared a nice list of practical tips and tools to use in order to sleep better at night after a deployment: logging, monitoring, load balancing… Couple this with some Service Level Objectives (SLOs) and error budgets and you could achieve some unprecedented peace of mind.
https://danielsada.tech/blog/cloud-services-dos/
4. Regular readers of the VSHN.timer series know that we are particularly fond of Kubernetes. We have seen, however, that many developers struggle to understand how it works or how it’s built. The nice people at KodeKloud have published a fantastic 10-minute video explaining the architecture of Kubernetes in great detail. A fantastic learning resource for newcomers to the cloud-native world!
https://www.youtube.com/watch?v=8C_SCDbUJTg
5. The tool of the week is Terrastruct, an online diagramming tool that might help you bring those architectures and microservice API patterns to life.
https://terrastruct.com/
Have you migrated your monolith to a microservices architecture? Which best practices have worked the best for you? Get in touch with us through the form at the bottom of this page, and see you next week for another edition of VSHN.timer.