SlideShare uma empresa Scribd logo
1 de 36
The Webinar will begin shortly….
Legacy LowdownOptions When Migrating Solaris Applications
Housekeeping Please Participate Use the GoToWebinar controls to ask questions We’ll take most questions at the end
Introductions & Agenda AppZero – application virtualization software vendor  Server applications (Solaris, Linux, Windows) and Windows desktop Founded in 2006 – Solaris application virtualization first product Patented and field-proven software Randy Whitcroft – Solaris Business Development Ernesto Benedito – Lead Architect UNIX platform Legacy Lowdown Legacy 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 stand The Appzero Solution  Q&A
AppZero Solaris in action …. Large Telecommunications Provider Large database used in development and support of hardware offering Evolved over time…faced a choice: start over or use AppZero AppZero within full production environment:  “It just runs…no need to manage” Financial Investment Firm Legacy customer information and data required for audit purposes Application and database virtualized with AppZero in production Originally intended to be an interim solution… now, no plans to change Systems Integrator Providing support for large telecom company in EMEA Single instance of application cloned or duplicated…then deployed Software Vendor Build customer environment internally to replicate issues and provide technical support Support 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 Guarantee Sun/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 compatibility Developers did not know about it. Developers just ignored it Was not available when the application was built Very few applications on 2.6 or 7 qualified You either meet the requirements or you don’t…just 1% of application can mean everything The bottom line…this option may not be an option!
Just use Zones or Containers…
Just use Zones or Containers… Solaris 9 Solaris 8 Solaris 7 Solaris 2.6
 ret 0 – No potential stability issues. Should run  ret 2 – Potential binary stability, Good chance will not run Tools you already have… Tools already available…included in Solaris 10 OS Analyzes application your are trying to migrate appcert Utility used to verify ABI compatibility problems It checks ELF of your app and compares library symbols against host interface It can’t check everything apptrace Utility 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_app The 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 symbols 215 binaries used libnsl.so.1, 136 of these used private symbols 12 binaries used libdga.so.1, 12 of these used private symbols 2 binaries used libdps.so.5, 2 of these used private symbols 7 binaries used libXext.so.0, 2 of these used private symbols Summary 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(156 EXIT 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: ,[object Object]
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 zone,[object Object]
AppZero packages applications/dependencies in VAA* Binaries Libraries Services   Config = Application OS * Virtual Application Appliance (VAA)
The AppZero Virtual Application Appliance VAA) The (           )  VAA: ,[object Object], Executables, libraries, services, scripts, configuration files, network identity, host identity. ,[object Object]
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 SPARC,[object Object]
How does AppZero work under the hood? Appzero uses “intercepts”  A point of control inserted between an application and the OS Appzero intercepts certain system calls  Virtualization logic in both the kernel and userland space Executes when the application executes Not a background process or “agent”
What do AppZero intercepts do? ,[object Object]
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

Mais conteúdo relacionado

Mais procurados

Virtualization for Development
Virtualization for DevelopmentVirtualization for Development
Virtualization for Development
elliando dias
 
Enterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha LaboureyEnterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha Labourey
OpenBlend society
 
Cloud foundry elastic architecture and deploy based on openstack
Cloud foundry elastic architecture and deploy based on openstackCloud foundry elastic architecture and deploy based on openstack
Cloud foundry elastic architecture and deploy based on openstack
OpenCity Community
 
彭—Elastic architecture in cloud foundry and deploy with openstack
彭—Elastic architecture in cloud foundry and deploy with openstack彭—Elastic architecture in cloud foundry and deploy with openstack
彭—Elastic architecture in cloud foundry and deploy with openstack
OpenCity Community
 
Sesion Marzo Zaragoza
Sesion Marzo ZaragozaSesion Marzo Zaragoza
Sesion Marzo Zaragoza
Fran Navarro
 
Windows Azure: Is Azure right for you?
Windows Azure: Is Azure right for you?Windows Azure: Is Azure right for you?
Windows Azure: Is Azure right for you?
Intergen
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
George Kanellopoulos
 

Mais procurados (20)

Virtualization for Development
Virtualization for DevelopmentVirtualization for Development
Virtualization for Development
 
Enterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha LaboureyEnterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha Labourey
 
Cloud foundry elastic architecture and deploy based on openstack
Cloud foundry elastic architecture and deploy based on openstackCloud foundry elastic architecture and deploy based on openstack
Cloud foundry elastic architecture and deploy based on openstack
 
Windows Azure Platform - The Color of Cloud Computing
Windows Azure Platform - The Color of Cloud ComputingWindows Azure Platform - The Color of Cloud Computing
Windows Azure Platform - The Color of Cloud Computing
 
彭—Elastic architecture in cloud foundry and deploy with openstack
彭—Elastic architecture in cloud foundry and deploy with openstack彭—Elastic architecture in cloud foundry and deploy with openstack
彭—Elastic architecture in cloud foundry and deploy with openstack
 
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Jazoon 2012 - Systems Integration in the Cloud Era with Apache CamelJazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
 
Systems Resource Management with NetIQ AppManager
Systems Resource Management with NetIQ AppManagerSystems Resource Management with NetIQ AppManager
Systems Resource Management with NetIQ AppManager
 
Virtualization meisen 042811
Virtualization meisen 042811Virtualization meisen 042811
Virtualization meisen 042811
 
Virtualization
VirtualizationVirtualization
Virtualization
 
CloudBees PaaS Presentation at Oakland JUG
CloudBees PaaS Presentation at Oakland JUGCloudBees PaaS Presentation at Oakland JUG
CloudBees PaaS Presentation at Oakland JUG
 
Application-Driven Virtualization: Architectural Considerations
Application-Driven Virtualization: Architectural ConsiderationsApplication-Driven Virtualization: Architectural Considerations
Application-Driven Virtualization: Architectural Considerations
 
Spring, Java Web Apps to the cloud
Spring, Java Web Apps to the cloudSpring, Java Web Apps to the cloud
Spring, Java Web Apps to the cloud
 
Sesion Marzo Zaragoza
Sesion Marzo ZaragozaSesion Marzo Zaragoza
Sesion Marzo Zaragoza
 
Windows Azure: Is Azure right for you?
Windows Azure: Is Azure right for you?Windows Azure: Is Azure right for you?
Windows Azure: Is Azure right for you?
 
Oracle VM Consolidation and Path to the Cloud
Oracle VM Consolidation and Path to the CloudOracle VM Consolidation and Path to the Cloud
Oracle VM Consolidation and Path to the Cloud
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
Harbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 WrapHarbour IT & VMware - vForum 2010 Wrap
Harbour IT & VMware - vForum 2010 Wrap
 
Virtualizing Business Critical Apps
Virtualizing Business Critical AppsVirtualizing Business Critical Apps
Virtualizing Business Critical Apps
 
Prodware wa college - marcel meijer
Prodware   wa college - marcel meijerProdware   wa college - marcel meijer
Prodware wa college - marcel meijer
 
Roger boesch news xd_xa_nov (1)
Roger boesch news xd_xa_nov (1)Roger boesch news xd_xa_nov (1)
Roger boesch news xd_xa_nov (1)
 

Destaque

Destaque (7)

Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1
 
GNU Octave: Strutture dati e I/O
GNU Octave: Strutture dati e I/OGNU Octave: Strutture dati e I/O
GNU Octave: Strutture dati e I/O
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Virtual Machines
Virtual MachinesVirtual Machines
Virtual Machines
 
Google Adword Guide
Google  Adword  GuideGoogle  Adword  Guide
Google Adword Guide
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 

Semelhante a Legacy Lowdown - Options When Migrating Solaris Applications

Process control daemon
Process control daemonProcess control daemon
Process control daemon
haish
 
outpass system
outpass systemoutpass system
outpass system
Dhivakar K
 

Semelhante a Legacy Lowdown - Options When Migrating Solaris Applications (20)

Internship msc cs
Internship msc csInternship msc cs
Internship msc cs
 
Process control daemon
Process control daemonProcess control daemon
Process control daemon
 
Advanced malwareanalysis training session2 botnet analysis part1
Advanced malwareanalysis training session2 botnet analysis part1Advanced malwareanalysis training session2 botnet analysis part1
Advanced malwareanalysis training session2 botnet analysis part1
 
Web application penetration testing lab setup guide
Web application penetration testing lab setup guideWeb application penetration testing lab setup guide
Web application penetration testing lab setup guide
 
outpass system
outpass systemoutpass system
outpass system
 
Alfresco Day Barcelona 2016 - Developer Track - Herramientas para administrad...
Alfresco Day Barcelona 2016 - Developer Track - Herramientas para administrad...Alfresco Day Barcelona 2016 - Developer Track - Herramientas para administrad...
Alfresco Day Barcelona 2016 - Developer Track - Herramientas para administrad...
 
FOISDBA-Ver1.1.pptx
FOISDBA-Ver1.1.pptxFOISDBA-Ver1.1.pptx
FOISDBA-Ver1.1.pptx
 
Backtrack Manual Part4
Backtrack Manual Part4Backtrack Manual Part4
Backtrack Manual Part4
 
Ubuntu Core 技术详解
Ubuntu Core 技术详解Ubuntu Core 技术详解
Ubuntu Core 技术详解
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
Introduction to Embedded Linux
Introduction to Embedded LinuxIntroduction to Embedded Linux
Introduction to Embedded Linux
 
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
Desktop interview qestions & answer
Desktop interview qestions & answerDesktop interview qestions & answer
Desktop interview qestions & answer
 
Easy way to learn Core java full material
Easy way to learn Core java full materialEasy way to learn Core java full material
Easy way to learn Core java full material
 
Corejava ratan
Corejava ratanCorejava ratan
Corejava ratan
 
Interview questions
Interview questionsInterview questions
Interview questions
 
Symbian OS
Symbian  OS Symbian  OS
Symbian OS
 
Alfresco Support tools
Alfresco Support toolsAlfresco Support tools
Alfresco Support tools
 
Monitoring shootout loadays
Monitoring shootout loadaysMonitoring shootout loadays
Monitoring shootout loadays
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Legacy Lowdown - Options When Migrating Solaris Applications

  • 1. The Webinar will begin shortly….
  • 2. Legacy LowdownOptions When Migrating Solaris Applications
  • 3. Housekeeping Please Participate Use the GoToWebinar controls to ask questions We’ll take most questions at the end
  • 4. Introductions & Agenda AppZero – application virtualization software vendor Server applications (Solaris, Linux, Windows) and Windows desktop Founded in 2006 – Solaris application virtualization first product Patented and field-proven software Randy Whitcroft – Solaris Business Development Ernesto Benedito – Lead Architect UNIX platform Legacy Lowdown Legacy 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 stand The Appzero Solution Q&A
  • 5. AppZero Solaris in action …. Large Telecommunications Provider Large database used in development and support of hardware offering Evolved over time…faced a choice: start over or use AppZero AppZero within full production environment: “It just runs…no need to manage” Financial Investment Firm Legacy customer information and data required for audit purposes Application and database virtualized with AppZero in production Originally intended to be an interim solution… now, no plans to change Systems Integrator Providing support for large telecom company in EMEA Single instance of application cloned or duplicated…then deployed Software Vendor Build customer environment internally to replicate issues and provide technical support Support 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 Guarantee Sun/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 compatibility Developers did not know about it. Developers just ignored it Was not available when the application was built Very few applications on 2.6 or 7 qualified You either meet the requirements or you don’t…just 1% of application can mean everything The bottom line…this option may not be an option!
  • 10. Just use Zones or Containers…
  • 11. Just use Zones or Containers… Solaris 9 Solaris 8 Solaris 7 Solaris 2.6
  • 12. ret 0 – No potential stability issues. Should run ret 2 – Potential binary stability, Good chance will not run Tools you already have… Tools already available…included in Solaris 10 OS Analyzes application your are trying to migrate appcert Utility used to verify ABI compatibility problems It checks ELF of your app and compares library symbols against host interface It can’t check everything apptrace Utility 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_app The 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 symbols 215 binaries used libnsl.so.1, 136 of these used private symbols 12 binaries used libdga.so.1, 12 of these used private symbols 2 binaries used libdps.so.5, 2 of these used private symbols 7 binaries used libXext.so.0, 2 of these used private symbols Summary 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(156 EXIT 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.
  • 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.
  • 21. AppZero packages applications/dependencies in VAA* Binaries Libraries Services Config = Application OS * Virtual Application Appliance (VAA)
  • 22.
  • 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.
  • 29. How does AppZero work under the hood? Appzero uses “intercepts” A point of control inserted between an application and the OS Appzero intercepts certain system calls Virtualization logic in both the kernel and userland space Executes when the application executes Not a background process or “agent”
  • 30.
  • 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.
  • 40. 1. Analyze Analyze 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 appliance Review kernel parameters: many applications require specific kernel parameters (e.g. #semaphores, shared memory, etc) Complete the application profile
  • 41. 2. Create Virtualize to VAA Source Output VAA VAA Physical AppZero Creator Approaches for creating a VAA: 1. Learn mode 2. Fresh Install on empty VAA 3. Whole HD capture Portable Data Center Final format can be uncompressed or compressed & encrypted file
  • 42. Encapsulating a legacy system Move to create machine tar.gz file Export/share/mount AppZero - screate Install Target Solaris 10 Modern Solaris 10 server Source Solaris 2.6 with Application Ultra10 Note: 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 mode Review files in the VAA Tweak mount points
  • 44. appzero solaris 3. Run/Manage VAA optionally keeps the network identity and hostid of the source system AppZero Controller on target machine SOURCE Solaris 2.6 TARGET Solaris 10 DHCP server VAA - Solaris 2.6 App IP = 10.0.0.6 MAC = 08:00:20:b1:41:47 Client name = old app IP = 10.0.0.6 IP = 10.0.0.10
  • 45. Where do the VAA files reside? appzero appzero NAS/SAN Solaris Solaris csuperblock cdata /usr/local/appzero/appliances/vaa/ /etc .. /bin cstore /lib /product/.. X VAA VAA VAA
  • 46.
  • 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.
  • 61. VAAs and Oracle Solaris Zones Basic VAA No virtual networking Doesn’t have Identity. UOS identity inherited Globally compared with chroot environment. (but is not a chroot environment) Application isolation Virtualized Network Manually set network identity Basic capsule capabilities plus identity mapping Own Identity IP address, hostname, MAC, system ID are virtualized with values defined in  the appliance properties AppZero Controller installed on the Global Zone VAA managed across Zones
  • 62. You’re probably wondering about …. Level of effort: no re-engineering Familiarize staff with AppZero solution Virtualize/encapsulate application and test Implementation is a copy, not an installation Time frame: a day to a week depending on complexity Skill level: application-knowledgeable admin or analyst Cost: one time costs Creator $5K, VAA $5K, Annual maintenance 20% VAA can be used in dev/test/pre-production/production/cloud/DR concurrently Migration 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 UNIX What about applications with kernel drivers? Doable under specific conditions Performance 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 components Services 3rd party dependencies Kernel modules Fit with AppZero Connect directly with us Randy Whitcroft rwhitcroft@appzero.com Ernesto Beneditoebenedito@appzero.com Share this recorded session with your colleagues at www.appzero.com For more information or product download visit : www.appzero.com