VMware Guide
VMware Guide
#### A guide for getting started with VMware including the Tools and Applications that will make you a better and more VMware efficient engineer with VMware. Note: You can easily convert this markdown file to a PDF in VSCode using this handy extension Markdown PDF.
Table of Contents
VMware Horizon Cloud with Hosted Infrastructure Networking Overview. Source: VMware
VMware Multi-Cloud Optimization Strategy. Source: VMware
VMware Learning Resources
VMware is a cloud computing and virtualization technology company. Dell owns a 81% stake in VMware, which it picked up in its 2016 acquisition of EMC(data storage hardware maker) for $67 billion.
VMware API and SDK Documentation
VMware Infrastructure SDK Programming Guide
VMware Certified Professional - Data Center Virtualization
VMware Vsphere Certification Training on Udemy
VMware Online Training Courses on LinkedIn Learning
VMware Courses on HPE Education Services
VMware Training Courses on New Horizons
VMware Training Courses on Global Knowledge
VMware Tools
VMware PowerCLI is a command-line and scripting tool built on Windows PowerShell, and provides more than 800 cmdlets for managing and automating vSphere, VMware Cloud Director, vRealize Operations Manager, vSAN, NSX-T Data Center, VMware Cloud Services, VMware Cloud on AWS, VMware HCX, VMware Site Recovery Manager, and VMware Horizon environments.
Fusion for MacOS is an application for running multiple operating systems on Mac. Workstation Player is a simple tool for running a second OS on your Windows or Linux PC, free for personal use.
Workstation Pro is an application for running multiple operating systems on Windows and Linux.
Tanzu Mission Control is a single point of control to provision and apply policies to all of your Kubernetes across clouds.
Tanzu Build Service is a automated container creation, management, and governance at enterprise scale.
Tanzu Kubernetes Grid is a ubiquitous Kubernetes runtime embedded in vSphere and operable across public clouds and edge.
Tanzu Application Catalog is a curated and customized catalog of apps and components available in your private repository.
Tanzu GemFire is a distributed data management platform especially useful for high-volume, latency-sensitive, mission-critical, transactional systems.
Tanzu RabbitMQ is a protocol-based, highly scalable, and easy-to-deploy queuing system that makes handling message traffic virtually effortless.
Tanzu Application Service is an application runtime optimized for Spring and Spring Boot with turnkey microservices, operations, and security.
Tanzu Observability by Wavefront is an enterprise observability that delivers metrics and insights from infrastructure to apps.
Tanzu Service Mesh is an enterprise-class service mesh technology to connect and protect your microservices on multi-cluster Kubernetes.
VMware Pivotal Labs is a cloud native experts accelerate software delivery and modernize your apps while reducing operating costs and risk.
Pivotal tc Server is a lightweight Java application server that extends Apache Tomcat for use in large-scale mission-critical environments.
Pivotal App Suite is a middleware platform used by developers and ops to build and run cloud-scale custom applications.
VMware Cloud Foundation is an integrated cloud infrastructure and management services for private and public cloud.
VMware Cloud on AWS is a consistent vSphere-based infrastructure delivered on AWS.
VMware Cloud on AWS Outposts is a fully-managed VMware Cloud experience in your data center.
Business-Critical Apps is a consistent infrastructure and operations for your critical workloads, including: Microsoft SQL Server, Oracle, and SAP.
VMware Cloud Provider Platform is a portfolio of private and hybrid cloud services delivered by VMware partners.
VMware Cloud Director Availability is a cloud-based disaster recovery services that VMware Cloud Providers can offer their customers.
Cloud Partner Navigator is a unified partner platform for multi-cloud service delivery and simplified business and customer operations.
VMware Cloud on Dell EMC is a fully-managed VMware Cloud experience deployed on a Dell EMC VxRail appliance.
Cloud Verified Partners is a cloud providers delivering the full power of VMware Cloud infrastructure.
VMware Cloud Director is a leading cloud service delivery platform for secure, differentiated and elastic hybrid cloud services.
VMware Cloud Director service (CDS) is a SaaS implementation of VMware Cloud Director that enables multi-tenancy on VMware Cloud on AWS providing geo expansion and asset-light use cases for VMware Cloud Providers.
NSX Data Center is a network and security virtualization platform.
vRealize Suite & vCloud Suite is a cloud system management platform.
Dell EMC VxRail is a turnkey hyperconverged infrastructure appliance with full VMware integration.
vSAN is a flash-optimized, vSphere-native storage for private and public cloud.
vSphere is an efficient and secure compute virtualization.
vCenter Server is a centralized platform for controlling your vSphere environments.
vRealize Cloud Management is a hybrid cloud management solution that enables you to consistently deploy and operate apps, infrastructure, and platform services.
vRealize Cloud Universal is a SaaS management suite that combines automation, operations, and log analytics in a single license.
vRealize Suite & vCloud Suite is an essential cloud management suites that combine automation and operations with lifecycle management.
vRealize Operations is a unified management platform for planning and scaling SDDC and multi-cloud infrastructure.
vRealize Operations Cloud is a self-driving operations for hands-off and hassle-free hybrid cloud management.
vRealize True Visibility Suite is a suite of management packs to help you monitor heterogeneous environments within vRealize Operations.
vRealize AI Cloud is a platform for the self-driving data center that uses reinforcement learning to continuously optimize your infrastructure.
Integrated OpenStack is a distribution that runs enterprise-grade OpenStack on top of VMware infrastructure.
vRealize Automation is a software to accelerate the delivery of IT services with automation and pre-defined policies.
CloudHealth is a service to optimize and govern financial, operational, and security management in your multi-cloud environment.
vRealize Log Insight is an intelligent log management and analytics tool.
VMware HCX is an app mobility and infrastructure hybridity across any-to-any vSphere environment.
vRealize Network Insight Cloud is an app-centric security and network visibility delivered as-a-service.
VMware Site Recovery is an on-demand disaster recovery as-a-service (DRaaS).
SecureState is a real-time insights for proactive management of cloud security and compliance risks.
VMware Cloud Marketplace is a rich ecosystem of third-party solutions and services designed and tested to run on VMware-based clouds.
NSX Cloud is a hybrid cloud networking and security.
NSX Distributed IDS/IPS is an advanced threat detection engine purpose-built to detect lateral threat movement on east-west network traffic.
VMware SD-WAN by VeloCloud is a platform to access cloud services, private data centers, and SaaS-based applications.
Service-Defined Firewall is an internal firewall that protects both workloads and east-west traffic.
NSX Data Center is an L2-L7 network and security virtualization platform.
NSX Advanced Load Balancer is a multi-cloud load balancing, web application firewall, and application analytics.
Carbon Black Workload is an advanced security purpose-built for workloads that reduces the attack surface and protects critical assets.
NSX Intelligence is a distributed analytics engine that provides automated security policy recommendations & audit trail of security policies.
VMware Carbon Black EDR is an on-premises endpoint detection and response (EDR) for threat hunting and incident response.
Extended detection and response (XDR) is a cloud-native security incident detection, investigation, and response platform for continuous, connected, and automated security operations.
VMware Carbon Black Cloud is a cloud-native endpoint protection platform that helps prevent, detect, and respond to cyberattacks.
VMware Carbon Black App Control is an on-premises app control and critical infrastructure protection.
Workspace ONE](https://www.vmware.com/products/workspace-one.html) is an intelligence-driven digital workspace platform that delivers and manages any app on any device.
Workspace ONE Intelligence gives you insights, app analytics, and automation for your entire digital workspace.
Workspace ONE Assist is a digitally transform employee experience with remote support.
Workspace ONE Intelligent Hub is a securely stay connected and be productive from anywhere on any device.
Workspace ONE UEM Powered by AirWatch is a unified endpoint management (UEM) technology that powers Workspace ONE.
Horizon is a leading platform for managing virtual desktops (VDI), apps, and online services.
Horizon Cloud is a flexible cloud platform for hosting virtual desktops and apps.
NSX for Horizon is a Virtual desktop infrastructure (VDI) networking solution with policies that dynamically follow desktops.
vRealize Operations for Horizon is a monitoring and reporting tool to manage Horizon and XenDesktop/XenApp environments.
Horizon Apps is a unified workspace for published, SaaS, and mobile apps.
App Volumes is a real-time application delivery software with lifecycle management.
vSAN for Horizon is a VDI storage solution with a number of pre-configured appliances optimized for Horizon, including vSAN ReadyNodes and Dell EMC VxRail.
Dynamic Environment Manager is a software for managing consistent desktop experience across virtual, physical and cloud-based desktops.
vSphere is an efficient and secure compute virtualization platform for hybrid cloud.
vSphere Hypervisor is a free, bare-metal hypervisor that virtualizes servers.
vCenter Server is a centralized platform for controlling your vSphere environments.
vCenter Converter is a software that transforms Windows and Linux-based physical machines into virtual machines.
Virtual Volumes is an industry-wide framework that streamlines storage operations and offers freedom of choice.
Pulse IoT Center is an edge infrastructure and IoT device management.
VMware Cloud on Dell EMC is a fully-managed VMware Cloud experience deployed on a Dell EMC VxRail appliance.
Telco Cloud Infrastructure is a multi-tenant platform with compute, storage, networking, management, and operations capabilities.
Uhana by VMware is an AI-based RAN analytics for mobile network operators.
Telco Cloud Platform is a service to deploy network functions, anytime, anywhere in your 5G networks without disruption.
Telco Cloud Operations is an automated service assurance for physical and virtual network management.
VMware Integrated OpenStack Carrier Edition is a carrier-grade OpenStack solution with the fastest path to a fully operational environment.
Telco Cloud Automation is a service to orchestrate and automate the management of any network function and service cross any network and any cloud.
VMware Blockchain is a decentralized trust platform with support for leading execution frameworks.
VMware Learning Platform is a SaaS platform that delivers hands-on virtual IT labs to anyone on the planet at cloud scale.
VMware DevOps Tools Integration
Open Container Initiative is an open governance structure for the express purpose of creating open industry standards around container formats and runtimes.
Buildah is a command line tool to build Open Container Initiative (OCI) images. It can be used with Docker, Podman, Kubernetes.
Podman is a daemonless, open source, Linux native tool designed to make it easy to find, run, build, share and deploy applications using Open Containers Initiative (OCI) Containers and Container Images. Podman provides a command line interface (CLI) familiar to anyone who has used the Docker Container Engine.
Containerdis a daemon that manages the complete container lifecycle of its host system, from image transfer and storage to container execution and supervision to low-level storage to network attachments and beyond. It is available for Linux and Windows.
OKD is a community distribution of Kubernetes optimized for continuous application development and multi-tenant deployment. OKD adds developer and operations-centric tools on top of Kubernetes to enable rapid application development, easy deployment and scaling, and long-term lifecycle maintenance for small and large teams.
OpenShift CLI (oc) is a command line interface tool that extends the capabilities of kubectl with many convenience functions that make interacting with both Kubernetes and OpenShift clusters easier.
OpenShift Serverless CLI (kn) is a command line interface tool to deploy serverless applications, then you’ll want access and control via the kn command.
OpenShift Pipelines CLI (tkn) is a command line interface tool for using Tekton to provide cloud-native CI/CD functionality within the cluster. The tkn command is used to manage the functionality from the CLI.
Red Hat CodeReady Containers is an option to host a local, all-in-one OpenShift 4 cluster on your workstation. CodeReady Containers replaces minishift, used to run OpenShift 3 clusters on your workstation, as a quick and easy method of creating test and development clusters.
Helm CLI is a command line interface tool for deploying and managing Kubernetes applications to your clusters.
OpenShift Hive is an operator which runs as a service on top of Kubernetes/OpenShift. The Hive service can be used to provision and perform initial configuration of OpenShift 4 clusters.
OpenShift Service Mesh is a tool that provides a layer on top of OpenShift for securely connecting services in a consistent manner. This provides centralized control, security and observability across your services without having to modify your applications.
Azure Red Hat OpenShift is a flexible, self-service deployment of fully managed OpenShift clusters. Maintain regulatory compliance and focus on your application development, while your master, infrastructure, and application nodes are patched, updated, and monitored by both Microsoft and Red Hat.
Red Hat OpenShift Service on AWS (ROSA) is a fully-managed and jointly supported Red Hat OpenShift offering that combines the power of Red Hat OpenShift, the industry's most comprehensive enterprise Kubernetes platform, and the AWS public cloud.
Red Hat OpenShift on Google Cloud is a fully-managed and jointly supported Red Hat OpenShift offering that enables you to deploy stateful and stateless apps with nearly any language, framework, database, or service. It gives you a hosted environment entirely on Google Cloud. A hybrid environment where you maintain part of your workload on-premises or in a private hosting environment and migrate the rest to Google Cloud.
Red Hat® Quay is a secure, private container registry that builds, analyzes and distributes container images. It provides a high level of automation and customization.
Kata Operator is an operator to perform lifecycle management (install/upgrade/uninstall) of Kata Runtime on Openshift as well as Kubernetes cluster.
Ansibleis a simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs. It uses a very simple language (YAML, in the form of Ansible Playbooks) that allows you to describe your automation jobs in a way that approaches plain English. Anisble works on Linux (Red Hat EnterPrise Linux(RHEL) and Ubuntu) and Microsoft Windows.
Ansible cmdb is a tool that takes the output of Ansible’s fact gathering and converts it into a static HTML overview page containing system configuration information.
Ansible Inventory Grapher visually displays inventory inheritance hierarchies and at what level a variable is defined in inventory.
Ansible Playbook Grapher is a command line tool to create a graph representing your Ansible playbook tasks and roles.
Ansible Shell is an interactive shell for Ansible with built-in tab completion for all the modules.
Ansible Silo is a self-contained Ansible environment by Docker.
Ansigenome is a command line tool designed to help you manage your Ansible roles.
ARA is a records Ansible playbook runs and makes the recorded data available and intuitive for users and systems by integrating with Ansible as a callback plugin.
GitHub provides hosting for software development version control using Git. It offers all of the distributed version control and source code management functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project.
GitHub Codespaces is an integrated development environment(IDE) on GitHub. That allows developers to develop entirely in the cloud using Visual Studio and Visual Studio Code. GitHub Actions will automate, customize, and execute your software development workflows right in your repository with GitHub Actions. You can discover, create, and share actions to perform any job you'd like, including CI/CD, and combine actions in a completely customized workflow.GitHub Actions for Azure you can create workflows that you can set up in your repository to build, test, package, release and deploy to Azure.Learn more about all other integrations with Azure.
GitLab is a web-based DevOps lifecycle tool that provides a Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features, using an open-source license, developed by GitLab Inc.
Jenkins is a free and open source automation server. Jenkins helps to automate the non-human part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery.
Bitbucket is a web-based version control repository hosting service owned by Atlassian, for source code and development projects that use either Mercurial or Git revision control systems. Bitbucket offers both commercial plans and free accounts. It offers free accounts with an unlimited number of private repositories. Bitbucket integrates with other Atlassian software like Jira, HipChat, Confluence and Bamboo.
Bamboo is a continuous integration (CI) server that can be used to automate the release management for a software application, creating a continuous delivery pipeline.
Codecov is the leading, dedicated code coverage solution. It provides highly integrated tools to group, merge, archive and compare coverage reports. Whether your team is comparing changes in a pull request or reviewing a single commit, Codecov will improve the code review workflow and quality.
Drone is a Continuous Delivery system built on container technology. Drone uses a simple YAML configuration file, a superset of docker-compose, to define and execute Pipelines inside Docker containers.
Travis CI is a hosted continuous integration service used to build and test software projects hosted at GitHub.
Circle CI is a continuous integration and continuous delivery platform that helps software teams work smarter, faster.
Zuul-CI is a program that drives continuous integration, delivery, and deployment systems with a focus on project gating and interrelated projects. Using the same Ansible playbooks to deploy your system and run your tests.
Artifactory is a Universal Artifact Repository Manager developed by JFrog. It supports all major packages, enterprise ready security, clustered, HA, Docker registry, multi-site replication and scalable.
Azure DevOps is a set of services for teams to share code, track work, and ship software; CLIs Build, deploy, diagnose, and manage multi-platform, scalable apps and services; Azure Pipelines Continuously build, test, and deploy to any platform and cloud; Azure Lab Services Set up labs for classrooms, trials, development and testing, and other scenarios.
Team City is a build management and continuous integration server from JetBrains.
Shippable simplifies DevOps and makes it systematic with an Assembly Line platform that is heterogeneous, flexible, and provides complete visibility across your DevOps workflows.
Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.
AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces software packages that are ready to deploy. With CodeBuild, you don't need to provision, manage, and scale your own build servers.
Selenium is a free (open source) automated testing suite for web applications across different browsers and platforms.
Cucumber is a tool based on Behavior Driven Development (BDD) framework which is used to write acceptance tests for the web application. It allows automation of functional validation in easily readable and understandable format (like plain English) to Business Analysts, Developers, and Testers.
JUnit is a unit testing framework for the Java programming language.
Mocha is a JavaScript test framework for Node.js programs, featuring browser support, asynchronous testing, test coverage reports, and use of any assertion library.
Karma is a simple tool that allows you to execute JavaScript code in multiple real browsers.
Jasmine is an open source testing framework for JavaScript. It aims to run on any JavaScript-enabled platform, to not intrude on the application nor the IDE, and to have easy-to-read syntax.
Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by the Apache Software Foundation.
Gradle is an open-source build-automation system that builds upon the concepts of Apache Ant and Apache Maven and introduces a Groovy-based domain-specific language instead of the XML form used by Apache Maven for declaring the project configuration.
Chef is an effortless Infrastructure Suite offers visibility into security and compliance status across all infrastructure and makes it easy to detect and correct issues long before they reach production.
Puppet is an open source tool that makes continuous integration and delivery of your software on traditional or containerized infrastructure easy by pulling together all your existing tools and giving you flexibility to deploy your way.
KubeInit provides Ansible playbooks and roles for the deployment and configuration of multiple Kubernetes distributions.
Salt is Python-based, open-source software for event-driven IT automation, remote task execution, and configuration management. Supporting the "Infrastructure as Code" approach to data center system and network deployment and management, configuration automation, SecOps orchestration, vulnerability remediation, and hybrid cloud control.
Terraform is an open-source infrastructure as code software tool created by HashiCorp.It enables users to define and provision a datacenter infrastructure using a high-level configuration language known as Hashicorp Configuration Language (HCL), or optionally JSON.
Consul is a service networking solution to connect and secure services across any runtime platform and public or private cloud.
Packer is lightweight, runs on every major operating system, and is highly performant, creating machine images for multiple platforms in parallel. Packer does not replace configuration management like Chef or Puppet. In fact, when building images, Packer is able to use tools like Chef or Puppet to install software onto the image.
Nomad is a highly available, distributed, data-center aware cluster and application scheduler designed to support the modern datacenter with support for long-running services, batch jobs, and much more.
Vagrant is a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time and increases production parity.
Vault is a tool for securely accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, certificates, and more. Vault provides a unified interface to any secret, while providing tight access control and recording a detailed audit log.
CFEngine is an open-source configuration management system, written by Mark Burgess.Its primary function is to provide automated configuration and maintenance of large-scale computer systems, including the unified management of servers, desktops, consumer and industrial devices, embedded networked devices, mobile smartphones, and tablet computers.
Octpus Deploy is the deployment automation server for your entire team, designed to make it easy to orchestrate releases and deploy applications, whether on-premises or in the cloud.
AWS CodeDeploy is a fully managed deployment service that automates software deployments to a variety of compute services such as Amazon EC2, AWS Fargate, AWS Lambda, and your on-premises servers. AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications.
Kubernetes is an open-source container-orchestration system for automating application deployment, scaling, and management. It was originally designed by Google, and is now maintained by the Cloud Native Computing Foundation.
Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. All containers are run by a single operating-system kernel and are thus more lightweight than virtual machines.
PowerShell/PowerShell Core is a cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework that works well with your existing tools and is optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models. It includes a command-line shell, an associated scripting language and a framework for processing cmdlets.
Hyper-V creates virtual machines on Windows 10. Hyper-V can be enabled in many ways including using the Windows 10 control panel, PowerShell or using the Deployment Imaging Servicing and Management tool (DISM).
Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that runs on top of KVM. The project focuses on exclusively running modern, cloud workloads, on top of a limited set of hardware architectures and platforms. Cloud workloads refers to those that are usually run by customers inside a cloud provider. Cloud Hypervisor is implemented in Rust and is based on the rust-vmm crates.
VMware vSphere Hypervisor is a bare-metal hypervisor that virtualizes servers; allowing you to consolidate your applications while saving time and money managing your IT infrastructure.
VMware vSphere is the industry-leading compute virtualization platform, and your first step to application modernization. It has been rearchitected with native Kubernetes to allow customers to modernize the 70 million+ workloads now running on vSphere.
VMware Tanzu is a centralized management platform for consistently operating and securing your Kubernetes infrastructure and modern applications across multiple teams and private/public clouds.
Rancher is a complete software stack for teams adopting containers. It addresses the operational and security challenges of managing multiple Kubernetes clusters, while providing DevOps teams with integrated tools for running containerized workloads.
K3s is a highly available, certified Kubernetes distribution designed for production workloads in unattended, resource-constrained, remote locations or inside IoT appliances.
Rook is an open source cloud-native storage orchestrator for Kubernetes that turns distributed storage systems into self-managing, self-scaling, self-healing storage services. It automates the tasks of a storage administrator: deployment, bootstrapping, configuration, provisioning, scaling, upgrading, migration, disaster recovery, monitoring, and resource management.
Google Kubernetes Engine (GKE) is a managed, production-ready environment for deploying containerized applications.
Anthos is a modern application management platform that provides a consistent development and operations experience for cloud and on-premises environments.
AWS ECS is a highly scalable, high-performance container orchestration service that supports Docker containers and allows you to easily run and scale containerized applications on AWS. Amazon ECS eliminates the need for you to install and operate your own container orchestration software, manage and scale a cluster of virtual machines, or schedule containers on those virtual machines.
Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks. It can run Hadoop, Jenkins, Spark, Aurora, and other frameworks on a dynamically shared pool of nodes.
Apache Spark is a unified analytics engine for big data processing, with built-in modules for streaming, SQL, machine learning and graph processing.
Apache Hadoop is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.
Microsoft Azure is a cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services through Microsoft-managed data centers.
Azure Functions is a solution for easily running small pieces of code, or "functions," in the cloud. You can write just the code you need for the problem at hand, without worrying about a whole application or the infrastructure to run it.
Rkt is a pod-native container engine for Linux. It is composable, secure, and built on standards.
AWS Lambda is an event-driven, serverless computing platform provided by Amazon as a part of the Amazon Web Services. It is a computing service that runs code in response to events and automatically manages the computing resources required by that code.
Helm is the Kubernetes Package Manager.
Kubespray is a tool that combines Kubernetes and Ansible to easily install Kubernetes clusters that can be deployed on AWS, GCE, Azure, OpenStack, vSphere, Packet (bare metal), Oracle Cloud Infrastructure (Experimental), or Baremetal
OKD is a community distribution of Kubernetes optimized for continuous application development and multi-tenant deployment. OKD adds developer and operations-centric tools on top of Kubernetes to enable rapid application development, easy deployment and scaling, and long-term lifecycle maintenance for small and large teams.
Odo is a fast, iterative, and straightforward CLI tool for developers who write, build, and deploy applications on Kubernetes and OpenShift.
Knative is a Kubernetes-based platform to build, deploy, and manage modern serverless workloads. Knative takes care of the operational overhead details of networking, autoscaling (even to zero), and revision tracking.
Etcd is a distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. Etcd is used as the backend for service discovery and stores cluster state and configuration for Kubernetes.
OpenStack is a free and open-source software platform for cloud computing, mostly deployed as infrastructure-as-a-service that controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprise and open source technologies making it ideal for heterogeneous infrastructure.
Cloud Foundry is an open source, multi cloud application platform as a service that makes it faster and easier to build, test, deploy and scale applications, providing a choice of clouds, developer frameworks, and application services. It is an open source project and is available through a variety of private cloud distributions and public cloud instances.
Splunk software is used for searching, monitoring, and analyzing machine-generated big data, via a Web-style interface.
Prometheus is a free software application used for event monitoring and alerting. It records real-time metrics in a time series database (allowing for high dimensionality) built using a HTTP pull model, with flexible queries and real-time alerting.
Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective and easy to operate. It does not index the contents of the logs, but rather a set of labels for each log stream.
Thanos is a set of components that can be composed into a highly available metric system with unlimited storage capacity, which can be added seamlessly on top of existing Prometheus deployments.
Container Storage Interface (CSI) is an API that lets container orchestration platforms like Kubernetes seamlessly communicate with stored data via a plug-in.
OpenEBS is a Kubernetes-based tool to create stateful applications using Container Attached Storage.
ElasticSearch is a search engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. Elasticsearch is developed in Java.
Logstash is a tool for managing events and logs. When used generically, the term encompasses a larger system of log collection, processing, storage and searching activities.
Kibana is an open source data visualization plugin for Elasticsearch. It provides visualization capabilities on top of the content indexed on an Elasticsearch cluster. Users can create bar, line and scatter plots, or pie charts and maps on top of large volumes of data.
New Relic is a SaaS-based monitoring tool that fully supports the way DevOps teams work in the modern enterprise by streamlining your workflows with today's collaboration software and orchestration tools like Puppet, Chef, and Ansible.
Nagios is a free and open source computer-software application that monitors systems, networks and infrastructure. Nagios offers monitoring and alerting services for servers, switches, applications and services. It alerts users when things go wrong and alerts them a second time when the problem has been resolved.
SonarQube is an open-source platform developed by SonarSource for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities on 20+ programming languages.
Genie is a federated job orchestration engine developed by Netflix. Genie provides REST APIs to run a variety of big data jobs like Hadoop, Pig, Hive, Spark, Presto, Sqoop and more. It also provides APIs for managing the metadata of many distributed processing clusters and the commands and applications which run on them.
Inviso is a lightweight tool that provides the ability to search for Hadoop jobs, visualize the performance, and view cluster utilization.
Fenzo is a scheduler Java library for Apache Mesos frameworks that supports plugins for scheduling optimizations and facilitates cluster autoscaling.
Dynomite is a thin, distributed dynamo layer for different storage engines and protocols, which includes Redis and Memcached. Dynomite supports multi-datacenter replication and is designed for High Availability(HA).
Dyno is a tool that is used to scale a Java client application utilizing Dynomite.
Raigad is a process/tool that runs alongside Elasticsearch to automate backup/recovery, Deployments and Centralized Configuration management.
Priam is a process/tool that runs alongside Apache Cassandra to automate backup/recovery, Deployments and Centralized Configuration management.
Chaos Monkey is a resiliency tool used to randomly terminates virtual machine instances and containers that run inside of your production environment. Chaos Monkey should work with any backend that Spinnaker supports (AWS, Google Compute Engine, Microsoft Azure, Kubernetes, and Cloud Foundry).
Falcor is a JavaScript library for efficient data fetching. Falcor lets you represent all your remote data sources as a single domain model via a virtual JSON graph, whether in memory on the client or over the network on the server.
Restify is a framework, utilizing connect style middleware for building REST APIs.
Traefik is an open source Edge Router that makes publishing your services a fun and easy experience. It receives requests on behalf of your system and finds out which components are responsible for handling them. What sets Traefik apart, besides its many features, is that it automatically discovers the right configuration for your services.
Jira is a proprietary issue tracking product developed by Atlassian that allows bug tracking and agile project management.
Pivotal Tracker is the agile project management tool of choice for developers around the world for real-time collaboration around a shared, prioritized backlog.
Networking
Networking Learning Resources
AWS Certified Security - Specialty CertificationMicrosoft Certified: Azure Security Engineer Associate
Google Cloud Certified Professional Cloud Security Engineer
The Red Hat Certified Specialist in Security: Linux
Linux Professional Institute LPIC-3 Enterprise Security Certification
Cybersecurity Training and Courses from IBM Skills
Cybersecurity Courses and Certifications by Offensive Security Citrix Certified Associate – Networking(CCA-N)
Citrix Certified Professional – Virtualization(CCP-V)
Certified Information Security Manager(CISM)
Wireshark Certified Network Analyst (WCNA)
Juniper Networks Certification Program Enterprise (JNCP)
Networking courses and specializations from Coursera
Network & Security Courses from Udemy
Network & Security Courses from edX
Tools & Networking Concepts
• Connection: In networking, a connection refers to pieces of related information that are transferred through a network. This generally infers that a connection is built before the data transfer (by following the procedures laid out in a protocol) and then is deconstructed at the at the end of the data transfer. • Packet: A packet is, generally speaking, the most basic unit that is transferred over a network. When communicating over a network, packets are the envelopes that carry your data (in pieces) from one end point to the other. Packets have a header portion that contains information about the packet including the source and destination, timestamps, network hops. The main portion of a packet contains the actual data being transferred. It is sometimes called the body or the payload.• Network Interface: A network interface can refer to any kind of software interface to networking hardware. For instance, if you have two network cards in your computer, you can control and configure each network interface associated with them individually. A network interface may be associated with a physical device, or it may be a representation of a virtual interface. The "loop-back" device, which is a virtual interface to the local machine, is an example of this.
• LAN: LAN stands for "local area network". It refers to a network or a portion of a network that is not publicly accessible to the greater internet. A home or office network is an example of a LAN. • WAN: WAN stands for "wide area network". It means a network that is much more extensive than a LAN. While WAN is the relevant term to use to describe large, dispersed networks in general, it is usually meant to mean the internet, as a whole. If an interface is connected to the WAN, it is generally assumed that it is reachable through the internet.
• Protocol: A protocol is a set of rules and standards that basically define a language that devices can use to communicate. There are a great number of protocols in use extensively in networking, and they are often implemented in different layers. Some low level protocols are TCP, UDP, IP, and ICMP. Some familiar examples of application layer protocols, built on these lower protocols, are HTTP (for accessing web content), SSH, TLS/SSL, and FTP.
• Port: A port is an address on a single machine that can be tied to a specific piece of software. It is not a physical interface or location, but it allows your server to be able to communicate using more than one application. • Firewall: A firewall is a program that decides whether traffic coming into a server or going out should be allowed. A firewall usually works by creating rules for which type of traffic is acceptable on which ports. Generally, firewalls block ports that are not used by a specific application on a server. • NAT: Network address translation is a way to translate requests that are incoming into a routing server to the relevant devices or servers that it knows about in the LAN. This is usually implemented in physical LANs as a way to route requests through one IP address to the necessary backend servers. • VPN: Virtual private network is a means of connecting separate LANs through the internet, while maintaining privacy. This is used as a means of connecting remote systems as if they were on a local network, often for security reasons.
Network Layers
While networking is often discussed in terms of topology in a horizontal way, between hosts, its implementation is layered in a vertical fashion throughout a computer or network. This means is that there are multiple technologies and protocols that are built on top of each other in order for communication to function more easily. Each successive, higher layer abstracts the raw data a little bit more, and makes it simpler to use for applications and users. It also allows you to leverage lower layers in new ways without having to invest the time and energy to develop the protocols and applications that handle those types of traffic. As data is sent out of one machine, it begins at the top of the stack and filters downwards. At the lowest level, actual transmission to another machine takes place. At this point, the data travels back up through the layers of the other computer. Each layer has the ability to add its own "wrapper" around the data that it receives from the adjacent layer, which will help the layers that come after decide what to do with the data when it is passed off. One method of talking about the different layers of network communication is the OSI model. OSI stands for Open Systems Interconnect.This model defines seven separate layers. The layers in this model are:
• Application: The application layer is the layer that the users and user-applications most often interact with. Network communication is discussed in terms of availability of resources, partners to communicate with, and data synchronization. • Presentation: The presentation layer is responsible for mapping resources and creating con
README truncated. View on GitHub