SlideShare a Scribd company logo
The Webinar will begin shortly….
Legacy LowdownOptions When Migrating Solaris Applications
HousekeepingPlease ParticipateUse the GoToWebinar controls to ask questionsWe’ll take most questions at the end
Introductions & AgendaAppZero – application virtualization software vendor Server applications (Solaris, Linux, Windows) and Windows desktopFounded in 2006 – Solaris application virtualization first productPatented and field-proven softwareRandy Whitcroft – Solaris Business DevelopmentErnesto Benedito – Lead Architect UNIX platformLegacy LowdownLegacy Applications – How did we get to this point?Binary Compatibility Guarantee – Are you covered?Will your apps fit into Zones/Containers?Tools to help you know where you standThe Appzero Solution Q&A
AppZero Solaris in action ….Large Telecommunications ProviderLarge database used in development and support of hardware offeringEvolved over time…faced a choice: start over or use AppZeroAppZero within full production environment:  “It just runs…no need to manage”Financial Investment FirmLegacy customer information and data required for audit purposesApplication and database virtualized with AppZero in productionOriginally intended to be an interim solution… now, no plans to changeSystems IntegratorProviding support for large telecom company in EMEASingle instance of application cloned or duplicated…then deployedSoftware VendorBuild customer environment internally to replicate issues and provide technical supportSupport time reduced from weeks down to days/hours
Legacy Applications – How did we get to this point?Organizations invested heavily into either customized or even custom built line of business applications. Over time, the data centers were upgraded and updated as newer applications were added, capabilities were enhanced, and performance requirements increased. A great deal has changed over the last number of years! Vendors have come and gone, systems adhered to Moore’s law of technology growth, and technology has moved to become a vital component of any business.And for many different reasons many organizations have been left with…
Legacy Applications – How did we get to this point?IMPORTANT…but not Vital!
Legacy Applications – How did we get to this point?It is not “If”…but “When”
Binary Compatibility GuaranteeSun/Oracle Binary Compatibility Guarantee was released over a decade ago…Key elements around how an application was to be built using Sun recommended best practices to ensure that there was a binary compatibilityDevelopers did not know about it.Developers just ignored itWas not available when the application was builtVery few applications on 2.6 or 7 qualifiedYou either meet the requirements or you don’t…just 1% of application can mean everythingThe bottom line…this option may not be an option!
Just use Zones or Containers…
Just use Zones or Containers…Solaris 9Solaris 8Solaris 7Solaris 2.6
 ret 0 – No potential stability issues. Should run ret 2 – Potential binary stability, Good chance will not runTools you already have…Tools already available…included in Solaris 10 OSAnalyzes application your are trying to migrateappcertUtility used to verify ABI compatibility problemsIt checks ELF of your app and compares library symbols against host interfaceIt can’t check everythingapptraceUtility to verify interface compatibility problem. Mostly for developers. Complex output, similar to Truss output
Tools you already have…Example of appcert verifying DB on Solaris 2.6 #> appcert  /path_to_old_appThe following (166 of 784) components had no problems detected:The following (462 of 784) components had no problems detected, but could not be completely checked:The following (156 of 784) components have potential stability problems:333 binaries used libc.so.1, 6 of these used private symbols215 binaries used libnsl.so.1, 136 of these used private symbols12 binaries used libdga.so.1, 12 of these used private symbols2 binaries used libdps.so.5, 2 of these used private symbols7 binaries used libXext.so.0, 2 of these used private symbolsSummary of various warnings: - non-POSIX libthread fork call  (5 binaries) - references sys_errlist/sys_nerr  (1 binaries) - unbound symbols  (460 binaries)Result code 2 => some_problems_detected(156EXIT STATUS     2        Some of the objects checked have  potential  binary              stability problems.
Tools you already have…Example of apptrace#> apptrace touch /tmp/foo-> touch    -> libc.so.1:int atexit(int (*)() = 0xff3c5bb4)<- touch    -> libc.so.1:atexit()-> touch    -> libc.so.1:int atexit(int (*)() = 0x11ae8)<- touch    -> libc.so.1:atexit()-> touch    -> libc.so.1:char * setlocale(int = 0x6, const char * = 0x11af8 "")<- touch    -> libc.so.1:setlocale() = 0x22e00-> touch    -> libc.so.1:char * textdomain(const char * = 0x11afc "SUNW_OST_OSCMD")<- touch    -> libc.so.1:textdomain() = 0x22690-> touch    -> libc.so.1:char * basename(char * = 0xffbffb10 "touch")<- touch    -> libc.so.1:basename() = 0xffbffb10-> touch    -> libc.so.1:strcmp(0xffbffb10, 0x11b0c, 0x0) ** NR-> touch    -> libc.so.1:int getopt(int = 0x2, char *const * = 0xffbffa1c, const char * = 0x11b20 "acfmr:d:t:")<- touch    -> libc.so.1:getopt() = 0xffffffff-> touch    -> libc.so.1:stat64(0xffbffb16, 0xffbff888, 0x11b20) ** NR-> touch    -> libc.so.1:int * ___errno(void)<- touch    -> libc.so.1:___errno() = 0xff039c7c-> touch    -> libc.so.1:int * ___errno(void)<- touch    -> libc.so.1:___errno() = 0xff039c7c-> touch    -> libc.so.1:int creat64(const char * = 0xffbffb16 "/tmp/foo", mode_t = 0x1b6)<- touch    -> libc.so.1:creat64() = 0x4-> touch    -> libc.so.1:int futimens(int = 0x4, consttimespec_t * = 0x0)<- touch    -> libc.so.1:futimens()-> touch    -> libc.so.1:int close(int = 0x4)<- touch    -> libc.so.1:close()-> touch    -> libc.so.1:exit(0x0, 0x0, 0x0) ** NR
And you are in a situation …You are in a situation where:You get an extensive report with an intimidating summary!
You probably find your app uses private, unbound or obsolete symbols, it shouldn’t. Even if your app happens to work on a newer OS, it doesn’t mean it will continue to with newer updates.
Even if you get a green light from the report you can’t be 100% sure the app will work (the tool cannot check everything)
Applications with green light can still fail (e.g. they assume certain FS layout, queries for certain release version, etc.)
Or even worse:
your app is statically linked, issuing system calls in assembly, or simply doesn’t work under a branded zoneWith appzero …Solaris 9Solaris 8Solaris 7Solaris 2.6Appzero Virtual Application ApplianceSolaris 2.6, 7, 8, 9Solaris 10 KernelZFSFMADTraceContainers16
AppZero packages applications/dependencies in VAA*BinariesLibrariesServices  Config=ApplicationOS* Virtual Application Appliance (VAA)
The AppZero Virtual Application Appliance VAA)The (           )  VAA:Packages all the elements required by the application to run: Executables, libraries, services, scripts, configuration files, network identity, host identity.Requires a compatible OS on the target machine
Is isolated from the underlying OS and from other VAAs.
Sees a configurable, merged view of its own files and those of the OS
Makes no changes to the underlying OS
Can be managed independently and run without conflict.
Enables old applications to be migrated to new OS and hardware
Complements Oracle Solaris Zones and Oracle VM Server for SPARCAppZero Solaris elementsAppzero director: orchestrates interaction of application and underlying OS (Solaris 9, 10)Appzero creator: packages application and dependencies into VAA(Solaris 9, 10)Virtual Application Appliance (VAA) = container = capsule  (Solaris 2.6, 7,  8, 9 and 10)Sol 2.6 AppHTTPSol 7 AppSol 8 AppappzeroSolaris 9 or 1010.0.0.10
How does AppZero work under the hood?Appzero uses “intercepts” A point of control inserted between an application and the OSAppzero intercepts certain system calls Virtualization logic in both the kernel and userland spaceExecutes when the application executesNot a background process or “agent”
What do AppZero intercepts do?Process tracking
fork, exit, wait
If parent is in appliance context then child is in capsule
Monitor
read, write, send, recv, sendto, recvfrom
Track H/W resource usage; CPU, memory, network & disk
Parameter Spoofing

More Related Content

What's hot (20)

PDF
Virtualization for Development
elliando dias
 
PDF
Enterprise Java Virtualization, Sacha Labourey
OpenBlend society
 
PPTX
Cloud foundry elastic architecture and deploy based on openstack
OpenCity Community
 
PDF
Windows Azure Platform - The Color of Cloud Computing
George Kanellopoulos
 
PPTX
彭—Elastic architecture in cloud foundry and deploy with openstack
OpenCity Community
 
PDF
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Kai Wähner
 
PDF
Systems Resource Management with NetIQ AppManager
Advanced Logic Industries
 
PPT
Virtualization meisen 042811
Morty Eisen
 
PPT
Virtualization
satchipatra
 
PDF
CloudBees PaaS Presentation at Oakland JUG
CloudBees
 
PDF
Application-Driven Virtualization: Architectural Considerations
Bob Rhubart
 
PDF
Spring, Java Web Apps to the cloud
CloudBees
 
PPTX
Sesion Marzo Zaragoza
Fran Navarro
 
PDF
Windows Azure: Is Azure right for you?
Intergen
 
PDF
Oracle VM Consolidation and Path to the Cloud
Bob Rhubart
 
PPTX
Windows Azure & How to Deploy Wordress
George Kanellopoulos
 
PPTX
Harbour IT & VMware - vForum 2010 Wrap
HarbourIT
 
PDF
Virtualizing Business Critical Apps
heraldschelke
 
PPTX
Prodware wa college - marcel meijer
Freelance Consultant / Manager / co-CTO
 
PDF
Roger boesch news xd_xa_nov (1)
Digicomp Academy AG
 
Virtualization for Development
elliando dias
 
Enterprise Java Virtualization, Sacha Labourey
OpenBlend society
 
Cloud foundry elastic architecture and deploy based on openstack
OpenCity Community
 
Windows Azure Platform - The Color of Cloud Computing
George Kanellopoulos
 
彭—Elastic architecture in cloud foundry and deploy with openstack
OpenCity Community
 
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Kai Wähner
 
Systems Resource Management with NetIQ AppManager
Advanced Logic Industries
 
Virtualization meisen 042811
Morty Eisen
 
Virtualization
satchipatra
 
CloudBees PaaS Presentation at Oakland JUG
CloudBees
 
Application-Driven Virtualization: Architectural Considerations
Bob Rhubart
 
Spring, Java Web Apps to the cloud
CloudBees
 
Sesion Marzo Zaragoza
Fran Navarro
 
Windows Azure: Is Azure right for you?
Intergen
 
Oracle VM Consolidation and Path to the Cloud
Bob Rhubart
 
Windows Azure & How to Deploy Wordress
George Kanellopoulos
 
Harbour IT & VMware - vForum 2010 Wrap
HarbourIT
 
Virtualizing Business Critical Apps
heraldschelke
 
Prodware wa college - marcel meijer
Freelance Consultant / Manager / co-CTO
 
Roger boesch news xd_xa_nov (1)
Digicomp Academy AG
 

Viewers also liked (7)

PDF
Introduction to Google Web Toolkit - part 1
Muhammad Ghazali
 
PDF
GNU Octave: Strutture dati e I/O
Andrea Spadaccini
 
ODP
Introduction to Google App Engine
Andrea Spadaccini
 
PDF
Virtual Machines
Joa Ebert
 
PPT
Google Adword Guide
Targetseo.com
 
KEY
Introduction to Google App Engine
Chakkrit (Kla) Tantithamthavorn
 
PPTX
Virtual machine
IGZ Software house
 
Introduction to Google Web Toolkit - part 1
Muhammad Ghazali
 
GNU Octave: Strutture dati e I/O
Andrea Spadaccini
 
Introduction to Google App Engine
Andrea Spadaccini
 
Virtual Machines
Joa Ebert
 
Google Adword Guide
Targetseo.com
 
Introduction to Google App Engine
Chakkrit (Kla) Tantithamthavorn
 
Virtual machine
IGZ Software house
 
Ad

Similar to Legacy Lowdown - Options When Migrating Solaris Applications (20)

PPTX
Internship msc cs
Pooja Bhojwani
 
PPTX
Process control daemon
haish
 
PPTX
Advanced malwareanalysis training session2 botnet analysis part1
Cysinfo Cyber Security Community
 
PDF
Web application penetration testing lab setup guide
Sudhanshu Chauhan
 
PDF
outpass system
Dhivakar K
 
PDF
Alfresco Day Barcelona 2016 - Developer Track - Herramientas para administrad...
Alfresco Software
 
PPTX
FOISDBA-Ver1.1.pptx
ssuser20fcbe
 
DOCX
Backtrack Manual Part4
Nutan Kumar Panda
 
PDF
Ubuntu Core 技术详解
Rex Tsai
 
PDF
Understanding SBOMs: An Introduction to Modern Development
Anchore
 
PPTX
Embedded Systems
Benjim Thomas Mathew
 
PPTX
Introduction to Embedded Linux
Hossain Reja
 
PDF
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
The Linux Foundation
 
PDF
Explore Android Internals
National Cheng Kung University
 
DOCX
Desktop interview qestions & answer
mandarshetye45
 
PDF
Corejava ratan
Satya Johnny
 
PDF
Easy way to learn Core java full material
Sivannarayana Chimata
 
TXT
Interview questions
xavier john
 
PPTX
Symbian OS
Adit Pathak
 
PPTX
Alfresco Support tools
Antonio Soler
 
Internship msc cs
Pooja Bhojwani
 
Process control daemon
haish
 
Advanced malwareanalysis training session2 botnet analysis part1
Cysinfo Cyber Security Community
 
Web application penetration testing lab setup guide
Sudhanshu Chauhan
 
outpass system
Dhivakar K
 
Alfresco Day Barcelona 2016 - Developer Track - Herramientas para administrad...
Alfresco Software
 
FOISDBA-Ver1.1.pptx
ssuser20fcbe
 
Backtrack Manual Part4
Nutan Kumar Panda
 
Ubuntu Core 技术详解
Rex Tsai
 
Understanding SBOMs: An Introduction to Modern Development
Anchore
 
Embedded Systems
Benjim Thomas Mathew
 
Introduction to Embedded Linux
Hossain Reja
 
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
The Linux Foundation
 
Explore Android Internals
National Cheng Kung University
 
Desktop interview qestions & answer
mandarshetye45
 
Corejava ratan
Satya Johnny
 
Easy way to learn Core java full material
Sivannarayana Chimata
 
Interview questions
xavier john
 
Symbian OS
Adit Pathak
 
Alfresco Support tools
Antonio Soler
 
Ad

Recently uploaded (20)

PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 

Legacy Lowdown - Options When Migrating Solaris Applications

  • 1. The Webinar will begin shortly….
  • 2. Legacy LowdownOptions When Migrating Solaris Applications
  • 3. HousekeepingPlease ParticipateUse the GoToWebinar controls to ask questionsWe’ll take most questions at the end
  • 4. Introductions & AgendaAppZero – application virtualization software vendor Server applications (Solaris, Linux, Windows) and Windows desktopFounded in 2006 – Solaris application virtualization first productPatented and field-proven softwareRandy Whitcroft – Solaris Business DevelopmentErnesto Benedito – Lead Architect UNIX platformLegacy LowdownLegacy Applications – How did we get to this point?Binary Compatibility Guarantee – Are you covered?Will your apps fit into Zones/Containers?Tools to help you know where you standThe Appzero Solution Q&A
  • 5. AppZero Solaris in action ….Large Telecommunications ProviderLarge database used in development and support of hardware offeringEvolved over time…faced a choice: start over or use AppZeroAppZero within full production environment: “It just runs…no need to manage”Financial Investment FirmLegacy customer information and data required for audit purposesApplication and database virtualized with AppZero in productionOriginally intended to be an interim solution… now, no plans to changeSystems IntegratorProviding support for large telecom company in EMEASingle instance of application cloned or duplicated…then deployedSoftware VendorBuild customer environment internally to replicate issues and provide technical supportSupport time reduced from weeks down to days/hours
  • 6. Legacy Applications – How did we get to this point?Organizations invested heavily into either customized or even custom built line of business applications. Over time, the data centers were upgraded and updated as newer applications were added, capabilities were enhanced, and performance requirements increased. A great deal has changed over the last number of years! Vendors have come and gone, systems adhered to Moore’s law of technology growth, and technology has moved to become a vital component of any business.And for many different reasons many organizations have been left with…
  • 7. Legacy Applications – How did we get to this point?IMPORTANT…but not Vital!
  • 8. Legacy Applications – How did we get to this point?It is not “If”…but “When”
  • 9. Binary Compatibility GuaranteeSun/Oracle Binary Compatibility Guarantee was released over a decade ago…Key elements around how an application was to be built using Sun recommended best practices to ensure that there was a binary compatibilityDevelopers did not know about it.Developers just ignored itWas not available when the application was builtVery few applications on 2.6 or 7 qualifiedYou either meet the requirements or you don’t…just 1% of application can mean everythingThe bottom line…this option may not be an option!
  • 10. Just use Zones or Containers…
  • 11. Just use Zones or Containers…Solaris 9Solaris 8Solaris 7Solaris 2.6
  • 12. ret 0 – No potential stability issues. Should run ret 2 – Potential binary stability, Good chance will not runTools you already have…Tools already available…included in Solaris 10 OSAnalyzes application your are trying to migrateappcertUtility used to verify ABI compatibility problemsIt checks ELF of your app and compares library symbols against host interfaceIt can’t check everythingapptraceUtility to verify interface compatibility problem. Mostly for developers. Complex output, similar to Truss output
  • 13. Tools you already have…Example of appcert verifying DB on Solaris 2.6 #> appcert /path_to_old_appThe following (166 of 784) components had no problems detected:The following (462 of 784) components had no problems detected, but could not be completely checked:The following (156 of 784) components have potential stability problems:333 binaries used libc.so.1, 6 of these used private symbols215 binaries used libnsl.so.1, 136 of these used private symbols12 binaries used libdga.so.1, 12 of these used private symbols2 binaries used libdps.so.5, 2 of these used private symbols7 binaries used libXext.so.0, 2 of these used private symbolsSummary of various warnings: - non-POSIX libthread fork call  (5 binaries) - references sys_errlist/sys_nerr  (1 binaries) - unbound symbols  (460 binaries)Result code 2 => some_problems_detected(156EXIT STATUS     2        Some of the objects checked have  potential  binary              stability problems.
  • 14. Tools you already have…Example of apptrace#> apptrace touch /tmp/foo-> touch -> libc.so.1:int atexit(int (*)() = 0xff3c5bb4)<- touch -> libc.so.1:atexit()-> touch -> libc.so.1:int atexit(int (*)() = 0x11ae8)<- touch -> libc.so.1:atexit()-> touch -> libc.so.1:char * setlocale(int = 0x6, const char * = 0x11af8 "")<- touch -> libc.so.1:setlocale() = 0x22e00-> touch -> libc.so.1:char * textdomain(const char * = 0x11afc "SUNW_OST_OSCMD")<- touch -> libc.so.1:textdomain() = 0x22690-> touch -> libc.so.1:char * basename(char * = 0xffbffb10 "touch")<- touch -> libc.so.1:basename() = 0xffbffb10-> touch -> libc.so.1:strcmp(0xffbffb10, 0x11b0c, 0x0) ** NR-> touch -> libc.so.1:int getopt(int = 0x2, char *const * = 0xffbffa1c, const char * = 0x11b20 "acfmr:d:t:")<- touch -> libc.so.1:getopt() = 0xffffffff-> touch -> libc.so.1:stat64(0xffbffb16, 0xffbff888, 0x11b20) ** NR-> touch -> libc.so.1:int * ___errno(void)<- touch -> libc.so.1:___errno() = 0xff039c7c-> touch -> libc.so.1:int * ___errno(void)<- touch -> libc.so.1:___errno() = 0xff039c7c-> touch -> libc.so.1:int creat64(const char * = 0xffbffb16 "/tmp/foo", mode_t = 0x1b6)<- touch -> libc.so.1:creat64() = 0x4-> touch -> libc.so.1:int futimens(int = 0x4, consttimespec_t * = 0x0)<- touch -> libc.so.1:futimens()-> touch -> libc.so.1:int close(int = 0x4)<- touch -> libc.so.1:close()-> touch -> libc.so.1:exit(0x0, 0x0, 0x0) ** NR
  • 15. And you are in a situation …You are in a situation where:You get an extensive report with an intimidating summary!
  • 16. You probably find your app uses private, unbound or obsolete symbols, it shouldn’t. Even if your app happens to work on a newer OS, it doesn’t mean it will continue to with newer updates.
  • 17. Even if you get a green light from the report you can’t be 100% sure the app will work (the tool cannot check everything)
  • 18. Applications with green light can still fail (e.g. they assume certain FS layout, queries for certain release version, etc.)
  • 20. your app is statically linked, issuing system calls in assembly, or simply doesn’t work under a branded zoneWith appzero …Solaris 9Solaris 8Solaris 7Solaris 2.6Appzero Virtual Application ApplianceSolaris 2.6, 7, 8, 9Solaris 10 KernelZFSFMADTraceContainers16
  • 21. AppZero packages applications/dependencies in VAA*BinariesLibrariesServices Config=ApplicationOS* Virtual Application Appliance (VAA)
  • 22. The AppZero Virtual Application Appliance VAA)The ( ) VAA:Packages all the elements required by the application to run: Executables, libraries, services, scripts, configuration files, network identity, host identity.Requires a compatible OS on the target machine
  • 23. Is isolated from the underlying OS and from other VAAs.
  • 24. Sees a configurable, merged view of its own files and those of the OS
  • 25. Makes no changes to the underlying OS
  • 26. Can be managed independently and run without conflict.
  • 27. Enables old applications to be migrated to new OS and hardware
  • 28. Complements Oracle Solaris Zones and Oracle VM Server for SPARCAppZero Solaris elementsAppzero director: orchestrates interaction of application and underlying OS (Solaris 9, 10)Appzero creator: packages application and dependencies into VAA(Solaris 9, 10)Virtual Application Appliance (VAA) = container = capsule (Solaris 2.6, 7, 8, 9 and 10)Sol 2.6 AppHTTPSol 7 AppSol 8 AppappzeroSolaris 9 or 1010.0.0.10
  • 29. How does AppZero work under the hood?Appzero uses “intercepts” A point of control inserted between an application and the OSAppzero intercepts certain system calls Virtualization logic in both the kernel and userland spaceExecutes when the application executesNot a background process or “agent”
  • 30. What do AppZero intercepts do?Process tracking
  • 32. If parent is in appliance context then child is in capsule
  • 34. read, write, send, recv, sendto, recvfrom
  • 35. Track H/W resource usage; CPU, memory, network & disk
  • 37. uname, ioctl, getmsg, bind, sendmsg,
  • 38. CFM: open, stat, fstat, etc.
  • 39. Modify a parameter sent to or received from the kernelAppZero 3 Step Process1. Analyze3. Run/Manage2. VirtualizeVAAPhysicalVAAAppZeroCreator
  • 40. 1. AnalyzeAnalyze if the application has:Dependencies on kernel drivers deployed by the application.Special hardware requirements available/installed only on the source server, such a dedicated backup hardware device.Source System:Review file system: i.e. mount points, total disk space needed, special asynchronous vs. synchronous I/O requirements.Review services: determine which services are required for the app that will end up in the applianceReview kernel parameters: many applications require specific kernel parameters (e.g. #semaphores, shared memory, etc)Complete the application profile
  • 41. 2. CreateVirtualize to VAASourceOutputVAAVAAPhysicalAppZeroCreatorApproaches for creating a VAA: 1. Learn mode 2. Fresh Install on empty VAA 3. Whole HD capturePortableData CenterFinal format can be uncompressed or compressed & encrypted file
  • 42. Encapsulating a legacy systemMove to create machine tar.gz file Export/share/mount AppZero - screateInstallTargetSolaris 10Modern Solaris 10 server Source Solaris 2.6 with ApplicationUltra10Note: Creation of a VAA requires access to the files in the legacy system:
  • 43. AppZero Creator: Capture files, refine properties Select services Resource utilization Start up modeReview files in the VAATweak mount points
  • 44. appzerosolaris3. Run/ManageVAA optionally keeps the network identity and hostid of the source systemAppZero Controller on target machineSOURCESolaris 2.6TARGETSolaris 10DHCP serverVAA - Solaris 2.6 AppIP = 10.0.0.6MAC = 08:00:20:b1:41:47Client name = old appIP = 10.0.0.6IP = 10.0.0.10
  • 45. Where do the VAA files reside?appzeroappzeroNAS/SANSolarisSolariscsuperblockcdata/usr/local/appzero/appliances/vaa//etc../bincstore/lib/product/..XVAAVAAVAA
  • 46. AppZero Controller: managing VAAs[root@tps31 bin]# ./appzctrl <cmd>where CMD is:list - Display list of appliances
  • 47. dock – Register an appliance
  • 48. undock – Unregister an appliance
  • 49. startup - Runs the defined startup script for an appliance
  • 50. shutdown - Runs the defined shutdown script for an appliance
  • 51. run - Runs an executable inside an appliance
  • 52. procl - Display appliance process list
  • 53. prop - Display appliance property
  • 54. edit - Edit appliance property
  • 55. cprop - Display controller properties
  • 56. cedit - Edit controller properties
  • 57. compress - Compress an expanded fileset into a .con file
  • 58. uncompress - Expand an appliance's .con file
  • 59. upgrade - Upgrade an appliance
  • 60. sysversion - Displays controller and kernel module versionWhat type of application can I put on a VAA?VAAapplication (s)appzeroNOCustom and proprietary applicationsOf the shelf applications.A simple “hello world” type of applicationA Web serverA database (DBMS)A complex ERP systemEtc……..Do I have to change or recompile my app?Note: apps with proprietary kernel drivers require specific conditions
  • 61. VAAs and Oracle Solaris ZonesBasic VAANo virtual networkingDoesn’t have Identity. UOS identity inheritedGlobally compared with chroot environment. (but is not a chroot environment)Application isolationVirtualized NetworkManually set network identityBasic capsule capabilities plus identity mappingOwn Identity IP address, hostname, MAC, system ID are virtualized with values defined in  the appliance propertiesAppZero Controller installed on the Global ZoneVAA managed across Zones
  • 62. You’re probably wondering about ….Level of effort: no re-engineeringFamiliarize staff with AppZero solutionVirtualize/encapsulate application and testImplementation is a copy, not an installationTime frame: a day to a week depending on complexitySkill level: application-knowledgeable admin or analystCost: one time costsCreator $5K, VAA $5K, Annual maintenance 20%VAA can be used in dev/test/pre-production/production/cloud/DR concurrentlyMigration as a Service Program$12,500 per application. Risk Free! Contact us for more information...
  • 63. And maybe ….Where it won’t work: Solaris on x86 platforms, Solaris 2.5, Solaris to/from Linux, Windows, or UNIXWhat about applications with kernel drivers?Doable under specific conditionsPerformance overhead: a non-issue Application performance tends to improve running on current OS and new hardware(%0 pure CPU, %3 business apps,%10 compilers.) Reliability: years of production use at large accounts
  • 64. AppZero application virtualization summary …. Package once, run everywhere Eliminate application/application conflicts (sandbox) Run application on new hardware -- better performance/lower cost Server consolidation Continuity and disaster recovery
  • 65. Next steps….No-charge “AppZero Application Assessment ”Technical analysis of your application environment App componentsServices3rd party dependenciesKernel modulesFit with AppZeroConnect directly with usRandy Whitcroft [email protected] [email protected] this recorded session with your colleagues at www.appzero.comFor more information or product download visit : www.appzero.com