Unleash the Services

Author Date Time to Read License
Cosmobird + Ganesh 25 Aug 2017 30 mins. cc-by-nc-sa

DISCLIAMER :

Its not my fault, if u follow similar steps and stuff is not working for you. All i have here, is according to my personal desires and plans. I mean this might not fit you at all specifically, but in general might be helpful when u desire to host essential services right yourself in your home itself with whatever hardware resources u have. Happy Hacking !

WHAT IS SELF-HOSTING ?

Present communication networks depends heavily on information routing strategies compiled from innovative and efficient ideas manifested as protocols and logical stacks. A service comprises functionality of both hardware and software. The underlying physical infrastructure of the device providing the required service is facilitated by the hardware - which we can call as a Node Computer. Software that defines the logic required for the service runs on this physical infrastructure. This constructs a virtual world of computing which has defined boundaries. Within this construct individual's communication and content organization has to be met without compromising much on performance and if possible power & storage. Thus a service depends on following parameters:

  1. Storage Consumption
  2. Processing & Memory requirement
  3. Power Consumption
  4. Ease of Deployment
  5. Usability of Service
  6. Organizing Mechanism & Policy

WHY SELF-HOST ?

From a individual's perspective communicating with other peers requires content generation, organization and sharing platforms. These platforms are realized by the services. When these services are self hostable in one's spare desktop computer or laptop, then the individual is essentially becoming "independent" of typical centralized services. But being independent of those services also mean disconnecting from a lot of peers and friends who are already deeply hooked up to "free of money" services. This demands a social change which is essentially a change in thought process that would drive them to tryout self hosting and peer to peer, community communications networking infrastructures.

There is a significant amount of people who are already trying this out contacting them for help and hanging out becomes the first step in the process. This can be handled in civil clubs, communities, societies as an organized means of community effort to motivate the peers to switch from centralized services to self hosted, decentralized services. This transition happens by enlightening the peers about positive things that are possible and guiding them what they have compromised with existing central services. This not only makes them mobilize them towards a open, decentralized, shared self hosting strategy, but also immobilizes the penetration of centralized services slowly and steadily.

Networked Independency:

After getting a social mass (a peer set of people), say in a community with the help of available free software stacks it becomes relatively easier day by day to instantiate services that can be deployed at individual level. This makes the individual to use their personal computers as a instrument of content generation, organization, communication in addition to simple productive and entertainment usage. This makes communication and information as part of digital culture.

On the other hand, we know that self hosting also means, one is centrally dependent upon individual level and actually gravitates the individual to monitor & maintain the service to reduce down times and centre point of failures. This is where again the community comes in place. Since every individual knows that individually they are isolated and becomes points of failure, and thus innovative community communication network needs to be setup through which they can share the instances of the services and content, which merely gets copied and rerun in other nodes. Thus sharing emerges from independency and network. This is an emergence that founts out of need and is a complex phenomenon. Such a network is more organic.

Decentralization:

Eradicating centralized control, filtering, dependency has already gained momentum. Communities are making much effort in developing Peer to Peer tools, technologies, frameworks, software stacks that essentially make the user as independent as possible from the grip of big businesses and governments. This can be achieved by attacking the centralization problem in two ways simultaneously :

  1. Changing the fundamental network architecture
  2. Changing the web architecture

Self hosting actually addresses the second part of the solution. By self hosting the required services using simple wall wart devices or spare computers will not change the fundamental hierarchical addressing way of internet. But it addresses the problem in the web layer. Even though data packets goes through the conventional network topology mostly governed by ISP's, Government filter agencies, Telecom Corporations - that enable the actual routing of information between peers, selfhosting essentially makes the user independent of the services which they rely on. But it offers a good entry point to establish community communication infrastructure. It offers a good platform to test and run newer protocols that help the network immune to intrusion and exploitation.

HOW TO SELF-HOST ?

Once it is decided to be independent of typical centralized services provided in exchange of personal data and information to some governments and big business conglomerates - one has to come up with a list of services that they are already dependent upon. This list helps book keeping and organizing the service platforms. These services can be monitoried that enables the individual to switch them on or off depending upon their reqruirement.

services & hosts
Listing required services and Bucketing them into respective host

I will focus on what are my desired list of services that i like to host myself in my spare laptop, and see if i can comeup with basic explanation that help manage myself and collaborative help i could get from my peers who have similar interests. Depending upon the requirement and availability of open service stacks, several possible similar integrations are possible. The community have also take into account of common requirements that are fundamental for reliable addressing, identification, and access.

Domain Naming & Identification

Eventhough Internet has been primarily emerged to serve as a platform of liberty, soon its structural implementation influenced by pragmatic technological & management boundaries made the implementation depend upon identification of devices connected to each other following common protocols. Thus every devices connected to internet, needs to be identified -- which is being implemented in a hierarchical manner. That is where IP addresing schemes, and IANA comes into picture. Although the devices can be identified logically, services needs to be identified that emerge out of computation and networking of computers. Domain Naming Systems(DNS) are found for building such purpose.

Since the IP address might change arbitrarily, we require a name that uniquely attaches to a service running in one or more devices. Thus DNS using its hierarchical decentralized scheme, helps transform the name to the current ip address where the service is currently running. This sets up a chain of events relating between the internet browsers and the services.

Since the discussion's goal is self hosting as much as possible, where most of us fall under the prey of dynamically changing ip addresses at the mercy of Internet Service Providers. For mortal beings like us who could not afford to buy a Static, reserved IP address from ISP's, we need some mechanism to connect the registered domain name with the changing ip address as quickly as possible. Yes !! we have DDNS that suits our necessity.

Web Service

The interface stack with which the other web based services interact with other individual peers in internet.

Database Service



READINGS, LINKS & DOWNLOADS :

  1. Stuff

CREDITS & ATTRIBUTIONS :



cc-by-nc-sa