Your first web presence is a balancing act between cost, performance and flexibility.
If this is your first attempt at establishing an independent web presence, lets assume you started the way many others have done before you setting up an account that provides a wizard walking you through all of the steps to have a website. If you ever are going to venture out on your own from these platforms, you do not necessarily need to be a technical person, but it helps to understand a little bit about the process and the pieces that go into the final product.
The Host Environment
The comparison to real estate is apt, and Ill use it here.
Like a brick and mortar establishment, the first thing you need is a piece of virtual real estate known as a host. This is your home, and as the joke goes, home is where you keep all your stuff.
When your virtual real estate is being run by you from a computer on your own property, this is on-premises or on-prem hosting. When your virtual real estate is on a computer you own, but run out of a dedicated data center somewhere else, this is co-location or co-lo hosting. When your virtual real estate is on a computer or virtual machine you are renting from another company, this is unmanaged hosting.
These are more traditional ways of managing your space, but most modern web technology runs according to different arrangements. When your virtual real estate is run in a virtual computing environment where a single powerful machine uses software and designer hardware to segregate its resources into what look like separate homes you host on a virtual machine. When your virtual real estate runs on a powerful machine that splits up its computing resources between all of the other service accounts on that machine, you are on shared hosting.
The difference between these two is considerable like the difference between living in a condominium with a strict HOA and an apartment complex where sometimes you have really noisy neighbors. Some virtual machine hosting packages provide you with the ability to manage technical aspects of your site, but most virtual machines and shared hosting setup limit the power that every resident has to alter the way their hosting space runs.
If you are just starting out, there is likely another layer thrown on top of this hosting layer, which is a software management layer. When you create an account with a web hosting company, they give you access to a back-end control panel where they have selected (and sometimes created) a limited set of tools that you can use to manage the features you have purchased.
This includes a lot of things that manage what types of software are installed on the machine and how to direct different kinds of communication requests made to your host from the internet. This is like choosing the furniture, appliances, rooms and features for your virtual home. Generally speaking, the cost of the service is proportional to the amount of variety and control you have over the space through this interface. However, there are also host who offer more of a concierge experience, or a stripped down set of essential tools that apply powerful well-tuned application-specific enhancements out of the box what would be considered managed hosting.
Since getting the keys to a Ferrari is a risky prospect for a teen in drivers education, most hosts will provide you with tools that will not jeopardize the performance or integrity of the host if you accidentally run your project off the rails somehow.
At the same time, there is a natural learning curve that all web presence owners rise through and as a result it is pretty common for you to migrate from platform to platform as your needs change, your experiences change, and your desire to add new functionality changes.
As you move up the ladder of host functionality and power, your cost and management tools may also increase proportionally. You will also find that there are service limitations that appear with different hosts many will limit their support of third-party programs that you install to those that are on a very predefined list and many will not offer support to custom programs at all unless you are willing to pay for engineering hours. This is one area where consultants can be very helpful we often pick up the slack on web project analysis when host support says the problem you are trying to solve is outside of their service offering.
All of this mental framing follows the real estate analogy fairly closely but even this way of thinking about the web has changed over the past decade and as a result several new ways to think about virtual property exist.
With the advancements in high speed internet availability, virtual spaces on the internet can be created using technology that cannot be duplicated in the physical world.
For example, distance between your host and your clients can have an impact on how quickly they can access information on your website. To solve this, special content storage structures called content delivery networks (or CDNs) exist they hold the same copies of your stuff on network sites all over the world, and whenever someone tries to visit your site, the CDN will automatically send over the content from the nearest neighboring site. Think of it like a network of warehouses all over the world holding identical goods, combined with an ordering system that gets called whenever your web site is loaded.
Another example, you may have a website used internally by your staff an intranet and a connected website that is used by outside clients or customers an extranet. While much of the content that both groups of people use is unique and separate, there may be some content that overlaps. For folks in your home office or home city, it might make sense from a performance point of view to have an on-prem host but what about your global audience? There is a software layer available that can analyze how different groups use content and then decide what should be stored locally and what should be stored in, say, a CDN this is considered a hybrid hosting solution it merges local resources with remote resources and allows them to work seamlessly and with a high level of efficiency.
Taking this a step further, consider that sometimes you have parts of your virtual site that perform very specific functions like the drive-thru window at a fast food restaurant. No one would think of building out a separate structure just to get food to people in their car instead, you have intercoms for ordering, a board for the menu, and a delivery window where food shows up. Each of these represents a node or a microservice that plays a role in providing the broader service you are offering. These nodes act like very narrowly focussed environmental features for your virtual space, and the great thing about them is that they can scale dramatically with your business because they act like simple machines and can be lightly tuned to achieve great results.
If you have already put together a web presence on a social media platform like twitter, facebook, instagram or others, you have already experienced the power of microservices first-hand. Without any individual hosting requirements, you are able to piggyback on the infrastructure these companies have created to scale. Products like Google Cloud, Amazon Web Services or Microsoft Azure are often used to host clusters of these tiny services and many of them are directly accessible to programmers.
Carrying this further into the future, the virtual spaces you can experience or create are also developed on distributed computing platforms using blockchain, digital smart contracts, edge computing and other evolving, powerful decentralized distributed technologies.
But lets return to the basic virtual space youve seen a piece of the not-so-distant future and the rabbit hole of web presence development that you may one day aspire to.
The host you have is an essential piece of your website because the level of service you wish to offer is directly tied to the level of service you get from your host and the people or companies who manage it.
The Domain Entity
The domain name is the natural language address that is used to direct internet visitors and traffic to your virtual home. Your domain in general is the space you own and all of the services and communications protocols. It is the house, the yard, the gates and fences. Using management tools from your host, you can define and direct different kinds of services to and from your domain and you can also create what are called subdomains, like subcategories for different tools that are all tied to your host by your domain name.
There is a non-human-readable way your host is addressed just like your own home address that includes a number and a street name that otherwise bears no real resemblance to what you actually do on your property. That address traditionally was four integers ranging from 0-255 with full stops in-between. Since the same addressing scheme is used to identify intranet and extranet hosts, there are some additional rules that are generally accepted to differentiate different address types, but this set of 4 numbers (now expanding to a set of 6 separated numbers because of the exponential growth of the internet) is what is formally known as your host address or public IP address.
Whats the difference between your host address and your domain name or web address? Well, think of your web domain name as a business placard youve put up above the door. It is an easy to use identifying address that people can see from the street and walk right to your business without having to know the technical address where your space is hosted.
How are these two things related? If you recall back in the long long ago before the internet there were these thick books phone books. Inside this book you had a list of business names, personal names, etc and each of these names was connected to a phone number where someone could reach you.
We still have phonebooks for the internet, believe it or not. The difference is that they are called Domain Name Services or DNS and these services share address listings and update each other constantly looking to see if anyone has changed their number. Except instead of tying a personal or business name to a phone number, the DNS records point a domain name to a host address. When you change hosts, you likely need to change your DNS entry just like youd want to let your friend know you got a new phone number. If you dont do this, your domain will not point to your web space and no one will be able to find you. Most hosting services provide free migration of your site, and aside from moving any stuff you have into your new space, they include updating these look-up records so that folks will be able to access your site at its new host even though your domain name never changed.
This can be tricky, however, depending on how your hosting services were set up originally and which services differ between hosts and consulting can be helpful, though many times these sorts of fixes are included with hosting support plans it is their business, after all.
The Interoperability Layer
An additional layer of support exists that may sit between the stuff on your home site and the stuff you have hosted on external sites. It is fairly unusual today to simply rely on a single host environment many people and businesses have presences and representation opportunities on platforms developed and hosted by companies that specialize and serve as central resource references for different topics and industries.
Connecting your content and crosslinking opportunities rely on connecting application programming interfaces or APIs. Most APIs have authentication processes that assure only you can control the information that streams between your properties and speak common language rules or protocols that strip away the technical backend operations of the applications you are connecting and let then run commands in a simplified and controlled way.
These interfaces not only make connections between your public platform accounts possible, they also provide data that can be used to trigger automated task, pass-through information from the internet to a locally hosted application and more. Tying together a cohesive virtual property and platform portfolio can set you apart and give you a lot of modern convenience and operational flexibility that others are missing.
Its Not That Simple. Or is it?
Given the survey above, it may seem like a straightforward proposition to start small, connect and build but there are various economics and profit motivations at play that sometimes prevent you from being able to make the kinds of changes or improvements you want to.
There are always cost and benefit trade-offs, but this is particularly true at many of the entry points to building the web presence you want. Due to the dynamic needs and capabilities available across the web technology space, there are steps that companies take to try to provide cohesion and stability of their income streams and consumer base. As a result, the buyer should be aware of certain problems that can come up early on not necessarily to avoid vendors that follow these practices but simply to be knowledgeable about both the benefits and gotchas of any service you choose to employ.
Understand the limits and benefits of renting versus owning
The problem: Many times components are bundled, or the terms are laid out in such a way where it looks like you are getting a bonus, but those extras end up having strings attached that restrict what you can do with what you have purchased.
The solution: First, it is important to develop your short and long term strategy so that you will have an understanding of the type of things you may want to incorporate into your project later on. You dont need all of those things now, but it is important to see if the folks you want to work with have advanced tiers of service that include all of those resources - or that they are at least on the roadmap for development in the future.
Second, it pays to look at included freebies carefully, and to ask questions about what you own, what you rent, and what your future costs and obligations will be should you decide to step out of a package deal.
Finally, take advantage of trial periods and really use that time to do the most complex things you want to do. If you can get through these tough tasks, it bodes well for your experience with the platform. That being said, it is unreasonable to expect growth in your enterprise without a change in infrastructure. As your needs change - hopefully in a good way - your packages will change and your service levels will change. It is important to not be afraid of jumping platforms when you feel like not doing so is the only thing standing in the way of greater success.
Finding yourself corralled into a rent-seeking scenario
The problem: Many times services that offer low cost and convenience do so with the expected future revenue of vendor lock-in. They make sure that whether you love them or not, you will stay with them because of the high cost or difficulty of leaving them.
The solution: Ask a lot of questions about interoperability. Establish how hard it is to import and export information from a platform. Ask if they have API services available for their platform - even if you arent really sure what that means or if you would ever use them. Find out if they use open-source software or proprietary software. Sometimes vendors will charge you for services you may be able to set up and run independently at lower cost (or free) by working directly with another company.
Scour the web for information and support for a given platform if they tell you they use it to build. There are a lot of great modular tool for web services that have dedicated communities around them that can be a real help to you when you are trying to do or build something that isnt really a failing in the product, but just requires a more experienced hand to provide assistance. If that kind of community doesnt exist, it doesnt necessarily mean the product itself is bad - but it may mean you are forced to use the platforms own service technicians and work around their schedule for fixes.
Those service calls may come at a cost if their staff determine you are trying to do something that is outside the scope of what the module or project was designed for - and that happens a lot as you grow and start to press against the limitations of design.
Buying into the idea that the tools will do all the creative heavy lifting for you
The problem: Many times sales pitches, advertisements and tutorials are optimized to be best-case scenarios. They are designed to flow smoothly and to achieve what the presenter wishes to achieve. Sales pitches for web products always make the product look like it will effortlessly do what you want with hardly any effort from you. That never ends up being the case when you actually pursue what you want.
The solution: First, understand that if you are pulling together a project and have some special work requests and a salesman tells you that they can do that through custom work without some sort of timeline, difficulty or cost estimate it is very likely that what you want will take longer than expected and be more expensive than you thought. Try to get folks to pin down their estimate and lock in some targets so that you can manage your risk a little bit.
Second, be prepared with real-world scenarios to ask about, and do not be afraid to ask for the impossible. When speaking with vendors, as an experienced technology person I will generally push salespeople to the point where they capitulate and admit that something I have asked about goes beyond the scope or functionality of the product. That doesnt mean I dont decide to use it - on the contrary, it means Ive fleshed out the real potential of the solution and I can determine at that stage whether I can work within those limits or not. It is easy to talk up the capabilities of a platform so long as the requirements presented by you are vague. If you can formulate your challenges and problems with real world detail, you have a better chance of the real world viability of the solution you are considering.
Finally, remember that a lot of technology companies are trying to help you deal with the most common problems you may come across in a particular use case. This keeps the product lean and focused. Having a narrow scope and suitability case means they can serve customers easier and provide a reliable, responsible and repeatable performance experience. This also means that extraordinary requirements or features you may want will be outside of the scope of their offering by choice they have set up their service limits to trade less flexibility for more stability. This isnt necessarily a deal-breaker, but it is good to know where a company draws their lines.