The Hitchhiker’s Cloud-Native Toolkit
Migrate your application and processes into a cloud-native world.
A utopia with micro-services and dynamic orchestration..
In a world where the organizational IT is lean and composed entirely of micro-services sitting on top of SAAS and PAAS solutions. There are no data-centers humming under the basement of your offices and your system’s engineers have finally rid themselves of the boxes they carry around to compile their C++ code.
The carbon footprint of your office is minimal with the compute intensive workloads moved into the invisible public cloud. Developers are just as productive working remotely as they are on-site. Late night meetings with offshore teams are smooth because there is complete transparency across the code-base. The subjects are content and satisfied and shouting long live the king across the streets…
The definition of Cloud-native for this post is a set of infrastructure solutions and applications that let’s you run the entire spectrum of your application life-cycle as a SAAS or PAAS solution.
The cloud native IDE
Spin off an IDE instance just like you would an EC2 instance. In addition, each IDE environment is backed by an EC2 machine ranging from t2.nano to m4.16xlarge. Write and run your code directly on the cloud, collaborate in real-time and smoothly integrate with other AWS infra and services using Cloud9. So build your own development environment agnostic of language choices, power it based on your computing needs and never have to go back to IntelliJ again. (just kidding IntelliJ is awesome :) )
The collaborative Interface design toolkit
A comprehensive web-based prototyping and design toolkit on the Cloud, Figma offers most of the design features offered by products like Sketch and CreativeCloud without the need to download software on your machine. The interface is quite similar to Sketch so migration would be easy if your designers are already using Sketch.
Why this edges ahead of Adobe Creative-Cloud and Sketch Cloud, is that neither of them is a complete SAAS solution as the user still has to download the client on their computer with the cloud only being used to sync data and make sure you aren’t using a pirated copy etc.
Application Container orchestration from the future.
HBO famously streamed their latest season of GOT using Kubernetes to scale up their containers during massive surges in traffic during opening night. While this bears testimony to its power that it allowed scale-out operations for media content with the highest surge in traffic in TV history, the real impetus for Kubernetes comes from the fact that it makes your application cloud agnostic and forces it into a more micro-services based architecture from it being a giant monolithic engine. Say goodbye to cloud lock-in and paying high costs for peak hour traffic anticipation even during varying ebbs and flows. Giving the power back to the cloud service consumer..
Metrics for massively distributed workloads
With an easy to use and flexible query language layer and support for a variety of data-models and client-drivers. The Prometheus query metrics eco-system (consisting of the Prometheus server, the node exporters and an alert-manager) provides a comprehensive monitoring system for your application running on the cloud. It is also easily pluggable into a variety of client drivers, so export your metrics data into a CSV, feed it into your own alerting system or render beautiful graphs and dashboards using your preferred graphing library..your choice.
Database custom-built for the cloud
Develop and deploy your data models on the cloud with ease, move work-loads between AWS, GCP or OnPrem providers while still serving data. Expand or shrink your cluster without taking down-time, view real-time metrics and alerts from your Database into an interactive dashboard queried via built-in Prometheus aggregators and run SQL and NoSQL on the same database engine.The YugaByte project provides a performant and strongly-consistent implementation over SQL and NoSQL API’s beats open-source Cassandra in YCSB and Ndbench workloads. YugaByte does to your data, what Kubernetes does to your application.
What’s in a definition, really?
The term cloud native has been defined in many ways, the Cloud Native Computing Foundation for eg. defines cloud-native stack to be one that is Containerized, dynamically orchestrated and micro-service oriented. For this analysis, I took a more liberal approach with the creterion being a SAAS and PAAS based eco-system that allows you to run thin-client based processes using a micro-service architecture. I’ll try and do more such posts in the future with compare and contrasts over various solutions in a given category. If you liked the post, please leave feedback below..would love to hear from you all. :)