Posts filed under Royal TS

Configuring Royal TS/X to access Royal Server

In this blogpost we have wrapped up the configuration steps to configure Royal TS/X to access Royal Server. These are simple and easy to achieve. 

 

But additionally I like to mention a couple advanced/additional hints that make Royal TS/X and Royal Server as a combination extremely powerful:

  • configuring a Management Endpoint is similar to working with Credentials or Tasks - you define them once and reference them from all required objects
  • inheritance mechanics also work the same - just just define a Management Endpoint in Royal TS/X and reference it in subfolders.
  • you can use Bulk Edit to change assigned Management Endpoints quickly for a number of Royal TS/X objects (with Royal TSX V2 we also have it on OS X)
  • you can use the "Test" button helps you to rule out any connection or configuration issues between Royal TS/X and Royal Server

 

If you have any feedback or questions, we're always happy to hear from you. Just use our support portal or send me a mail.

Posted on July 18, 2014 and filed under development, productivity, Royal Server, Royal TS.

Introducing Royal Server

As you might now, we are busy polishing our next versions of Royal TS/X (v3 for Windows as well as v2 for OS X) - a public beta to download will be available soon.

 

But additionally we have spent some intense time to think about DevOps and what challenges they will have in the future - about what tasks they have and how a tool can best support it. As a result we came  up with a new product that we actually presented in June at the E2EVC (experts to experts virtualisation conference) in Brussels. 

 

Let me introduce: Royal Server!

Royal TS/X has a long history of working with graphics based remote connections like Remote Desktop Protocol based connections. These connection types lack usability when it comes to touch enabled and/or small device form factors (think mobile phones or small tablets) and in low-bandwidth environments. Royal Server's about to change that!

 

We believe that the most common operations on remote servers are task based and shouldn't necessarily require a user interface. To examine event logs on all backup servers one should not need to use a remote desktop based management solution. Also, these functionality has to be available on mobile phone platforms as well.

 

Royal Server is built to fill the gap and provides common management tasks for specific operations. Royal TS/X is perfectly integrated with it and you have more functionality even Microsoft present in its own user interfaces as well as you have all this goodness cross-platform!

As a start we have the following functionalities:

  • Terminal Services management
  • basic Hyper-V management
  • Windows Events with a sophisticated query mechanism
  • Windows Services management
  • Windows Processes management

But this is just the beginning - way more stuff that is even more powerful will follow ;)

 

Roya Server under the hood

We made sure that Royal Server is easily installed (single MSI, installed just 1 minute), easily configurable (secure it via SSL, control access via Windows User Account security) and the architecture is very extensible and agent-less

 

Also, note that the communication between the clients and the Royal Server is HTTP/S based - so no more crazy firewall configs and binary communication ;)

 

And this is just the beginning - watch our blog and social channels (Twitter, Facebook, Website) for updates that will come over the next weeks. 

 

Call for Action

Make sure you sign up for the public beta of Royal Server! We are very interested in your thoughts and experiences with it. 

 

All feedback and feature requests are welcome at the Royal Server Forum. Of course, you can send me an email to michael@seirer.net as well :)

Posted on June 3, 2014 and filed under Royal Server, Royal TS, development.

Royal TS is featured in Scott Hanselman's Ultimate Tools List

Scott Hanselman is publishing on an almost yearly basis his most indispensable tools he uses and this is his list for 2013. And it's nice to see our efforts recognised:

 

Royal TS is on the list of recommendations

We are listed in the category "Things Windows forgot" :) And additionally to the RDP features mentioned by Scott, we have advanced support for SSH/Telnet, External Applications, Web Connections and a real-time Performance View for your servers - check it out

RoyalTS - If all you do all day long is remote into machines, then RoyalTS is the app you’ve always wanted. It’s Outlook for Terminal Services. I’m not sure if that’s a thing but it sounds impressive. RoyalTS is amazing.
— http://www.hanselman.com/tools, Dec 21st, 2013

Royal TS supports SSH/Telnet as well as advanced real-time Performance Views

And I am not even talking about the multi-platform we have (check out our iOS and Android versions of Royal TS)

Posted on December 21, 2013 and filed under code4ward, development, Royal TS.

Dev VM hosted in Azure - How to optimize its performance

I blogged about my first try to host my development environment here and here

 

But at the event "On Cloud Nine - the developer roadshow" (find my wrap up here) of Microsoft Austria I got some tips on how to improve the performance of the VM in the cloud. 

 

1) Affinity Groups & Regions

By default, this should be configured correctly anyway, but its good to know: Windows Azure Data Centers consist of Containers that have racks inside. On this hardware you find the typical services running (compute, storage, access control etc). The Affinity Group now tells Windows Azure to put objects next to each other (e.g. compute and storage) so latency is minimised and also you don't pay for any traffic (traffic inside a data center is free). This means: make sure, your VM and your hard disc share the same Affinity Group. 

Of course, the region should be the same as well ...

 

2) Availability Sets

When talking about hosting a VM, Availability Sets are a bit tricky: if you have configured them, they enable the 99.995% SLA. Good. but this requires that the VM is kept redundant and is basically running twice (so you get a fast fail-over in case of a problem). But you also get charged twice

 

3) I/O Performance

Since Azure has some limits on the Max IOPS that are also bound to the size of the VM, make sure you have different disks to work with. I have my sources and the compilation on separate disk.

 

4) Optimise Performance of the VM

Windows Azure VMs can not host Client operating systems (only a Server OS). But you can install the Desktop Experience to get the Windows 8 experience on your Windows Server 2012 R2 machine (and do this as early as possible).

 Chose "Advanced System Settings" on the screen System window in the Control Panel

Chose "Advanced System Settings" on the screen System window in the Control Panel

There is a couple of settings you can optimise:

Visual Effects

Configure this to your liking, the less effects, the less settings enabled, the less performance and RDP data transfer you will get.

 Disable all Visual Effects for best performance of your VM

Disable all Visual Effects for best performance of your VM

Some Visual Effects interfere with the settings you can specify in your RDP connection. E.g. "Show window contents while dragging":

server config: show
rdp-config: do not show
effecteive: not shown

 

server config: do not show
rdp-config: show
effective: not shown

 

 

Processor Scheduling

Change the setting to "Allow best performance for Programs" since we work interactively with the VM most of the time.

 Make sure, you have selected "Programs" as Processor scheduling settings

Make sure, you have selected "Programs" as Processor scheduling settings

 

If I change these settings on my local Windows PC it requires me to restart. The Windows Azure hosted VM does not require this - but just to be sure, I suggest to restart (to honour the old days ;)

 

4) Optimise Performance on RDP connection

Many of the advanced settings you can chose in RDP (Text Cursor blinking etc) don't have any effect if you have overwritten them in the Advanced Settings I showed unter topic 3)

Nevertheless check, if you have set the right  

 Reduce the Color Depth to 15 bit (using Royal TS)

Reduce the Color Depth to 15 bit (using Royal TS)

 Some WLANs restrict your ports - so I configured my VM to listen to port 80

Some WLANs restrict your ports - so I configured my VM to listen to port 80

 

Is it fast now?

I still don't get the performance I have on my local dev machine - what i hate most is the slight lag between my input (e.g. when typing in an editor) and other UI related changes/actions. Compiling or CPU intensive work is not an issue - thats fast enough.

 

But this might have something to do with the desktop resolution for a 30" monitor that I use ;)

 

Posted on December 16, 2013 and filed under development, productivity, Royal TS, Windows Azure.

Windows Azure LogStreaming Service - Introducing Kudu

Scott Hanselman has written a very interesting post about viewing/streaming trace logs from Windows Azure hosted websites on my dev machine:

http://www.hanselman.com/blog/StreamingDiagnosticsTraceLoggingFromTheAzureCommandLinePlusGlimpse.aspx. He has good arguments why to use Tracing in your codeWith Windows Azure you have the possibility to look at the trace output with in realtime and without downloading log-files via FTP. But thats not very flexible, its slow and you don't see the data in real time. 

 

This is a quick overview of a new REAL TIME  Logstream feature, how to use it an how to integrate it with Royal TS

My default ASP.NET MVC website with trace-output shown in the commandline window via curl.exe

I want to describe the issues I had with configuring this for my azure-hosted website as well as how to view the logstream without the Azure Command Line tools installed

 

1) Setup your windows azure website

I will not go into details here - any tutorial out there will do - e.g. this one. Make sure you published to Windows Azure and can view your website over an *.azurewebsites.net URL)

 

2) Add tracing 

For this, you can check Scotts Blogpost . Test until "azure site log tail mysite" works when you call ./trace.axd

 

3) Configure a deployment user

In the dashboard of your website click "set up deployment credentials" to setup a new user for deployments. See more documentation here

 

4) Checkout the Kudu project

Kudu is the engine behind git deployments for Windows Azure websites. It is open source (Apache Licence 2.0) and can be used locally in your own datacenter if you wish to).

 

Behind every azure-hosted website, there is a kudu-service site. As an example:

Your website: http://azurelogstreaming.azurewebsites.net

The corresponding Kudu service site is https://azurelogstreaming.scm.azurewebsites.net.

 

Note: the https-protocol and the .scm. in the middle of the URL. The https is needed since you are required to send username/password over the wire. For more information about Kudu service urls read https://github.com/projectkudu/kudu/wiki/Accessing-the-kudu-service.

 

In order to stream the Trace information to your browser/command line window, you have to connect to the Kudu-URL and /logstream at the end. 

In the Kudu Dashboard you can see the various REST endpoint URLs and also there is a nice Diagnostic console! It's still an experimental feature, but you can see what the backend already alows... I wonder, if we see an integration with Visual Studio here in the future... (you can even edit the files on the server in the console)

Kudu services dashboard

Kudu Diagnostic Console

If you want to know more about the Kudu Project, there is a series of Channel9 posts about Kudu. 

 

5) Enjoy live trace messages

Scott showed how you can grab the trace output via the Windows Azure Cross-Platform Command Line Tools.

But there is no magic involved - Kudu is just a regular http endpoint that you can access - so there is many other ways to display the output - sweet!

 

Option 1: Use a Web browser

Just point your browser to https://azurelogstreaming.scm.azurewebsites.net/logstream and enter the login/password you have just configured in step 3) 

Since browsers buffer content until they get a complete document (which will never happen in this case) or they get a large amount of data you wont see output immediately. It is recommended to use curl or any other command line toll that does not buffer. 

 

Option 2: Use curl and the Command line

You can also display the trace output via a standard curl call (curl is a command line URL transfer library that works with http, ftp and many more): 

curl -u deploymentuser https://azurelogstreaming.scm.azurewebsites.net/logstream -k

Windows Azure Trace output via /logstream displayed via curl

Note: In previous posts (1 and 2) I have already given some love to Chocolatey. A simple "cinst curl" and you have installed curl.

 

Option 3: Use PowerShell

After installing the powershell tools for Windows Azure (which you can download via the Web Platform Installer or find them here) you can simply issue the following command to show the trace output:

 

Get-AzureWebSiteLog -Name websitename -Tail

 

Use the -Message parameter to filter for specific events, use the -Path parameter to filter for specific log types.

Using the Web Platform Installer to install PowerShell commandlets for Windows Azure

Integration in Royal TS

There are neat ways to integrate this in Royal TS: You could launch the Kudu Diagnostics page from within Royal TS:

Kudu Diagnostics console

... or display the Logstream of your Web site in realtime:

Windows Azure Logstream

Posted on December 9, 2013 and filed under development, Windows Azure, Royal TS.

How to connect to a Windows Azure VM using Royal TSX

While I was test-driving a Windows Azure hosted VM as my main development environment i had problems connecting using Royal TSX:

Screen Shot 2013-11-05 at 15.35.23.png

Using the Windows Version of Royal TS worked fine - so whats the deal?  

 

1) Move the port where it belongs

I imported the .rdp file that was generated by the Windows Azure Management Portal in the Windows Version of RTS. This put the following text in the "Computername" field: 

<ip-address>:<port> 

Remove the port and put it in the appropriate setting:

Screen Shot 2013-11-05 at 15.37.50.png

2) Make sure, you have the FreeRDP plugin for RDP used

Open the properties of the Application node and select FreeRDP as default plugin for RDP

 Make sure, FreeRDP ist the default Plugin for RDP connections

Make sure, FreeRDP ist the default Plugin for RDP connections

If you dont have FreeRDP there, just download it. Go to the Application Preferences, Plugins and install it from the Plugin List: 

Screen Shot 2013-11-05 at 15.41.21.png

After this adaptions, Royal TSX worked smoothly :) 

Posted on November 6, 2013 and filed under development, productivity, Royal TS, Windows Azure.