Prezentacja opisuje różne techniki optymalizacji aplikacji ASP.NET. Omawiane są role poszczególnych warstw wpływających na wydajność - od optymalizacji kodu po stronie klienta (techniki stosowane na poziomie kodu HTML i JavaScript) przez różne poziomy stosowania cache, wybrane ustawienia konfiguracyjne IIS aż po same techniki optymalizacji na poziomie kodu ASP.NET.
Co nowego w VS 2013 dla programistów ASP.NET?Bartlomiej Zass
Sesja z konferencji Microsoft Technology Summit 2013 na temat nowości, które pojawiły się w ASP.NET 4.5.1 oraz Visual Studio 2013 dla web deweloperów. Poruszane zagadnienia to m.in.: zmiany w IDE / Web Essentials, Web Forms, ASP.NET MVC 5, OWIN, SignalR, Web API 2
Investing in Livelihood and Enterprise DevelopmentEthical Sector
Presentation by Philipp Essl at a “Multi-Stakeholder Workshop on Community Engagement in the Extractive Industries” in Yangon on 27/28 January 2015, convened by the Myanmar Centre for Responsible Business (MCRB) to discuss international best practice in strategic community investment and engagement, including how to handle grievances.
Community Engagement with the Private Sector - How to be EffectiveEthical Sector
Vicky Bowman was a keynote speaker at the "Community Engagement in EIA: A Regional Exchange and Learning Forum" arranged by PACT/Mekong Partnership for the Environment in Yangon on 22 September.
Read more: http://www.myanmar-responsiblebusiness.org/news/community-engagement-private-sector.html
Prezentacja opisuje różne techniki optymalizacji aplikacji ASP.NET. Omawiane są role poszczególnych warstw wpływających na wydajność - od optymalizacji kodu po stronie klienta (techniki stosowane na poziomie kodu HTML i JavaScript) przez różne poziomy stosowania cache, wybrane ustawienia konfiguracyjne IIS aż po same techniki optymalizacji na poziomie kodu ASP.NET.
Co nowego w VS 2013 dla programistów ASP.NET?Bartlomiej Zass
Sesja z konferencji Microsoft Technology Summit 2013 na temat nowości, które pojawiły się w ASP.NET 4.5.1 oraz Visual Studio 2013 dla web deweloperów. Poruszane zagadnienia to m.in.: zmiany w IDE / Web Essentials, Web Forms, ASP.NET MVC 5, OWIN, SignalR, Web API 2
Investing in Livelihood and Enterprise DevelopmentEthical Sector
Presentation by Philipp Essl at a “Multi-Stakeholder Workshop on Community Engagement in the Extractive Industries” in Yangon on 27/28 January 2015, convened by the Myanmar Centre for Responsible Business (MCRB) to discuss international best practice in strategic community investment and engagement, including how to handle grievances.
Community Engagement with the Private Sector - How to be EffectiveEthical Sector
Vicky Bowman was a keynote speaker at the "Community Engagement in EIA: A Regional Exchange and Learning Forum" arranged by PACT/Mekong Partnership for the Environment in Yangon on 22 September.
Read more: http://www.myanmar-responsiblebusiness.org/news/community-engagement-private-sector.html
Advanced Crypto Service Provider – kryptografia jako usługaSmart Coders
Zapewnienie bezpieczeństwa danych to konieczny standard w wielu środowiskach IT. W czasie gdy informacje coraz częściej są przetrzymywane w „chmurze” zapewnienie bezpieczeństwa stanowi coraz bardziej poważne wyzwanie.
IBM Advanced Crypto Service Provider (ACSP) jest rozwiązaniem, które pozwala udostępnić zasoby koprocesora kryptograficznego firmy IBM poza system, w którym został zainstalowany.
Takie rozwiązanie pozwala na korzystanie z silnej kryptografii sprzętowej jako usługi („cryptography as a service”) w środowiskach rozproszonych o niższym stopniu bezpieczeństwa.
ACSP to „network hardware security module (NetHSM)”, który pozwala na korzystanie zarówno z funkcji IBM Common Cryptographic Architecture (CCA) jak i standardu PKCS#11.
Więcej na https://ibm.box.com/v/acsp-vault-ibm-forum-2015
Nagranie z tej sesji znajduje się pod adresem https://vimeo.com/smartcoders/acsp-vault-ibm-forum-2015
SDS implementation using Atlantis USX software
I presented this slides on 2nd Polish Citrix User Group meeting - September 18th, 2015.
Language: polish.
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PROIDEA
Prelekcja poprzez szybkie nakreślenie architektury platformy Openshift omawia rozwiązania wykorzystane do zabezpieczenia aplikacji działających na kontenerach zarządzanych przez samą platformę. Podczas ich opisu szczególna uwaga zwracana jest na zagadnienia związane z ruchem sieciowym, które mogą mieć istotne znaczenie przy osadzaniu na niej aplikacji usługowych branży telekomunikacyjnej. 1. Wprowadzenie do architektury sieciowej platformy Openshift 2. Wyjaśnienie poprzez jakie mechanizmy architektura Openshift zapewnia bezpieczeństwo oraz integralność aplikacji na niej osadzonych a) separacja na poziomie sieciowym b) separacja na poziomie dostępu do zasobów systemowych oraz dyskowych 3. Sposoby kontroli oraz zabezpieczeń ruchu sieciowego pomiędzy aplikacjami osadzonymi na kontenerach (Istio/Service mesh)
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...PROIDEA
Krzysztof Rychlicki-Kicior
Language: Polish
Dawno temu, gdy w kodzie HTML królowały znaczniki FONT i MARQUEE, a zamiast AJAX-a stosowano ukryte ramki, błyskawiczną i dwustronną komunikację z serwerem można było osiągnąć jedynie za pomocą specjalnych wtyczek - np. we wszelkiej maści czatach królowała wówczas Java i applety. Z upływem lat sytuacja poprawiła się, dzięki zastosowaniu AJAX-a czy long pollingu, jednak wciąż była daleka od ideału. Na szczęście, obecnie programiści są w znacznie lepszej sytuacji - dzięki WebSocketom bez żadnego problemu są w stanie zaimplementować komunikację w czasie rzeczywistym, niezbędną np. do gier online, aplikacji do komunikacji czy aplikacji finansowych.
W ramach tego wykładu słuchacze zapoznają się z różnymi koncepcjami stosowanymi w komunikacji pomiędzy przeglądarką a serwerem HTTP, z uwzględnieniem WebSocketów. Oprócz tego zostaną przedstawione mechanizmy obsługi WS od strony serwera, na przykładzie Node.js i Socket.IO. Różne rozwiązania zostaną poddane porównaniu pod kątem wydajności. Mimo licznych zalet, WebSockety niosą za sobą pewne problemy - zostaną one również poddane analizie.
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future ProcessingPROIDEA
Language: Polish
Rok 2015 przynosi spore zmiany w środowisku .NET. Całkiem nowy ASP.NET, .NET Core, C# 6.0 czy Entity Framework 7 to tylko niektóre z nowości, których możemy spodziewać w tym roku. Na wykładzie chciałbym opowiedzieć o nowych możliwościach czekających na .netowców w połowie roku.
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...The Software House
Niezależnie od tego, czy jesteście developerami, sysadminami, czy też DevOps Engineers – prawie na pewno mieliście doświadczenie z webowymi panelami dostawców usług infrastrukturalnych takich jak AWS, GCP czy też OVH. Z poziomu tych paneli da się “wyklikać” wszystko, czego potrzeba, ale… czy aby na pewno tędy droga? Środowiskiem bardziej naturalnym dla każdego inżyniera jest wszakże edytor tekstu (czy też IDE) oraz różnorakie polecenia wydawane komputerowi w formie skryptów. Czemu by więc z tego nie skorzystać? Jeśli od klikania bez możliwości pomyłki boli Was ręka, zainwestuj w podkładkę pod mysz… ale przede wszystkim wpadnij na prelekcję Piotra, na której to opowie o założeniach podejścia IaC, jego zaletach oraz przedstawi najpopularniejsze narzędzia.
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
[PLCUG] Power shell (PL)
1. PowerShell w służbie Citrixa –
czyli jak ułatwić sobie
codzienną pracę
Jarosław Sobel
Polska Grupa Użytkowników
Citrix
Warszawa, 30.09.2016
2. Jarosław Sobel
• Projektant i administrator rozwiązań Citrix
• Blogger, prelegent i autor publikacji w prasie IT
• Praca z Citrixem od ponad 10 lat (od czasów Citrix Metaframe)
• Doświadczenie w pracy w dużych środowiskach
~4000 użytkowników, ~500 serwerów XA oraz kilkaset stacjiVDI
• Posiadacz certyfikacji w technologiach:
• Citrix – w tym CCE-V (Citrix Certified Expert –Virtualization)
• VMware –VCP-DCV 550
• Microsoft – ServerVirtualization withWindows Server Hyper-V and System Center, 70-410
• NetApp – NCDA, NCIE-SAN
Polska Grupa Użytkowników Citrix 22016-09-30
3. Agenda
• PowerShell & SDK
• Citrix
• XenApp 6.x
• XenApp/XenDesktop 7.x
• HDX & CDF Traces
• PVS
• StoreFront
• Serwer licencji
• XenServer
• Dokumentacja środowiska
• Integracja z innymi rozwiązaniami
• RRDtool
• Kiedy i czy warto?
• Linki
Polska Grupa Użytkowników Citrix 32016-09-30
4. Citrix SDKs
• Citrix SDK (Software Development Kit) – zestaw oprogramowania i
narzędzi umożliwiających tworzenie aplikacji współpracujących z
produktami firmy Citrix
• Obecnie Citrix dostarcza SDK dla większości swoich produktów:
• Nowe– w postaci CMDletów PowerShellowych
• „Stare” – zazwyczaj niespójny i trudny do powiązania z innymi rozwiązaniami
(PoSH, DLL, SOAP, itp.)
Polska Grupa Użytkowników Citrix 42016-09-30
5. PowerShell
• What is PowerShell?
• PowerShell (PoSH) is an automation platform and scripting language for
Windows and Windows Server that allows you to simplify the
of your systems. Unlike other text-based shells, PowerShell harnesses the
power of the .NET Framework, providing rich objects and a massive set of
built-in functionality for taking control of your Windows environments.
Polska Grupa Użytkowników Citrix 52016-09-30
6. XenApp 6.5 - instalacja
• Instalacja Citrix SDX for XA 6.5
• Dodanie Snap-Ina:
• Add-PSSnapin Citrix.*
• Wyświetlenie dodanych modułów:
• Get-PSSnapin Citrix.*
• Wyświetlenie cmdletów:
• Get-Command -module "Citrix.*"
• Uruchamianie - uprawienia
• Użytkownik administracyjny
• Użytkownik z innymi prawami
• Tryb wsadowy – konto SYSTEM na serwerze XA
Polska Grupa Użytkowników Citrix 62016-09-30
8. XenApp 6.x – legacy MFCOM.dll
• Biblioteka z funkcjami
zarządzającymi środowiskiem
Citrix
• Jest ona udostępniania w postaci
DLL-ki i może być użyta w
większości języków na platformę
Windows, np.:VisualBasic,
C/C++, .NET (C#), ObjectPascalu
lub Asemblerze
• Przykładowa deklaracja w C#:
• using MetaFrameCOM;
Polska Grupa Użytkowników Citrix 82016-09-30
9. XenDesktop 7.x – instalacja
• Komponenty SDK zawarte są w instalatorze konsoli Studio
• Dodanie Snap-Ina:
• Add-PSSnapin Citrix.*
• Wyświetlenie cmdletów:
• Get-Command -module "Citrix.*”
• Uruchamianie - uprawienia
• Użytkownik administracyjny
• Użytkownik z innymi prawami
• Tryb wsadowy – konto serwisowe oraz użycie opcji „AdminAddress” w
poleceniu, np:
• Get-BrokerMachine -AdminAddress „ddc01.domena.local:80"
Polska Grupa Użytkowników Citrix 92016-09-30
12. XenDesktop 7.x - Studio
Polska Grupa Użytkowników Citrix 122016-09-30
13. XenDesktop 7.x – Tworzenie site’a
• Możliwość skonfigurowania całego site’a
przy pomocy PowerShella
• Przydatne dla integratorów i
wdrożeniowców
• New-XDDatabase
• New-XDSite
• Set-XDLicensing
• Set-ConfigSite
• Set-ConfigSiteMetadata
• …
Polska Grupa Użytkowników Citrix 132016-09-30
14. XenDesktop 7.x – Workspace cloud
• W związku z tym, że „Workspace Cloud Connector” oraz „zasoby”
znajdują się w różnych miejscach chmury istniejące SDK nie zadziała,
gdyż nie będzie możliwości rozwiązania nazwy podanej w
parametrze: AdminAddress
• Citrix udostępnił „Remote Powershell SDK”
• Zamiast polecenia: Get-BrokerMachine –AdminAddress <ddc address>
• Mamy zwykłe: Get-BrokerMachine
• Autentykacja
• Get-CWCAuthentication
• Po wprowadzeniu emaila i hasła sesja użytkownika będzie trwała 24 godziny
Polska Grupa Użytkowników Citrix 142016-09-30
15. XenDesktop 7.x - HypConn
Polska Grupa Użytkowników Citrix 152016-09-30
PS C:> Get-BrokerDesktop -MachineName "home.labVDI01" | select MachineName,
HostedMachineId, HypervisorConnectionUid
HostedMachineId : 874e03b5-2da3-4695-8153-d9cc8a30025d
HypervisorConnectionUid : 1
MachineName : home.labVDI01
PS C:> Get-VM "XD01" | select Name, ID
Name : XD01
ID : ce9873ea-777a-4acd-a510-bd0e159fcb8a
PS C:> Set-BrokerMachine -MachineName "home.labVDI01" -HostedMachineId
"ce9873ea-777a-4acd-a510-bd0e159fcb8a"
16. XenDesktop 5.x
• CMDlety w wersji 1:
• Citrix.Configuration.Admin.V1 – XenDesktop 5.x
• Citrix.Configuration.Admin.V2 – XenDesktop 7.x
• Doumentacja w KB: CTX127254
Polska Grupa Użytkowników Citrix 162016-09-30
17. XenDesktop 7.x - OData
• XA/XD 7.x zawiera usługę monitoringu, która przechowuje
zgromadzone dane w bazie. Do tych danych można się „dostać”
przy pomocy SQL Server Management Studio lub przy pomocy
Excela i protokołu OData.
• Open Data Protocol (OData) is an open protocol which allows the
creation and consumption of queryable and
interoperable RESTful APIs in a simple and standard way.
• Jest dostępny OData PowerShell Provider
Polska Grupa Użytkowników Citrix 172016-09-30
18. XenDesktop 7.x - OData
• http://{NameOFYourBroker}/Citrix/Monitor/OData/v2/Data
• …/OData/V1/Data dla wersji 7.5 oraz wczesniejszych
Polska Grupa Użytkowników Citrix 182016-09-30
19. XenDesktop 7.x - OData
Polska Grupa Użytkowników Citrix 192016-09-30
20. XenDesktop 7.x - OData
Polska Grupa Użytkowników Citrix 202016-09-30
24. PVS
PVS 7.0 & 7.1 & 7.6
Polska Grupa Użytkowników Citrix 242016-09-30
PVS >=7.7
25. PVS <7.7
• Instalacja (biblioteka McliPSSnapIn.dll dostępna po instalacji konsoli PVSa):
• For 32-bit: %systemroot%Microsoft.NETFrameworkv2.0.50727installutil.exe
McliPSSnapIn.dll
• For 64-bit: %systemroot%Microsoft.NETFramework64v2.0.50727installutil.exe
McliPSSnapIn.dll
• Dodanie SnapIna
• Add-PSSnapin –Name McliPSSnapIn
• Nawiązanie połączenia z usługą SOAP serwera PVS:
• MCLI-Run setupconnection -p server=<PVSHOSTNAME>,port=<PVSPORT>
• Wszystkie CMDlety zaczynają się od Mcli-*
• Przykład: Dodanie vDisku do Store’a:
• MCLI-Add diskLocator -r
diskLocatorName=”VDISKNAME”,siteName=”SITENAME”,storename=”STORENAME”
• Wylistowanie urządzeń (Target Device’ów) z danej kolekcji:
• MCLI-Get Device -p collectionName=”COLLECTIONNAME”,siteName=”SITENAME” –f name –s
name
Polska Grupa Użytkowników Citrix 252016-09-30
26. PVS <7.7 - non-Object output
Polska Grupa Użytkowników Citrix 262016-09-30
Mcli-Get DiskLocator -f diskLocatorId, diskLocatorName,
siteId, siteName, storeId, storeName
• Jest to „sztuczne” obudowanie wywołania polecenia mcli.exe komendami
PowerShellowymi
27. PVS <7.7 - non-Object output
Polska Grupa Użytkowników Citrix 272016-09-30
RemkoWeijnen (CTP) przygotował skrypt
parsujący wynik polecenia Mcli-Get do
postaci obiektów PoSH
• Poniżej ponownie wykonanie polecenia:
Mcli-Get DiskLocator
• Ale wynik został przepuszczony przez funkcję
ToObject
28. PVS >=7.7
• Dokument:
• „Citrix Provisioning Services 7.7Transition to PowerShell with Objects from
PowerShell (Deprecated) Programmer’sGuide”
Polska Grupa Użytkowników Citrix 282016-09-30
29. PVS – inne zastosowania
Polska Grupa Użytkowników Citrix 292016-09-30
• Lista urządzeń i przypisani do konkretnych vDisków i wersji
30. PVS – inne zastosowania
Polska Grupa Użytkowników Citrix 302016-09-30
• Weryfikacja poprawnej synchronizacji vDisków pomiędzy serwerami
PVS
31. StoreFront
• Dodanie Snap-Ina:
• Add-PSSnapin Citrix.*
• Wyświetlenie cmdletów:
• Get-Command -module "Citrix.*"
Polska Grupa Użytkowników Citrix 312016-09-30
35. PoSH i nie tylko
Polska Grupa Użytkowników Citrix 352016-09-30
36. Dokumentacja środowiska
• Carl Webster
• Zestaw skryptów PoSH
służących do dokumentacji
środowiska Citrix (XA/XD/PVS)
oraz komponentów
dodatkowych
(DHCP/AD/Hypervisor)
Polska Grupa Użytkowników Citrix 362016-09-30
37. Integracja z innymi rozwiązaniami
• Citrix NetScaler
• Citrix ShareFile
• Hypervisory:
• Hyper-V
• VMware
• XenServer
• Active Directory, DNS, DHCP
• WMI
• …
Polska Grupa Użytkowników Citrix 372016-09-30
39. RRDtool
• RRDtool is the OpenSource industry standard, high performance
data logging and graphing system for time series data. RRDtool
be easily integrated in shell scripts, perl, python, ruby, lua or tcl
applications.
• RRDtool – Time-Series DataBase
Polska Grupa Użytkowników Citrix 392016-09-30
40. RRDtool- statystyki serwera licencji
• Co jest potrzebne:
• PowerShell i CMD, task scheduler
• Dane zWMI nt. licencji
• binaria RRDtool
Polska Grupa Użytkowników Citrix 402016-09-30
41. RRDtool- statystyki serwera licencji
• Kroki:
• Utworzenie bazy RRD
c:CTXRRDtoolrrdtool.exe create CtxLicUsage.rrd
--start now-10m --step 300
DS:total:GAUGE:450:0:U DS:used:GAUGE:450:0:U DS:avail:GAUGE:450:0:U DS:overdraft:GAUGE:450:0:U
RRA:AVERAGE:0.5:1:2880 RRA:AVERAGE:0.5:3:2880 RRA:AVERAGE:0.5:9:2880 RRA:AVERAGE:0.5:54:2880
• Co określony odstęp czasu zapisanie danych w bazie
$licensePool = gwmi -class "Citrix_GT_License_Pool" -Namespace "ROOTCitrixLicensing"
$usage = $licensePool | where-object {$_.PLD -like "XDT_ENT_UD"} | select
Count,InUseCount,PooledAvailable,Overdraft
# Write-Host $usage.Count $usage.InUseCount $usage.PooledAvailable
$unixtime = [int][double]::Parse($(Get-date -date (Get-Date).ToUniversalTime()-uformat %s))
$cmd = "C:CTXRRDtoolrrdtool.exe update CtxLicUsage.rrd
$($unixtime):$($usage.Count):$($usage.InUseCount):$($usage.PooledAvailable):$($usage.Overdraft)"
iex $cmd
• rrdtool.exe update CtxLicUsage.rrd 1429608601:660:537:123:60
• Wygenerowanie ładnego wykresu ;-)
Polska Grupa Użytkowników Citrix 412016-09-30
42. RRDtool – inne zastosowania
Polska Grupa Użytkowników Citrix 422016-09-30
43. RRDtool – inne zastosowania
Polska Grupa Użytkowników Citrix 432016-09-30
44. Kiedy i czy warto?
• Jeśli mamy duże środowisko
• Jeśli często wykonujemy te same zadania administracyjne
• Jeśli chcemy coś zautomatyzować
• Kiedy nie da się czegoś wykonać z GUI
• Wykonujemy polecenia zdalnie
• Enter-PSSession [-ComputerName] <String>
• Przełącznik „zdalnego serwera” w CMDlet, np.: -AdminAccess
• Jeśli chcemy przygotować statystyki, raporty, informacje zbiorcze
• Jeśli chcemy zintegrować produkty Citrixa z innymi rozwiązaniami
• Jeśli chcemy dokładniej poznać konkretne rozwiązanie
Polska Grupa Użytkowników Citrix 442016-09-30
45. Linki
• Wszystkie linki i materiały są dostępne na stronie:
http://xenthusiast.com/4plcug_conference_materials/
• A skrypty pojawią już niedługo na GitHubie
Polska Grupa Użytkowników Citrix 452016-09-30
47. Dziękuję za uwagę
Polska Grupa Użytkowników Citrix 472016-09-30
Jarosław Sobel
email: jarek.sobel@gmail.com
www: xenthusiast.com
twitter: @JarekSobel