Network automation course description This course is not a soft skills course covering the concepts of DevOps but instead concentrates on the technical side of tools and languages for network DevOps. Particular technologies focussed on are ansible, git and Python enabling delegates to leave the course ready to starting automating their network. Hands on sessions follow all major sections. More detailed courses on individual aspects of this course are available. What will you learn Evaluate network automation tools. Automate tasks with ansible. Use git for version control. Use Python to manage network devices. Use Python libraries for network devices. Network automation course details Who will benefit: Network engineers. Prerequisites: TCP/IP foundation for engineers. Duration 5 days Network automation course contents What is DevOps Programming and automating networks, networks and clouds, AWS, OpenStack, SDN, DevOps for network operations. Initial configuration Configuring SSH, ZTP, POAP. Hands on Initial lab configuration. Getting started with ansible The language, the engine, the framework. Uses of ansible, orchestration. The architecture, Controlling machines, nodes, Agentless, SSH, modules. Configuration management, inventories, playbooks, modules, roles. Hands on Installing ansible, running ad hoc commands. Ansible playbooks ansible-playbook, YAML, plays, tasks, handlers, modules. Playbook variables. Register module, debug module. Hands on Running playbooks. Ansible Inventories /etc/ansible/hosts, hosts, groups, static inventories, dynamic inventories. Inventory variables, external variables. Limiting hosts. Hands on Static inventories, variables in inventory files. Ansible modules for networking Built in modules, custom modules, return values. Core modules for network operations. Cisco and/ or Juniper modules. ansible_connection. Ansible 2.6 CLI. Hands on Using modules. Ansible templating and roles Configuration management, full configurations, partial configurations. The template module, the assemble module, connection: local, Jinja2 templates, variables, if, for, roles. Hands on Generating multiple configurations from a template. Network programming and modules Why use Python? Why use ansible? alternatives, ansible tower, Linux network devices. Programming with Python Scripting versus application development, Python interactive mode, Python scripts, Python 2.7 vs Python 3. A simple Python script. Variables, loops, control statements, operators. PEP style guide. Python IDEs. Hands on Simple Python programs. More Python programming Functions. Classes, objects and instances, modules, libraries, packages. Python strings, Python file handling, pip list, pip install, Hands on Python programming with pyping. Git Distributed version control, repositories, Git and GitHub, Alternatives to GitHub, Installing git, git workflows, creating repositories, adding and editing files, branching and merging, merge conflicts. Hands on working with Git. Python and networking APIs, Sockets, Telnetlib, pysnmp, ncclient, ciscoconfparse. Paramiko SSH and Netmiko Integrating Python and network devices using SSH. Netmiko, Netmiko methods. Hands on Netmiko. PyEZ Juniper, NETCONF, installing PyEZ, a first pyEZ script, pyEZ configuration management. Hands on Juniper configuration management with pyEZ. NAPALM What is NAPALM, NAPALM operations, getters, Replace, merge, compare, commit, discard. Hands on Configuration with NAPALM. Integrating ansible and NAPALM. Python and REST REST APIs, enabling the REST API. Accessing the REST API with a browser, cURL, Python and REST, the request library. Hands on Using a REST API with network devices.
C++ training course description A hands on introduction to programming in the C++ language. The course concentrates on aspects that will be new to experienced C programmers and so is not suitable for those without C knowledge. What will you learn Write C++ programs Debug C++ programs. Examine existing code and determine its function. Use classes, function overloading, operator overloading, inheritance and virtual functions within C++ programs. C++ training course details Who will benefit: Programmers needing to write C++ code. Programmers needing to maintain C++ code. Prerequisites: C programming foundation. Duration 5 days C++ training course contents The origins of C++ C++ as a better C, C++ and Object Oriented Programming, encapsulation, polymorphism, inheritance. C++ standards. Getting started Simple C++ programs. Classes Basics, constructor and destructor functions, member and friend functions. Using objects. Default, copy and conversion constructors. A better C Arrays, pointers and references, new and delete. Improved safety with smart pointers, Resource Acquisition in Initialization (RAII). Functions in C++ Function overloading, default arguments, inline functions, Lambda functions. Templates Template classes and functions. Standard Library Containers, Iterators, algorithms, function objects. Operator overloading Basics, binary operators, the this pointer, relational operators, unary operators. Members versus friends. Inheritance Base class access control, protected members, multiple inheritance, virtual base classes. More I/O Manipulators, customising inserters, extractors. File I/O. Virtual functions Pointers to derived classes, run time polymorphism. Exception handling Throwing errors, trying code and catching errors.
Advanced C++ training course description The course will give a broad overview of the C++ Programming language, focusing on modern C++, up to C++17. This course will cover the use of the Standard Library, including containers, iterator, function objects and algorithms. From the perspective of application development, a number of design patterns will be considered. What will you learn Write C++ programs using the more esoteric language features. Utilise OO techniques to design C++ programs. Use the standard C++ library. Exploit advanced C++ techniques Advanced C++ training course details Who will benefit: Programmers needing to write C++ code. Programmers needing to maintain C++ code. Prerequisites: C++ programming foundation. Duration 5 days Advanced C++ training course contents Study of a string class Create a string class as a means to investigate many issues, involving the use of operator overloading and including overloading new and delete. Creation of the class will also require consideration of 'const correctness'. Exception handling Consider the issues involved in exception handling including the concept of exception safety. Templates Review definition of template functions, including template parameter type deduction. Introduction to template metaprogramming. Newer features including template template parameters and variadic templates. Creation of template classes. Design patterns Introduction to Design Patterns and consideration of a number of patterns, such as, factory method, builder, singleton and adapter. The standard C++ library (STL) Standard Library features, such as, Containers, Iterator, Function Objects and Algorithms. Introduction to Lambda expressions. C++ and performance The writing of code throughout the course will be oriented towards performant code, including use of R Value references and 'move' semantics. Pointers The use of pointers will be considered throughout the course. Smart pointers will be considered to improve program safety and help avoid the use of 'raw' pointers. Threading This section will consider the creation of threads and synchronisation issues. A number of synchronisation primitives will be considered. Async and the use of Atomic will also be considered. New ANSI C++ features Summarising some of the newer features to be considered are: Auto, Lambdas expression, smart pointers, variadic templates and folds, R Value references and tuple together with structured binding.
Complete VB.Net training course description A hands on introduction to programming in Visual BASIC .Net. What will you learn Build Visual BASIC applications. Build simple components Debug Visual BASIC programs. Examine existing code and determine its function. Complete VB.Net training course details Who will benefit: Anyone wishing to program in Visual BASIC. Anyone wishing to build Windows based applications. Prerequisites: None although experience in another high level language would be useful. Duration 5 days Complete VB.Net training course contents Writing your first program Visual Studio, forms designer, running VB programs, the UI, properties, writing the code. Toolbox Controls Basic use, input controls, ActiveX controls. Menus and Dialog Boxes Menus, Dialog Box controls, event procedures. Visual Basic .NET variables and operators Variables, I/O, data types, constants, operators, Math Methods, precedence. Decision Structures and Loops and Timers Event-Driven programming, Ifâ¦Then, Select Case, Forâ¦Next Loops, Timer Control. Debugging Visual Basic .NET Programs Break Mode, watch & command windows. Structured Error Handling Try...Catch, Finally, Err Object, retry periods. Modules and Procedures Standard modules, public variables, procedures. Arrays and Collections to Manage Data Fixed-Size & dynamic Arrays, ReDim Preserve, object collections, Controls Collection. Text Files and String Processing Text Box object, Text String methods, sorting. Automating Office Applications Application objects, automation in VB, the Object Browser, the Process Component. Deploying Visual Basic .NET Applications Planning a deployment, ways to deploy an application, deployment projects, options. Managing Windows Forms Forms, positioning, manipulation, adding controls, organizing controls, Startup Object. Adding Graphics and Animation Effects System.Drawing namespace, coordinates, SystemPaint Event, animation, transparency. Inheriting Forms and Creating Base Classes Inheriting forms, inheritance picker, base classes and inheritance, classes in projects. Working with Printers PrintDocument class, Text Box object, Print Preview and Page Setup Dialog Boxes. Database programming with ADO.NET Databases, ADO.NET, Data Adapters, Datasets, Bound & Navigation Controls. Displaying database records, formatting DataGrid cells, updating the database. Displaying HTML Documents Using IE IE Object, Internet Controls, IE Events. Web Forms for Interactive Web Applications ASP.NET, Web Forms vs. Windows Forms, HTML controls, web applications, event procedures for web forms controls.
UNIX Virtualization and High Availability course description This course covers administering UNIX enterprise-wide with an emphasis on virtualization and high availability. What will you learn Manage Virtual Machines. Manage containers. Manage HA clusters. Manage HA cluster storage. UNIX Virtualization and High Availability course details Who will benefit: Enterprise-level UNIX professional. UNIX professionals working with virtualization and/or High availability. Prerequisites: Linux network administration 2 (LPIC-2) Duration 5 days UNIX Virtualization and High Availability course contents VIRTUALIZATION Virtualization concepts and theory Terminology, Pros and Cons of virtualization, variations of Virtual Machine monitors, migration of physical to VMs, migration of VMs between host systems, cloud computing. Xen Xen architecture, networking and storage, Xen configuration, Xen utilities, troubleshooting Xen installations, XAPI, XenStore, Xen Boot Parameters, the xm utility. KVM KVM architecture, networking and storage, KVM configuration, KVM utilities, troubleshooting KVM installations. Other virtualization solutions OpenVZ and LXC, other virtualization technologies, virtualization provisioning tools. Libvirt and Related Tools libvirt architecture, networking and storage, basic technical knowledge of libvirt and virsh, oVirt. Cloud Management Tools Basic feature knowledge of OpenStack and CloudStack, awareness of Eucalyptus and OpenNebula. Containers Containers versus VMs, Docker, Kubernetes. Load balanced clusters of LVS/IPVS, VRRP, configuration of keepalived, configuration of ldirectord, backend server network configuration. HAProxy, configuration of HAProxy. Failover clusters Pacemaker architecture and components (CIB, CRMd, PEngine, LRMd, DC, STONITHd), Pacemaker cluster configuration, Resource classes (OCF, LSB, Systemd, Upstart, Service, STONITH, Nagios), Resource rules and constraints (location, order, colocation), Advanced resource features (templates, groups, clone resources, multi-state resources), Pacemaker management using pcs, Pacemaker management using crmsh, configuration and management of corosync in conjunction with Pacemaker, other cluster engines (OpenAIS, Heartbeat, CMAN). HIGH AVAILABILITY CLUSTER STORAGE DRBD/cLVM DRBD resources, states and replication modes, configuration of DRBD resources, networking, disks and devices, configuration of DRBD automatic recovery and error handling, management of DRBD using drbdadm. drbdsetup and drbdmeta, Integration of DRBD with Pacemaker, cLVM, integration of cLVM with Pacemaker. Clustered File Systems Principles of cluster file systems. Create, maintain and troubleshoot GFS2 file systems in a cluster, create, maintain and troubleshoot OCFS2 file systems in a cluster, Integration of GFS2 and OCFS2 with Pacemaker, the O2CB cluster stack, other commonly used clustered file systems.
Complete C programming training course description A hands-on introduction to programming in the ANSI C programming language. The course initially moves at a fast pace in order to spend as much time as possible on the subject of pointers - the area which cause the most bugs in C programs. What will you learn Write ANSI C programs Use the C libraries Debug C programs Examine existing code and determine its function. Complete C programming training course details Who will benefit: Programmers wishing to learn C. Programmers wishing to learn C++ or Java. Prerequisites: None, although experience in another high level language would be useful. Duration 5 days Complete C programming training course contents Getting started The compilation process, comments, main(), statement blocks, printf(). C data types and operators char, int, float and double, qualifiers, arithmetic and assignment operators, precedence, Associativity. Basic I/O C libraries, stdin and stdout, getchar(), putchar(), printf() formatting. Flow control if else, dangling elses, else if, while and for loops. switch statements, the null statement, break, continue and gotos. Functions Function calls, arguments and return types, function declarations (prototypes), function definitions, scope of variables. The preprocessor Preprocessor actions, macros, #include. Libraries and their relationship with header files. Conditional compilation. More data types and operators Logical, bitwise and other operators, type conversion, casting, typedefs and access modifiers. Arrays Declaring and handling arrays, common gotchas, multidimensional arrays. Pointers What are pointers? Why they are so important, declaring and using pointers,The three uses of the *,pointer example - scanf, pointers as arguments. More pointers Golden rules of pointers and arrays, pointers to arrays, pointer arithmetic, arrays of pointers, multiple indirection. Character/string manipulation Arrays of characters, string definition, working with strings, String library. Program arguments argc and argv, example uses,char *argv[] versus char ** argv. Program structure and storage classes Globals (externals), multi source programs, the look of a C program. Structures Declaration, the . and - operators, unions and bitfields. Library functions File handling, fopen and fclose, reading from and writing to files, fseek().calloc() and malloc()
VMware training course description This five-day VMware course features intensive handson training that focuses on installing, configuring, and managing VMware vSphere 8, which includes VMware ESXi 8 and VMware vCenter 8. This course prepares you to administer a vSphere infrastructure for an organization of any size. This course is the foundation for most VMware technologies in the software-defined data center. What will you learn Install and configure ESXi hosts. Deploy and configure vCenter. Create virtual networks using standard and distributed switches. Configure VMs, templates, clones, and snapshots. Manage virtual machine resource allocation. Migrate virtual machines with vSphere vMotion and vSphere Storage vMotion. VMware training course details Who will benefit: Systems administrators and engineers. Prerequisites: Introduction to data communications & networking. Windows/Linux Administration. Duration 5 days VMware training course contents Course Introduction Introductions and course logistics. Course objectives vSphere and Virtualization Overview Explain basic virtualization concepts, Describe how vSphere fits in the software-defined data center and the cloud infrastructure, Recognize the user interfaces for accessing vSphere, Explain how vSphere interacts with CPUs, memory, networks, storage, and GPUs Installing and Configuring ESXi Install an ESXi host, Recognize ESXi user account best practices, Configure the ESXi host settings using the DCUI and VMware Host Client Deploying and Configuring vCenter Recognize ESXi hosts communication with vCenter, Deploy vCenter Server Appliance, Configure vCenter settings, Use the vSphere Client to add and manage license keys, Create and organize vCenter inventory objects, Recognize the rules for applying vCenter permissions, View vCenter logs and events Configuring vSphere Networking Configure and view standard switch configurations, Configure and view distributed switch configurations, Recognize the difference between standard switches and distributed switches, Explain how to set networking policies on standard and distributed switches Configuring vSphere Storage Recognize vSphere storage technologies, Identify types of vSphere datastores, Describe Fibre Channel components and addressing, Describe iSCSI components and addressing, Configure iSCSI storage on ESXi, Create and manage VMFS datastores, Configure and manage NFS datastores Deploying Virtual Machines Create and provision VMs, Explain the importance of VMware Tools, Identify the files that make up a VM Recognize the components of a VM, Navigate the vSphere, Client and examine VM settings and options, Modify VMs by dynamically increasing resources, Create VM templates and deploy VMs from them, Clone VMs, Create customization specifications for guest operating systems, Create local, published, and subscribed content libraries, Deploy VMs from content libraries, Manage multiple versions of VM templates in content libraries Managing Virtual Machines Recognize the types of VM migrations that you can perform within a vCenter instance and across vCenter instances, Migrate VMs using vSphere vMotion, Describe the role of Enhanced vMotion Compatibility in migrations, Migrate VMs using vSphere Storage vMotion, Take a snapshot of a VM, Manage, consolidate, and delete snapshots, Describe CPU and memory concepts in relation to a virtualized environment, Describe how VMs compete for resources Define CPU and memory shares, reservations, and limits Deploying and Configuring vSphere Clusters Create a vSphere cluster enabled for vSphere DRS and vSphere HA, View information about a vSphere cluster Explain how vSphere DRS determines VM placement on hosts in the cluster, Recognize use cases for vSphere DRS settings, Monitor a vSphere DRS cluster Describe how vSphere HA responds to various types of failures, Identify options for configuring network redundancy in a vSphere HA cluster, Recognize vSphere HA design considerations, Recognize the use cases for various vSphere HA settings, Configure a vSphere HA cluster, Recognize when to use vSphere Fault Tolerance Managing the vSphere Lifecycle Enable vSphere Lifecycle Manager in a vSphere cluster, Describe features of the vCenter Update Planner, Run vCenter upgrade prechecks and interoperability reports, Recognize features of vSphere Lifecycle Manager, Distinguish between managing hosts using baselines and managing hosts using images, Describe how to update hosts using baselines, Describe ESXi images, Validate ESXi host compliance against a cluster image and update ESXi hosts, Update ESXi hosts using vSphere Lifecycle Manager, Describe vSphere Lifecycle Manager automatic recommendations, Use vSphere Lifecycle Manager to upgrade VMware Tools and VM hardware
Software comes in a variety of guises - application software, firmware, middleware, system software. Increasingly, however, it doesn't necessarily present that way, especially as the boundaries between software, data and source code are becoming more and more blurred. And as software becomes more complex and more difficult to disentangle, so it becomes harder to manage and to value. But as it becomes more integral to every aspect of a business, so it is ever more important to keep on top of the technical, legal and commercial issues that arise, issues such as: To address these issues, organisations need a process for evaluating their current situation from all perspectives and for identifying the key actions they need to take to ensure holistic management of their software. This very practical programme will help set your organisation on the right path. Note: this is an indicative agenda, to be used as a starting point for a conversation between client and consultant, depending on the organisation's specific situation and requirements. This programme is designed to give you a deeper understanding of: The technical, legal and commercial risks associated with software development, procurement, use and commercial exploitation The most appropriate processes and responsibilities for managing those risks Note: this is an indicative agenda, to be used as a starting point for a conversation between client and consultant, depending on the organisation's specific situation and requirements. 1 Software business model What is the software business model? What options exist? Has the software business model been thoroughly reviewed to ensure its viability? This means fully understanding the market opportunity, the business environment and customer and end-user expectations. 2 Technology What are the technologies? How has the technology selection been validated considering the competitiveness, structure, and potential for future innovation? 3 UI and UX What is the UI and UX? How to best articulate this? Has the user interface and user experience been studied from both a subjective and objective view to give insight into customer behaviour? 4 Legal framework / commercial aspects Has the necessary legal framework or commercial aspects that may impact upon use or operation of the software been understood and risks identified and mitigated? 5 Software development What is the software development process? Are both the business management and development team's processes resilient in order to improve the company's capability and the maturity of the software? 6 Software quality What is quality? What are the metrics around software quality? What is the maturity level, based around a qualitative and quantitative assessment? 7 Intellectual property associated What IP should be considered when it comes to software? Does the company understand both the intellectual property risks and potential opportunities associated with this software? 8 Security What does software security mean in this context? How is it being addressed? 9 An holistic approach Review of roles and responsibilities to ensure appropriate management and protection
Ansible for engineers training course description An introduction to automation using ansible. Ansible is a general purpose IT automation platform that can be use for a number of purposes. The course covers configuration management, cloud provisioning and application deployment with ansible. Hands on sessions follow all major sections. What will you learn Install ansible. Automate tasks with ansible. Write ansible playbooks. Ansible for engineers training course details Who will benefit: Administrators and developers automating tasks. Prerequisites: Linux administration skills Duration 3 days Ansible for engineers training course contents What is ansible? The language, the engine, the framework. Uses of ansible, orchestration. Hands on Installing ansible. Ansible architecture ible architecture Controlling machines, nodes, Agentless, SSH, modules, JSON protocol. Configuration management, inventories, playbooks, modules, roles. Hands on Getting started, running ad hoc commands. Ansible and Vagrant Prototyping and testing. Hands on Using ansible with Vagrant. Ad hoc commands Parallelism, shell commands, managing files and directories, file transfer, package management, manage user and groups, deploying applications, service management, background jobs, checking log files, managing cron jobs. Hands on Using ansible with Vagrant. Playbooks ansible-playbook, users, sudo, YAML, plays, tasks, handlers, modules. Hands on Running playbooks. More playbooks Handlers, variables, environmental variables, playbook variables, inventory variables, variable scope and precedence, accessing variables, facts, ansible vault. Conditionals, wait_for. Hands on Using variables and conditions in playbooks. Roles and includes Dynamic includes, Handler includes, playbook includes. Roles, role parts: handlers, files, templates, cross platform roles, ansible galaxy. Hands on includes example, building roles. Inventories /etc/ansible/hosts, inventory variables, static inventories, dynamic inventories. Hands on Inventories and variables. Miscellanea Individual server cookbooks, Main playbook for configuring all servers. Hands onPlaybooks.
CPRI training course description This course is designed to give the delegate a technical overview of the CPRI protocols and link setup. We will explain the industry cooperation to define the key internal interface between the radio equipment control (REC) and the radio equipment (RE). Also explained will be the SAP that the CPRI link supports for IQ Interface, frame synchronisation, link control and management and the master and slave ports. We will investigate the CPRI block diagram and together with the data formats and sample mapping solutions. The CPRI frame hierarchy and hyperframe construction will be detailed during this three day overview course. What will you learn Explain the CPRI Block diagram. Understand hyperframing capabilities. Explain the CPRI frame format. Understand how the synchronisation is compliant with 3GPP & WiMAX requirements. Understand the two electrical characteristics of CPRI standard. Understand the CPRI standards structure. Understand the CPRI system & Interface definitions. List the four standard bit rates of the CPRI specification. Understand the CPRI Protocol stacks. CPRI training course details Who will benefit: Anyone looking for a technical overview of the CPRI protocols and link set up. Prerequisites: None. Duration 3 days CPRI training course contents System Description Subsystems. Nodes. Protocol layers. Protocol data planes. User data planes. Antenna carriers. Service Access Points (SAP). Link. Passive Link. Hop. Multi-hop Connection. Logical Connection. Master Port & Slave Port. System Architecture Basic System Architecture & Common Public Radio Interface Definition. System Architecture with a link between Res. Reference configurations: Chain topology, Tree topology, Ring topology. RECs & REs in both chain & tree topology Functional description Radio Functionality. Functional Decomposition between REC and RE: For UTRA FDD, For WiMAX & E-UTRA, For GSM. CPRI Control Functionality. Interface Baseline Interface Specification. Protocol Overview. IQ Data. Synchronisation. L1 Inband Protocol. C & M Data. Protocol Extensions. Vendor Specific Information. Physical Layer Specifications Line Bit Rate. Physical Layer Modes. Electrical Interface. Optical Interface. Line Coding. Bit Error Correction/Detection. Frame Structure. Mapping Methods. Container Blocks. Hyperframes. GSM, UMTS & WiMAX Timing. Link Delay Accuracy & Cable Delay Calibration. Link Maintenance Data Link Layer (Layer 2) Specification Layer 2 Framing for Fast & Slow C & M Channels. Medium Access Control/Data Mapping. Flow Control. Start-up Sequence General. Layer 1 Start-up Timer. State Description. Transition Description. Interoperability Reserved Bandwidth. Version Numbers. Supplementary Specification Details Delay Calibration Example. Reference Test Points. List of Abbreviations & Gloss