13.02.2019

Microsoft Azure: Creating a Linux machine and a first login via ssh

After having logged in to azure.microsoft.com i navigated to "Virtual machines":
There i hit the "create virtual machine" button and a wizard was opened, where the following steps have to be completed:


So here are the basic settings:


Inside the basic settings you have to choose the name and a resource group (in my case i had to create a resource group, because its my first vm).


Then i had to select an image:
Below this drop down is a link "browse all images and disks". If you choose that, you get many more options:

At "Administrator account" i chose "SSH public key" i added one (this field has a built-in check function, so if there is an copy/paste error, you get an immediate response):
Then i added the following for the disks:
And i left "networking" to the defaults up to the "select inbound ports":



For "Management" i had to create a storage account. This account has to unique  (mystorage  was already taken by some other azure users).


I left "Guest config" unchanged:
"Tags":
And then i had to wait some seconds at "Review + create" until the "validation passed" messaged appeared.
After that i had to wait for three minutes until my vm was ready to use:

And then i got the following dashboard for my vm:
 
A login to this machine was successful:
 ssh 40.112.94.136
The authenticity of host '40.112.94.136 (40.112.94.136)' can't be established.
ECDSA key fingerprint is SHA256:PxIwA6+b0lfcrV//yXpFUPjY3jiD2GgxME57EYQlx9Y.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '40.112.94.136' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-1036-azure x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sat Jan 26 19:06:21 UTC 2019

  System load:  0.0               Processes:           113
  Usage of /:   4.1% of 28.90GB   Users logged in:     0
  Memory usage: 3%                IP address for eth0: 10.0.0.4
  Swap usage:   0%

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.



The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.



11.02.2019

Microsoft Azure: Pricing Calculator

If you are thinking about to move your server/services/apps into Micosoft Azure, the pricing calculator would be very helpful to estimate the cost:
https://azure.microsoft.com/de-de/pricing/calculator/


The usage is very simple. Just use the kind of service you want to use from Microsoft Azure:
 And modify the defaults to you needs:

The problem is, that it is not so easy to calculate the number of i/o transactions for your application, but for a first start these number should be sufficient.



05.02.2019

HP Color LaserJet MFP on Ubuntu: Scan Error during device I/O (code=9)

I decided to use a multi function printer including scanner and fax with my ubuntu systems.
First step was to download the hplip package from HP:
https://developers.hp.com/hp-linux-imaging-and-printing/gethplip

The installation process worked like a charme
bash ./hplip-3.19.1.run
But running the scan utility ends up with the following error:


$ hp-scan

HP Linux Imaging and Printing System (ver. 3.19.1)
Scan Utility ver. 2.2

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

warning: No destinations specified. Adding 'file' destination by default.
Using device hpaio:/net/HP_ColorLaserJet_MFP_M278-M281?ip=192.168.178.200
Opening connection to device...
error: SANE: Error during device I/O (code=9)
After searching around the solution was the following:
"Install the plugin"?
!

$ hp-plugin





HP Linux Imaging and Printing System (ver. 3.19.1)
Plugin Download and Install Utility ver. 2.1

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.


HP Linux Imaging and Printing System (ver. 3.19.1)
Plugin Download and Install Utility ver. 2.1

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

Checking for network connection...
Downloading plug-in from:
Plugin is not accessible. Trying to download it from fallback location: [https://developers.hp.com/sites/default/files/hplip-3.19.1-plugin.run]
Receiving digital keys: /usr/bin/gpg --homedir /home/esther/.hplip/.gnupg --no-permission-warning --keyserver pgp.mit.edu --recv-keys 0x4ABA2F66DBD5A95894910E0673D770CDA59047B9
Creating directory plugin_tmp
Verifying archive integrity... All good.
Uncompressing HPLIP 3.19.1 Plugin Self Extracting Archive..............................................................

HP Linux Imaging and Printing System (ver. 3.19.1)
Plugin Installer ver. 3.0

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

Plug-in version: 3.19.1
Installed HPLIP version: 3.19.1
Number of files to install: 64


Done.
 Plug-in installation successful

Done.
After that running hp-scan immediately creates a PNG file with the scan:
 hp-scan

HP Linux Imaging and Printing System (ver. 3.19.1)
Scan Utility ver. 2.2

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

warning: No destinations specified. Adding 'file' destination by default.
Using device hpaio:/net/HP_ColorLaserJet_MFP_M278-M281?ip=192.168.178.200
Opening connection to device...

Resolution: 300dpi
Mode: gray
Compression: JPEG
Scan area (mm):
  Top left (x,y): (0.000000mm, 0.000000mm)
  Bottom right (x,y): (215.899994mm, 296.925995mm)
  Width: 215.899994mm
  Height: 296.925995mm
Destination(s): file
Output file:
warning: File destination enabled with no output file specified.
Setting output format to PNG for greyscale mode.
warning: Defaulting to '/home/esther/Downloads/hpscan001.png'.

Warming up...


Scanning...
Reading data: [*************************************************************************************************************************] 100%  8.5 MB    
Read 8.5 MB from scanner.
Closing device.

Outputting to destination 'file':

Done.
This is really fast. But if you want a GUI just use xsane...

04.02.2019

Microsoft Azure: Regions and Availability Zones

Before running a VM or any other service inside Microsoft Azure, just a look where the servers can be placed:
This looks fairly the same as the regions at AWS.
Here a better view to europe:

 Each region has several availibility zones (same wording like AWS):
The definition give at Microsoft Azure:

Regions

A region is a set of datacenters deployed within a latency-defined perimeter and connected through a dedicated regional low-latency network.
With more global regions than any other cloud provider, Azure gives customers the flexibility to deploy applications where they need to. Azure is generally available in 42 regions around the world, with plans announced for 12 additional regions.

Availability Zones

Availability Zones are physically separate locations within an Azure region. Each Availability Zone is made up of one or more datacenters equipped with independent power, cooling, and networking.
Availability Zones allow customers to run mission-critical applications with high availability and low-latency replication.

02.02.2019

Java 11: JEP 333 ZGC A Scalable Low-Latency Garbage Collector

After i found this strange "No-Op Garbage Collector", i was keen, if there are some other new GC features with Java 11.


There is another JEP with the number 333:
 If you look here, the goals are:

  • GC pause times should not exceed 10ms
  • Handle heaps ranging from relatively small (a few hundreds of megabytes) to very large (many terabytes) in size
  • No more than 15% application throughput reduction compared to using G1
  • Lay a foundation for future GC features and optimizations leveraging colored pointers and load barriers
  • Initially supported platform: Linux/x64
 Inside JEP 333 there are some numbers for the performance provided:
Below are typical GC pause times from the same benchmark. ZGC manages to stay well below the 10ms goal. Note that exact numbers can vary (both up and down, but not significantly) depending on the exact machine and setup used.
(Lower is better)
ZGC
                avg: 1.091ms (+/-0.215ms)
    95th percentile: 1.380ms
    99th percentile: 1.512ms
  99.9th percentile: 1.663ms
 99.99th percentile: 1.681ms
                max: 1.681ms

G1
                avg: 156.806ms (+/-71.126ms)
    95th percentile: 316.672ms
    99th percentile: 428.095ms
  99.9th percentile: 543.846ms
 99.99th percentile: 543.846ms
                max: 543.846ms
This looks very promising. But within the limitations you can read, that it will take some more time, until this can be used:
The initial experimental version of ZGC will not have support for class unloading. The ClassUnloading and ClassUnloadingWithConcurrentMark options will be disabled by default. Enabling them will have no effect.
Also, ZGC will initially not have support for JVMCI (i.e. Graal). An error message will be printed if the EnableJVMCI option is enabled.
These limitations will be addressed at a later stage in this project.
Nevertheless: You can use this GC with the command line argument
-XX:+UnlockExperimentalVMOptions -XX:+UseZGC
For more information take a look here: https://wiki.openjdk.java.net/display/zgc/Main