Using GitHub as a Micro Service "AppStore"
By using GitHub intelligently, you can dynamically populate your server with Micro Services through a UI, arguably resulting in an AppStore for your server
Join the DZone community and get the full member experience.Join For Free
We've had apt-get, AppStore, NuGet and npm packages for a long time, and imagining life without these repositories might be difficult for developers and users. However, I don't think the world has ever seen anything allowing you to automatically install Micro Services into your server through similar mechanisms. If you think about micro services as much as I have done though, such a feature might become incredibly useful. For instance, micro services are typically created such that they can be horizontally scaled, allowing you to distribute them to multiple servers, for then to create some sort of host that consumes them all. In many ways, this is arguably the whole point about micro services. This allows you to setup one development machine, and/or development environment, where you deploy all your micro services - While in production you use the scalability features to distribute these same micro services unto dozens of different servers - For then to change configuration settings, allowing your host app to use configurations informing it where to physically find these micro services. Basically resulting in that adding micro services to your particular server resembles the act of installing apps on your iPhone.
The way the above actually works, is through publishing an "app manifest" on GitHub. You can see mine here. This manifest contains a link to the zip files containing the latest release of any particular micro service module. I've only got three for now, but I'll create more of these over time.
The idea is to expand upon my suite of micro services, until it's capable of solving every commodity problem out there, general enough for being useful for all developers, particularly within the enterprise development environment, which is my fish of choice here. By combining this with the automatic CRUD web API application generator in Magic, the art of creating a micro service heterogenous server environment and web apps, becomes literally as easy as clicking a button.
Later of course, I will integrate a wizard into Hyper IDE allowing you to create packages of self contained modules, creating their own database automatically, and packaging everything automagically for you - But for now, the act of creating such modules is a little bit "too manual" for my taste. You can see below how I intend to do this if you imagine a button called "Package" in the below screenshot.
The point of course being that in the end, I have completely replaced myself as a developer, resulting in that the entire process of creating web apps, is literally done by clicking a single button. I am not quite there just yet, but I am also much closer than most realise, and I'm now at the point where I know for a fact that I can do it - All I really need to do, is to do one more additional push in regards to manual coding, and coding is as we know it today, at least for micro services and server Web APIs ipso facto "obsolete" ...
Why? Because it's a pre-requisite for "winning my war". Simply because when creating and deploying apps into your own personal cloud is 100 times easier than to start out with an Azure or AWS account, there will be no reasons to do the latter ...
I hereby declare the web as you know it to being OBSOLETE!
"Micro Services? There's an app for that" :D
Opinions expressed by DZone contributors are their own.