Infrastructure is what everything is built upon. Your infrastructure applies to multiple layers within your business; the entirety of your business, different products, various teams, and processes. But what makes great business infrastructure compared to bad infrastructure? We look at a specific example at how Maven X designed and built a web infrastructure. Learn how to take a deep dive into your own infrastructure plans, what they should include, and how to approach them!
Infrastructure is important in everything. Just like building a house, the foundation is critical and is created first. In business there is infrastructure designed at various levels. Infrastructure is designed either by design or by default. We will be diving into how Maven X approaches infrastructure design and give some real life examples of the Maven X infrastructure. The information will hopefully give you insight and clarity into how your infrastructure designs could be sufficient, where there may be room for improvement, or where you should start for a new infrastructure design. Let’s jump in and start talking details!
Note: If all of this is too complicated but you are interested in getting this functionality for you and your business, these are all services that Maven X can provide to you! Use the Maven Web inquiry form to reach out to us. We’d love to help!
What Business Infrastructure and Why?
Infrastructure – the basic physical and organizational structures and facilities (e.g. buildings, roads, power supplies) needed for the operation of a society or enterprise.
In our example today we will be focusing on Maven X’s website and online infrastructure. However, infrastructure should be designed at all levels in your business. For example, there is an overall infrastructure of Maven X (Our Business Plan), then we have business line infrastructure (How Maven Web is structured and how it functions), then we there is team infrastructure (How each team functions), all the way down to specific products or even processes.
“Okay, this sounds great but this also sounds like a lot of extra work and documentation up front and will ultimately slow our development down.” – You
You are both right and wrong at the same time. When Maven X started our team was a team of one. The methodology from the ground up was to design all Maven X infrastructure with scalability in mind regardless of time. This means we wanted to be able to scale up (or down) as quickly as possible. This scalability could be because of new hiring, new customers, new web infrastructure demand, new business lines and so much more.
While documentation is difficult and time consuming, especially as you are building and changing constantly, it’s important. The documentation we created with Maven X took a lot of time and is very detailed but the benefit is greater clarity and the ability to get new employees up to speed faster with processes, give their feedback for improvement, and gives you a way to identify and update specific locations when things change. [P.S. Document updates such as policies and procedures can also have an infrastructure setup around it.]
Long story short… Long(er) up front documentation times = reduced employee training and improved clarity.
Maven X’s Web Infrastructure.
Let’s take a look at the Maven X Web Infrastructure. Maven X is an online only business meaning that our website and communication channels are critical to our functionality. We need them to be up and running, accessible, available, and information (client data) to be correct and protected. While these are basic requirements that are applicable to all websites, you need to have specific detailed requirements for each specific infrastructure you are building.
With our requirements in mind we can now start researching and building. We know that we need and want website hosting, information security, email services, a blog, a learning management system (LMS) for Maven Edu, and a Client Portal for all Maven X consulting clients.
Note: This post is a simplified version of the Maven X Web Infrastructure. For your own infrastructure plans you should be more detailed.
Lightsail – AWS
What Is It: Amazon Web Services (AWS) is Amazon’s cloud computing company. AWS hosts tons of websites such as Netflix, Hulu, Spotify, and more. Lightsail is a specific product within the AWS offerings which allows you to build and create websites or applications quickly with just a few clicks. It’s an all in one package for websites to deploy quickly and manage easily.
Why It Was Chosen: Criteria number one is that AWS is an industry leader in the space. Price, security, scalability, flexibility, and ease of use were all crucial.
Lightsail is very affordable and makes it cost effective to have multiple instances for various Maven X websites and more.
Security is built in from the ground up with all AWS products and there is the option to increase security if desired. You have the ability to lock down AWS accounts with multi factor , strong encryption, and more. AWS is used by many enterprises and have enterprise tools available.
While additional effort is needed to move Lightsail data into other AWS products it’s all possible to do within the same AWS account. This means that while a simple website is all Maven X needs currently, we have the ability to create enterprise level sites and applications if needed within the same platform as we grow. Also, within the Lightsail pricing tiers we are able to scale if we reach one of the thresholds: bandwidth (website streaming to clients), disk storage (website files and data), and more memory (server resources during high server demands like lots of clients using the site at the same time).
Lightsail offers simple flexibility to quickly create new sites, create backups of existing sites, increase resources, scale as the business grows, pay for what we need, and so much more.
Finally, since Maven X isn’t an enterprise (yet) and we have a smaller team, we need to focus our resources on the things that matter most. A web infrastructure like this is all we need to function right now. The Lightsail interface is simple and easy to use all without needing to know a lot of code.
How Maven X Uses It: Lightsail hosts all of our websites. We have Lightsail instances for Maven X, Maven Edu, and the Client Portal. AWS manages the bandwidth to the sites, stores the site files and databases, and provides data backup daily.
How It Integrates Into the Web Infrastructure: The Maven X websites are command central for all of the next discussed topics. Because we are an online only business we need to have the best resources and tools for our websites. Being a tech consulting company we also need the ability to access more complex tools if necessary. All of which AWS does.
✅ Web Hosting (Maven X, Maven Edu, Client Portal)
✅ 99.99% Uptime (It’s Available/Accessible)
✅ Built In Security w/ Additional Security Available
✅ Blog Hosting
What Is It: Cloudflare is a Cloud security tool and a Content Delivery Network (CDN). It is a very powerful even as a free tier for most businesses. Cloudflare has begun to expand their services from network spamming attacks (DDoS attacks) into logs of other tools to protect your website and to host data as well.
Why It Was Chosen: Cloudflare is one of the best known security companies. Their free tier provides incredible protection with the option to add more if needed later. Cloudflare is a barrier between your website and the internet. It functions as a firewall to scan and protect traffic to the websites. Essentially if there is a spam attack, Cloudflare recognizes it and can stop the traffic. You can restrict website traffic to certain countries, block access to certain URLs on the sites, they have incredibly fast services like DNS, protect your site from bots, and can limit the amounts in which computers can interact with your site. These are all great, and necessary, resources to protect your web host server’s resources and to block malicious traffic from hacking your website.
How Maven X Uses It: Maven X uses Cloudflare for most of the above mentioned reasons. Due to the security nature of this information we cannot talk too much about how our Cloudflare setup is configured. Cloudflare will also cache some website data on their site to deliver and host to visitors as well which reduces site load times. However, there is one item that was mentioned briefly above and that’s a CDN. Cloudflare provides a content delivery network for video content. This is where our Maven Edu content is hosted from. Instead of our single server streaming hundreds of videos at the same time we can pay Cloudflare for the data storage and the amount of stream time and their data centers all over the world will deliver the videos to the customer through the closest data center. It’s much simpler for us to host our great Edu content and a much better streaming experience for the customers!
How It Integrates Into the Web Infrastructure: All Maven X websites are placed behind Cloudflare to protect them from malicious traffic on the internet to ensure that customers and clients receive the best quality of service from our websites.
✅ Web Hosting (Caching of Maven X Sites)
✅ 99.99% Uptime (It’s Available/Accessible)
✅ Additional Security Features (Data Security)
✅ CDN For Maven Edu Course Videos (Available, Fast, and Securely Linked to Customer’s Accounts)
What Is It: This section in the web infrastructure isn’t a separate service but a methodology. Each Maven X website (Maven X, Maven Edu, and Client Portal) are configured in Lightsail on different instances or servers. Each website has it’s own resources, bandwidth, and storage.
Why It Was Chosen: A best practice security method.
How Maven X Uses It: WordPress is very secure and it’s only getting better. However, nothing is impenetrable. Separating the WordPress sites can protect each site from one another. Each Maven X website has different functionality, features, themes, and plugins. Compromised plugins are the number one reason WordPress sites get compromised. Since WordPress Multisite hosts all sites on one server, if one site is compromised all sites are. By separating the sites into different servers they are better protected in the event that one website is compromised.
How It Integrates Into the Web Infrastructure: Site separation is almost purely for security but also for availability, resources, and customer experience. Traffic from one site isn’t affected to the other. Of course the security benefits are the main reasons for site separation.
✅Same Checks As Lightsail AWS
✅Stronger Security Separation
✅Additional Resources (Bandwidth, Storage, and Server Memory)
✅Stronger Protection of Client Data
Email (Google Workspace)
What Is It: Google Workspace offers custom email addresses and email services through Gmail. Every business needs email to communicate both internally and to customers. Google Workspace gives more features and functionality to businesses all while using the same Google apps we have used before.
Why It Was Chosen: Google Workspace’s pricing is per user. Since Maven X is smaller this makes billing much more affordable to have access to all Workspace apps instead of paying for individuals apps separately. The learning curve for new employees is less due to inherent familiarity with Gmail. The expanded Gmail APIs give access to our email in different ways. Most importantly the need for custom @mavenx.co email addresses for employees. Similar to all of the other tools so far, uptime with Google is extremely high meaning that our email is always accessible.
How Maven X Uses It: Maven X uses Gmail for our @mavenx.co email addresses, our generic email groups ([email protected] which deliver to different Maven X employees simultaneously), and provide email service to all Maven X websites. This allows our websites to send email through Gmail to our mailboxes and deliver email receipts and confirmations to clients and customers. Email and account security is critical for Maven X as well and Google’s account security is among the best which allows us to protect our data even more.
How It Integrates Into the Web Infrastructure: Email is critical to all online businesses and Maven X is no different. The Maven X websites wouldn’t be able to deliver messages, we wouldn’t have custom email addresses, and we would have less control over our data and security compared to basic @gmail.com email address (As well as not looking as professional).
✅99.99% Uptime (Available)
✅Strong Data Security
✅Email Services For Websites and Communications
✅Less Resources Required for Upkeep and Maintenance (Best for Small Companies)
What is the Result of Bad Business Infrastructure?
Bad infrastructure might not cause issues or problems at first but as time goes on you will begin to notice cracks. You’ll begin to patch the cracks as they come up and you’ll potentially start doing more maintenance on your processes to maintain them instead of letting the processes run themselves (like they’re supposed to). Bad infrastructure will end up limiting you, cost you more time, potentially cost you more money, reduce productivity and efficiency, and more. Instead of solving your problem or aiding in your business mission, the infrastructure is holding you back. Time is now being spent in maintaining or fixing the infrastructure after the fact. You might have to completely re-do and rework entire aspects of the infrastructure plan which now costs more time and money. Resources are being taken away from other work to instead fix these issues and errors. Taking the time to focus and do it right the first time is the best way. Try to think about all aspects and even future use cases and try to work them into the plan as well.
In our specific example of the Maven X Web infrastructure we see that our infrastructure allows us to check all boxes in our requirements. In a real infrastructure plan you should be as detailed as possible and include things like diagrams, assign ownership to specific people or teams, and have it approved or reviewed by everyone affected by the plan. The web infrastructure allows Maven X to be available and up as much as possible, keeps our data safe and secure, provide email communication, and allows us to host all of our content including the websites and the videos as quick as possible. The solution is great for what we have currently but also allows us to expand and grow as time goes forward.
Simple vs. Complex Infrastructure.
With all this talk on specifics and details into what specific infrastructure plans look like it can raise the question; should my plan be simple or complex? Like most things… it depends. The simpler a plan is the easier the execution is, the less resources are involved, and the quicker you can get it up and running. But sometimes it’s not that simple. The answer should be this; do just enough and a little more. In other words, keep it as simple as possible but plan for the future. Remember, the infrastructure is there to provide a solution to a problem you have. Complex problems may require complex plans and vise versa. While our Maven X Web infrastructure may sound complex to non-technical people it’s actually quick simple compared to most other web setups that are maybe even just a little bit larger than we are.
A plan isn’t helpful if it isn’t written down, available, and easy to read. Every infrastructure plan should be formalized into an approved document by the applicable parties affected and involved. You should add as much detail that is needed to completely re-work the solution again with new people. Someone new should be able to come into the company and with little background knowledge be able to follow and understand the plan.
The documentation should include approval, responsibilities, maintenance plans/responsibilities/frequencies, diagrams, revision review and approval times, and should be stored in a location where all applicable personnel can easily access it for reference.
Infrastructure plans are an important aspect to business that is often not performed. While an infrastructure plan might not be required for every effort at your business, if it is critical to your business function you should create a plan. Each criteria for each business will be different. Each plan should include requirements for functionality to ensure that the plan addresses all requirement points. Finally, the plans should be documented properly and available to all personnel who need to be aware.
At Maven X we have plans and documents for every critical piece of our business. The purpose is to ensure that we have a clear understanding of what we are doing, that it can be easily repeated by any employee who reads the document, and that we know exactly what the need is and how this plan can fix it. This process has taken a lot of time as Maven X was being built however we truly believe that it has aided in our ability to scale as quickly as possible with less effort simply by taking the time upfront to plan, coordinate, and design infrastructure.
Interested in utilizing these tools in your business? Let Maven X help! Use the Maven Web inquiry form to reach out to us!