Scalable, Shard-able, Containerized & Distributed Computing
It all started with a silicon chip and an O’Reilly book and then it became a dream that was a reality. One of those was free the other, well that came at market price, both certainly worth the exercise — given over the last year as I’ve poured over notes, Docker builds, and CLI commands.
Evolving as a programmer means diving deeper into known technologies to meet modern technologies and circling back around consistently to develop a pattern of repetition to turn documentation into knowledge.
The core factors of success I have learned in life, are adventuring within constraints to explore the narrow and reach back to the macro and encompass the understanding by turning them towards each other adversarially.
Silicon Chips As A Development Standard
You often hear the mantra “if you build it, they will come” and amongst programmers, frequently “if you buy it, you will code”. This is the logic behind investing in compute capacity whether on your desk or in the cloud.
When the Apple Mac mini M1 became the talk of the crowd, I explored the idea that maybe a small machine with a fair amount of power could be the focused antithesis that I needed. Programming with a unique computer chip that focused on divided power, would be new to a lot of people and provide me an opportunity to create some useful tweets about adaptation.
Along with the exploration of the silicon chip, I would find that gaming, on a small yet powerful computer, makes visual graphics rendering quite difficult, which means instead of gaming, I more, focused on programming. Dedicating free time to personal development and knowledge had lead me down a path, that we as humans often forget and remember again and again over time.
Graph Mediums With Graph Queries
Graph databases, theories, algorithms, and well visual tools are much alike — segmenting the view of data into relatable slices and sharing the cost of the energy whether compute or cerebral across their collective being.
Specifically, graph databases became an insightful topic upon reading over the neo4j Graph Databases book that was free, online, as an eBook. Leading me down the path of modeling data instead of pushing and pulling, I found serenity in placing parts of the whole where they made intrinsic sense.
Graph queries are very related to the idea of graph databases where interwoven distinct segments applied across topics can accumulate or narrow to provide iterative variations that have distinct usability.
GraphQL solutions to this theory by applying structured queries with flexible mutations to extract requests and provide methodical approaches to relational data. Improving response times, simply, you build requests off of multiple requests, and occasionally reduce the requests, based on components, which cascades as a performance impact.
GraphQL had me this week - maybe I need some REST
There are many ways to gain data, there are many more to form it, I am trying to find the most performant way to query…
Clustering and Sharding for Applications and Databases
Modern application development often focuses on the order of operations. As M.V.C (Model View Controller) set a distributed relational pattern to structured data and code, agile frameworks apply qualitative enumeration. Components of higher-order, pass properties, data, and functions to lower-order components, where sometimes these components are present statically or evaluate dynamically.
SaaS applications, specifically user-focused products, are interaction lead mediums and continuously fluctuating in data states, with data, without data, authentication, and perception. If the depth of the user varies so frequently then why wouldn’t the concurrent activity?
Leading a performant, scalable, and portable standardization is Docker. There were some before, and will be many after, but in the instance applicable to my timeline, it is Docker that has been the efficiency model for moving an application from desktop to cloud in a matter of minutes.
Deploying Kubernetes Locally: Kind Cluster Development with Docker
Kubernetes is an open-source container platform that is taking the scene of the cloud-native environment. Packages were…
Where Docker delivers its greatest impact for monolithic applications is often in Kubernetes where Docker is met with extensible and managed services that are hoisted upon the Linux backbone of virtual machines and brought into existence by the many variances across the field.
Services, Ingresses, Reverse Proxies, and Load Balancers deliver a containerized runtime split across multiple pods ready to be accessed by the global internet. If we can do this with applications, why can’t we do it with databases?
How sharding a database can make it faster
Databases are now given an enviable amount of attention since they manage a company's most important property: data…
Vitess is my recent favorite of database exploration. Having been an avid SQL-based developer, my familiarity with schemas and relations has allowed me to build relations simply with powerful and extensible services. Sharding these databases across clusters allows for the efficient access of these experiences to be normalized as they ebb and flow through their maturation. With everything at scale, why not scale, to the scale, more to come on that later.
Vitess automatically rewrites queries that hurt database performance. It also uses caching mechanisms to mediate…
Spring Input/Output Methodologies With Gradle
Fitting enough with all of the flexible graphs, clusters, scripts, and network access is the ability to quickly develop class and interface-based software applications with multithreading. Spring takes Java and provides the backbone of a framework that takes hours to imbue and simplifies its application for a much smoother workflow.
Gradle introduces the efficiency that Docker allows for applications, even with additional build tools and runtimes, these two formats enable a forward-moving development cycle with simple configurations. Having studied both methodologies individually for their practice and tested paralleled solutions, the build performance of both is quite enjoyable.
Thanks for Reading, Keep Computing!
Looking for more Application Development advice? Follow along on Twitter, GitHub, and LinkedIn. Visit online for the latest updates, news, and information at collectedview.io.