Log into JUMPBOX VM (172.16.10.10) and configure it as a repository by running the following commands as root.
# yum install –y open-vm-tools net-tools wget bridge-utils tftp tftp-server \ dhcp httpd php gd php-gd syslinux epel-release # vi /etc/selinux/config ----- SELINUX=disabled ----- # systemctl stop firewalld.service # systemctl disable firewalld.service # yum –y update ; sync ; sync ; reboot
# cd /var/www/html # mkdir -p repository/DVD1 # mkdir info-files # cd repository/DVD1 # cp -rav /run/media/student/SUSE-CaaS-Platform-2.0-DVD-86_6/* ./repository/DVD1 # chmod -R 755 * # chown -R apache:apache *
# vi /etc/httpd/conf.d/pxeboot.conf ----- Alias /repository /var/www/html/repository <Directory /var/www/html/repository> Options Indexes FollowSymLinks Allow from all </Directory> -----
# vi /etc/httpd/conf/httpd.conf ----- Listen 172.16.10.10:80 ServerName jumpbox.susecaas.local:80 -----
# cd /var/www/html/info-files # vi admin ----- netdevice=eth0 ifcfg="eth0=172.16.10.50/24,172.16.10.253,172.16.10.250,susecaas.local" hostip=172.16.10.50/24 netmask=255.255.255.0 gateway=172.16.10.253 nameserver=172.16.10.250 domain=susecaas.local hostname=admin.susecaas.local install=http://jumpbox.susecaas.local/repository/DVD1 -----
# vi master-01
-----
netdevice=eth0 ifcfg="eth0=172.16.10.101/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.101/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=master-01.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
-----
# vi master-02
-----
netdevice=eth0 ifcfg="eth0=172.16.10.102/24, 172.16.10.253, 172.16.10.250,susecaas.local"
hostip=172.16.10.102/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=master-02.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
-----
# vi master-03
-----
netdevice=eth0 ifcfg="eth0=172.16.10.103/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.103/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=master-03.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
----
# vi worker-01
-----
netdevice=eth0 ifcfg="eth0=172.16.10.201/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.201/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=worker-01.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
----
# vi worker-02
-----
netdevice=eth0 ifcfg="eth0=172.16.10.202/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.202/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=worker-02.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
----
# vi worker-03
-----
netdevice=eth0 ifcfg="eth0=172.16.10.203/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.203/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=worker-03.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
----
# vi worker-04
-----
netdevice=eth0 ifcfg="eth0=172.16.10.204/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.204/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=worker-04.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
----
# vi worker-05
-----
netdevice=eth0 ifcfg="eth0=172.16.10.205/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.205/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=worker-05.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
----
# vi worker-06
-----
netdevice=eth0 ifcfg="eth0=172.16.10.206/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.206/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=worker-06.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
----
# vi worker-07
-----
netdevice=eth0 ifcfg="eth0=172.16.10.207/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.207/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=worker-07.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
----
# vi worker-08
-----
netdevice=eth0 ifcfg="eth0=172.16.10.208/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.208/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=worker-08.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
----
# vi worker-09
-----
netdevice=eth0 ifcfg="eth0=172.16.10.209/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.209/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=worker-09.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
----
# vi worker-10
-----
netdevice=eth0 ifcfg="eth0=172.16.10.210/24,172.16.10.253,172.16.10.250,susecaas.local"
hostip=172.16.10.210/24
netmask=255.255.255.0
gateway=172.16.10.253
nameserver=172.16.10.250
domain=susecaas.local
hostname=worker-10.susecaas.local
install=http://jumpbox.susecaas.local/repository/DVD1
autoyast=http://admin.susecaas.local/autoyast
-----
# pwd
/var/www/html/info-files
# chmod 755 *
# chown apache:apache *
# systemctl start httpd.service
# systemctl enable httpd.service
# systemctl status -l httpd.service
Now open up the browser in the JUMPBOX VM itself and verify that the files in directories namely
/var/www/html/repository/DVD1 and /var/www/html/info-files are accessible from the browser.
This confirm that the website is now completed successfully as a repository.
# hostname jumpbox.susecaas.local # rpm -ivh http://jumpbox.susecaas.local/repository/DVD1/suse/noarch/tftpboot-installation-CAASP-2.0-x86_64-14.320-1.35.noarch.rpm # cd /srv # chmod 755 tftpboot # cd CAASP-2.0-x86_64/net # cp /usr/share/syslinux/menu.c32 . # cp /usr/share/syslinux/memdisk . # cp /usr/share/syslinux/mboot.c32 . # cp /usr/share/syslinux/chain.32 . # ls -l # cd pxelinux.cfg # mv default default.orig ; cp default.orig default # vi default ----- default menu.c32 MENU TITLE SUSE-CaaS Platform 2.0 Custom Installer – FieldDay.io NOHALT 1 PROMPT 0 TIMEOUT 140 LABEL CAASP-ADMIN MENU LABEL CAASP-ADMIN (172.16.10.50) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/admin splash=silent LABEL MASTER-01 MENU LABEL MASTER-01 (172.16.10.101) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/master-01 splash=silent LABEL MASTER-02 MENU LABEL MASTER-02 (172.16.10.102) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/master-02 splash=silent LABEL MASTER-03 MENU LABEL MASTER-03 (172.16.10.103) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/master-03 splash=silent LABEL WORKER-01 MENU LABEL WORKER-01 (172.16.10.201) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/worker-01 splash=silent LABEL WORKER-02 MENU LABEL WORKER-02 (172.16.10.202) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/worker-02 splash=silent LABEL WORKER-03 MENU LABEL WORKER-01 (172.16.10.203) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/worker-03 splash=silent LABEL WORKER-04 MENU LABEL WORKER-01 (172.16.10.204) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/worker-04 splash=silent LABEL WORKER-05 MENU LABEL WORKER-01 (172.16.10.205) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/worker-05 splash=silent LABEL WORKER-06 MENU LABEL WORKER-01 (172.16.10.206) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/worker-06 splash=silent LABEL WORKER-07 MENU LABEL WORKER-02 (172.16.10.207) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/worker-07 splash=silent LABEL WORKER-08 MENU LABEL WORKER-01 (172.16.10.208) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/worker-08 splash=silent LABEL WORKER-09 MENU LABEL WORKER-01 (172.16.10.209) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/worker-09 splash=silent LABEL WORKER-10 MENU LABEL WORKER-01 (172.16.10.210) ipappend 2 kernel boot/x86_64/loader/linux append ksdevice=bootif initrd=boot/x86_64/loader/initrd info=http://jumpbox.susecaas.local/info-files/worker-10 splash=silent ----- # vi /usr/lib/systemd/system/tftp.service ----- ExecStart=/usr/sbin/in.tftpd –s /srv/tftpboot/CAASP-2.0-x86_64 -----
# systemctl enable tftp.socket
# systemctl start tftp.socket
# systemctl status –l tftp.socket
# systemctl enable tftp.service
# systemctl start tftp.service
# systemctl status –l tftp.service
# crontab –e
-----
@reboot systemctl start tftp.service
-----
# crontab –l
# sync ; reboot
# systemctl status –l tftp.service
#hostname jumpbox.susecaas.local # vi /etc/dhcp/dhcpd.conf -- allow booting; allow bootp; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 172.16.10.10; filename = "net/pxelinux.0"; } # No service will be given on this subnet, but declaring it helps the # DHCP server to understand the network topology. # This will disable dole'ing out DHCP address to virtual bridge virbr0 subnet 192.168.122.0 netmask 255.255.255.0 { } subnet 172.16.10.0 netmask 255.255.255.0 { authoritative; range 172.16.10.230 172.16.10.248; default-lease-time 900; max-lease-time 1200; option routers 172.16.10.253; option subnet-mask 255.255.255.0; option broadcast-address 172.16.10.255; option domain-name-servers 172.16.10.250, 8.8.8.8; option domain-name "susecaas.local"; } -- # systemctl enable dhcpd.service # systemctl start dhcpd.service # systemctl status -l dhcpd.service
Login as root in DNS Server VM (172.16.10.250) and enter the following commands: # yum install -y open-vm-tools net-tools wget # yum install -y gcc
// Disable the firewall
# systemctl stop firewalld.service # systemctl disable firewalld.service
// Disable selinux
# vi /etc/selinux/config # setenforce 0
// Yum update and reboot
# yum -y update; sync; reboot
// DNS service installation
// Pre-req for DNS installation
# yum install –y epel-release.noarch # yum install –y haveged # systemctl enable haveged.service # systemctl start haveged.service
// DNS install
# yum -y install ipa-server bind bind-utils bind-dyndb-ldap ipa-server-dnssync ipa-server-dns # sync; reboot # ipa-server-install —setup-dns
Directory Manager password : 1FieldDay-IO // Enter your preferred password of choice
IPA admin password: 1FieldDay-IO
Please provide the IP address to be user for this host name: 172.16.10.250
# kinit admin // initialize admin account
Password for admin@ : 1FieldDay-IO
Log into LB VM (172.16.10.100) and run the following commands as root. Note that the VMs SERVER-01 and SERVER-02 are defined as backend in the file /etc/haproxy/haproxy.cfg
# yum install –y open-vm-tools net-tools wget bridge-utils # vi /etc/selinux/config ----- SELINUX=disabled ----- # systemctl stop firewalld.service # systemctl disable firewalld.service # yum –y update ; sync ; sync ; reboot # yum install –y gcc pcre-static pcre-devel # wget https://www.haproxy.org/download/1.7/src//haproxy-1.7.9.tar.gz -O ~/haproxy.tar.gz # tar zxvf ~/haproxy.tar.gz –C ~/ # cd ~/haproxy-1.7.9 # make TARGET=linux2628 # make install # make clean # mkdir –p /etc/haproxy # mkdir –p /var/lib/haproxy # touch /var/lib/haproxy/stats # ln –s /usr/local/sbin/haproxy /usr/sbin/haproxy # cp ~/haproxy-1.7.9/examples/haproxy.init /etc/init.d/haproxy # chmod 755 /etc/init.d/haproxy # systemctl daemon-reload # useradd –r haproxy # haproxy –v
# vi /etc/haproxy/hproxy.cfg
# systemctl enable haproxy # systemctl restart haproxy
Login as root into MYSQL VM (172.16.10.14) and enter the following commands:
# yum install –y open-vm-tools net-tools tcpdump # vi /etc/selinux/config ----- SELINUX=disabled ----- # systemctl stop firewalld.service # systemctl disable firewalld.service # yum –y update ; sync ; sync ; reboot # rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY* # yum –y install epel-release # yum –y install mariadb-server mariadb # systemctl start mariadb.service # systemctl enable mariadb.service # mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): <–Hit ENTER
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n]
New password: 1FieldDay-IO // Enter your preferred password here
Re-enter new password: 1FieldDay-IO // re-enter the password again
Password updated successfully!
Reloading privilege tables..
… Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] <–Hit ENTER
… Success!
Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <–Hit ENTER
… Success!
By default, MariaDB comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] <–Hit ENTER
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <–Hit ENTER
… Success!
Cleaning up…
All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
// Install apache web server
# yum –y install httpd # systemctl start httpd.service # systemctl enable httpd.service
// Install PHP 7.1
# rpm –Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm # yum –y install yum-utils # yum –y update # yum-config-manager --enable remi-php71 # yum –y install php php-opcache # systemctl restart httpd.service # vi /var/www/html/info.php ----- <?php phpinfo(); ?> -----
From JUMPBOX, point your browser to http://172.16.10.14/info.php
// Note: MySQL will not be listed in the above output.
// Install MySQL support in PHP
# yum search php # yum –y install php-mysql # yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel # systemctl restart httpd.service
// Reload the info.php page again. MySQL will be listed this time
// Install phpMyAdmin
# yum –y install phpMyAdmin # vi /etc/httpd/conf.d/phpMyAdmin.conf
—–
[…]
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin <Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
# <RequireAny>
# Require ip 127.0.0.1
# Require ip ::1
# </RequireAny>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/>
Options none
AllowOverride Limit
Require all granted
</Directory>
[…]
—–
# vi /etc/phpMyAdmin/config.inc.php ----- [...] $cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)? [...] -----
# systemctl restart httpd.service http://172.16.10.14/myphpadmin
Credentials
Login: root
Password: 1FieldDay-IO
Confirm the same via JUMPBOX browser via myphpadmin
On virtual machines ETCD-01, ETCD-02 and ETCD-03 , login as root and run the following commands:
# yum install –y open-vm-tools net-tools bridge-utils nfs-utils wget # vi /etc/selinux/config ----- SELINUX=disabled ----- # setenforce 0 # systemctl stop firewalld.service # systemctl disable firewalld.servicr # yum –y update ; sync ; sync ; reboot # mkdir –p /var/etcd/backups # mount –t nfs 172.16.10.13:/mnt/backup-volume-group/backup-volume-01/etcd-share/ /var/etcd/backups # df –h
// verify NFS mount is successful
# touch /var/etcd/backups/testing # rm /var/etcd/backups/testing # umount /var/etcd/backups # vi /etc/fstab
----- 172.16.10.13:/mnt/backup-volume-group/backup-volume-01/etcd-share /var/etcd/backups nfs defaults 0 0 -----
or
# echo “172.16.10.13:/mnt/backup-volume-group/backup-volume-01/etcd-share /var/etcd/backups nfs defaults 0 0” >> /etc/fstab # cat /etc/fstab # yum install –y docker # systemctl enable docker; # yum –y update ; sync ; reboot # ifconfig –a # systemctl status –l docker # df -h
Log in as root in both VMs namely SERVER-01 (172.16.10.1) and SERVER-02 (176.16.10.2) and run the following commands. Pay attention to the IP addresses and port numbers that are being pass on each Server VM.
SERVER-01 (172.16.10.1)
Run the commands listed below on SERVER-01
# yum install –y open-vm-tools net-tools wget bridge-utils # vi /etc/selinux/config ----- SELINUX=disabled ----- # systemctl stop firewalld.service # systemctl disable firewalld.service # yum –y update ; sync ; sync ; reboot # yum install –y docker # systemctl enable docker; # yum –y update ; sync ; reboot # ifconfig –a # systemctl status –l docker # docker run –d --restart=unless-stopped –p 8080:8080 –p 9345:9345 rancher/server:stable \ --db-host mysql.rancher.local --db-port 3306 \ --db-user rancher-user --db-pass rancher-pass --db-name rancherdb \ --advertise-address 172.16.10.1
SERVER-02 (172.16.10.2)
Run the commands listed below on SERVER-02
# yum install –y open-vm-tools net-tools wget bridge-utils # vi /etc/selinux/config ----- SELINUX=disabled ----- # systemctl stop firewalld.service # systemctl disable firewalld.service # yum –y update ; sync ; sync ; reboot # yum install –y docker # systemctl enable docker; # yum –y update ; sync ; reboot # ifconfig –a # systemctl status –l docker # docker run –d --restart=unless-stopped –p 8080:8080 –p 9345:9345 rancher/server:stable \ --db-host mysql.rancher.local --db-port 3306 \ --db-user rancher-user --db-pass rancher-pass --db-name rancherdb \ --advertise-address 172.16.10.2
From JUMPBOX VM, ssh into MYSQL VM as root, run mysql client command and verify that the RancherDB database was created and populated. This is just a sanity check.
JUMPBOX# ssh root@172.16.10.14 <--- 1FieldDay-IO is the password MYSQL# mysql -uroot -p <--- 1FieldDay-IO is the password MariaDB [(none)]> show databases; MariaDB [(none)]> show tables; MariaDB p(none)]> quit
Our Master-VM framework provides you an alternate and cost-effective way of carrying your demos and proof-of-concepts with you on your customer visits which instantly become your sales tools.
Your sales cycles can be much shortened by leaving your portable servers at your customer site for them to play with your stack if needed, rather than try building sandboxes for them on Cloud and then baby sitting them.
You no longer need to burn midnight oil in preparing for your next day demo. But instead a single Master-VM can build your demos and poc’s with all the use cases that you see fit. This way you can showcase product capabilities effectively and quicker.
Our true definition of success as a viable business is to enable individuals like you who have that fire in your belly to learn what we offer as self-paced labs, no matter where you live and what you speak.
Our end goal is to hand deliver Master-VMs through our subscription model so that you can self-learn to your heart’s content.
It’s always great to be in the partner engineering team guiding partners what to do and which way to go.
But at times, you yourself is at lost when it comes to producing your own deliverables namely SETs / Solutions Enablement Kits (or whatever your company calls them) because you’ll soon end up becoming dependent on other teams like technical marketing, product management, field enablement and so on.
By using the same Master-VM framework that the rest of the company uses, you can lock step and be on the same page with the rest of the teams. With this approach you can get your deliverables out the door on time and bring up partners on board in a consistent manner.
You know what it means to be in the product management, how you are expected to have all the answers all the time and how everything becomes your action item.
One of the most challenging part of being a product manager is to assimilate all the information from the engineering and then spread it within the company as well as with your customers.
With our Master-VM framework, your products no longer have to live within powerpoints or wiki pages or in webex recordings. Your entire product stack with all its uses cases can come to life by packaging them into a single Master-VM along with evaluation licenses. And that can be distributed quickly in a USB thumb drive to all the relevant teams. That way, no one has to bother you on corridors or cafeteria asking for demos or product details anymore. Just point them to its Master-VM and that will take care of everything.
Technical marketing teams are expected to churn out reference architectures and white papers like pan cakes expect, nobody knows what it takes in producing your deliverables and how much you are dependent on having your own internal labs.
One of the major challenge you often face is showcasing your product capabilities and their integration with other products within your company as well as from partners and competitors. Once you figured that out, next comes the real challenge of disseminating that information to the rest of the world.
Our Master-VM framework gives you great flexibility in packing all your findings, recommendations, configurations, documentations, video/webex recordings – all in just one single VM (we call that Master-VM). It is upon us to get that delivered to your end customer, be it internal or external. This way, we completely eliminate the challenges in either opening up your internal labs for public consumption or burn your pockets by running them on a public cloud 24/7.
The management wants professional services organization to be a cash cow for the company. But somehow doesn’t want to spend on the required technical training (?!) Ask them for a training and all you hear are budgets cuts, quarterly endings and cost cutting.
We understand your world. And that is why we kept all your training requirements as the fundamental corner stone while designing our Master-VM framework. You no longer need to convince your reporting chain all the way up to a VP to get the required training. All you need is your laptop, your physical server, your time commitment and the rest is on us.
In fact, for some of the self-paced labs that we have designed, we have even eliminated dependency on an internet connection! That way, you can be in hotel room in a different country altogether, but you can still spend a few hours wisely in learning the product capabilities of your choice using our Master-VM framework.
As as TAM your neck is always on the line. Customers expect you to solve all their problems in a jiffy. You’ll end up becoming their sandbag taking all the blows and punches. But when it comes to training a TAM, it always seemed to be an after thought.
With all your hectic schedules and meeting up with customers face-to-face constantly, attending a full 5 day training course eventually becomes a pipe dream. You hate being dependent on someone else to help you out on the technical side of things as you never had the time to free up yourself in learning what you’re expected to know in the first place.
With our Master-VM framework, you can do your self-directed learning in your own pace. Since you are running the self-paced labs locally, you can always pause and continue your lab exercises without over lapping your work schedules. This way you can always keep up with product features and limitations first hand and deal the customers confidently.
Though Architecting heterogeneous solutions have its own challenges, the primary hurdle that many Architects face is a lack of exposure to such systems.
With Master-VM framework, we build self-paced labs anywhere between the simplest to the most complicated architectures involving multiple software/hardware components from multiple vendors. Our Master-VM approach gives great flexibility, exposure and confidence in building such complex architectural solutions.
The video lessons that come bundled with any Master-VM will save your precious time in not getting yourself lost by wandering on the net looking for clues/answers but stay laser focused on mastering the concepts quickly without any diversion.