According to Cisco's 2021 Networking reportResilience is one of the top important trends of 2022, because of the pandemic 7 out of 10 companies have experienced at least 1 severe crisis and 95% think it won't be their last
Remote work and Work from Home (WFH) has been a huge trend in the last couple years which means all the infrastructure needs to be scaled and flexible to respond
Automation is a trend to help deal with fewer people in the workforce, and higher demands of IT professionals, including server provisioning, configuration and management. This also helps improve compliance which is becoming more regulated.
Next trend on the horizon is AI and Machine learning
Smaller upfront cost (no hardware purchase or decision needed)
Depending on needs can be cheaper over the lifetime of the server
Potential for expert assistance or on-call support
Reduced in house IT staff
Cons
Potential for higher monthly costs instead of initial investment
Potential application compatibility issues, might have vendor lock-in
Not all vendors can work with virtualized servers (Rapidly Changing)
Not in control of your physical server or what's running on it
Physical Servers
Pros
Dedicated resources (mission critical systems)
Potentially convenient physical location
Fully Customizable
Cons
$$$ for server, Maintenance and hardware replacements
IT staff responsible for setup, config and Maintenance
Contractor/consultant might be needed with config/repairs depending on your IT staff
Hard to scale because you're purchasing your own hardware
Needs physical space
How to manage VMs in house
Most servers sold now are investments ($$$) and have multiple cores. If you're running more than 1 server virtualization makes your life easier
You'll need to dedicate hardware resources (but not as much as you might think) to the host machine. Servers tend to be idle a lot and therefore don't need a ton of resources.
Caution: This works for small load machines and things that don't need to be getting tons of hits, and are not mission critical, think about what your company/you need and what happens if the law of averages comes back for you. Also, Databases are beasts
Software such as VMWare, Hyper-V (MS) or Citrix XenServer will help you manage your virtual servers
General Virtualization Management
Snapshots capture the state of your Virtual machine at a point in time. Which you can then go back to.
Migration means we can move those snapshots to another host
Failover allows your VM to continue working if the host fails. Failover goes back to the last working state, which isn't necessarily the point in time at which the failure happened
Nested Virtualization
At this point in time, seriously, just use containers.
Virtualization inside a virtual environment
Running a Hypervisor inside a virtual machine
Running a hypervisor inside a hypervisor
Main level Hypervisor is Level 0 or L0
Hypervisor running inside the VM is level 1 or L1
Can continue to have levels L2, L3..,
Infrastructure as a Service(IaaS)
You can rent hardware as needed. Some services also allow software to be rented.
Allows you to outsource your computer infrastructure rather than maintain in house
Relates to SaaS (Software as a Service) and PaaS (Platform as a Service)
Smaller companies might not have the $$ or space to host a whole infrastructure
Gives a more reliable billing schedule (monthly rather than needing to buy hardware)
Can have reliability guarantees in house infrastructure won't have
Cloud
On demand availability of resources. Generally rentable through vendors, or sometimes offered free in small amounts.
Enterprise Cloud for a single organization
Public cloud available to many companies
Cloud tries to take advantage of economies of scale, I.e. cheaper to buy in bulk
Allows a pay as you go model, monthly pricing, or paying for services as needed which can give reliable bills to surprise bills depending on your company and agreement with your cloud provider
Gets further into the as a Service model (PaaS, SaaS, BaaS ans XaaS)
BaaS is backend as a service
XaaS is everything as a service
Infrastructure as Code (IaC)
Idea comes from scaling issues
Manage and provision computers through (machine readable) files instead of configs.
Includes both physical resources and virtual machines and its resources.
Can use a version control style system to hold the definitions of the infrastructure
Being able to model infrastructure with code, then working with it using software design best practices is popular
Shareability is also useful, for example if you need to set up an Apache Server you can find a recipe to do it
Pros include reduction of costs (setup and maintenance) speed and reduced risk (automation and programs have less human error) Allows your team to focus on things besides infrastructure maintenance
Declarative approach - What is your target configuration?
Imperative approach - How do we change to get to the target?
Intelligent approach - Why the configuration needs to be a certain way to get to the target while keeping relationships of apps in mind
Pull method - Server will pull configuration from controlling server
Push method - Controlling server pushes the configuration to the destination
Continuous configuration automation tools are frameworks to base off of
Also a way to support best practices in DevOps, get the devs involved with the config process and so they know more about the servers being created and maintained
Configurations of IaC
Setup - List of what you need to do to get the system ready, such as installing packages
Some examples of ways you can do this include: Chef, Puppet and Ansible
Provisioning - Describing what you need to provision (spin up your VM) in your infrastructure
Some examples of ways you can do this include: Terraform and CloudFormation(AWS specific). Other cloud providers may have specific ones they use
Suggested Activities and Discussion Topics:
Pick one of the following products. Research the product/Vendor, pros and cons, and make an executive summary of your recommendation for Acme Corp.
Chef
Puppet
Ansible
SaltStack
CFEngine
You've been tasked by your team to decide which IaaS we should use. Break into teams and research the following options. Make a list of pros and cons, and have a 1 page executive summary of if you think your IaaS is a good fit for Acme Corp (You can decide what Acme Corp needs)
AWS
IBM Cloud
Oracle Cloud
Google Cloud
Azure
Digital Ocean
Wasabi
You've been tasked by your team to decide which VM software we should use. Research the following options. Make a list of pros and cons for each, and have a 1 page executive summary of if you think your software is a good fit for Acme Corp (You can decide what Acme Corp needs)
Citrix
VMWare (Both ESXI and VSphere)
Hyper-V
KVM
Would you like to see some more classes?
Click here