Migrating Applications to the Cloud
Prevent the Most Common Reasons for Failure




                         Parasoft
                      November 2012
Cloud “Migration”…What we see


         Stage         Characterized                   Summary
Rogue             Experimentation            Against or before an internal
                                              mandate
                                             Pure simplicity versus internal
                                              processes
                                             Cool factor

Ad Hoc            Fun with Virtualization    Leverage server virtualization
                                              in cloud
                                             Only increases risk (and cost)
                                              due to duplication

Trial and Error   Business Interest          Opportunity to deliver business
                                              value
                                             In “Cloud we Trust…”

Responsibility    Service Level Agreement    Architecture analyzed
                                             Business penalties palpable
                                             Real refactoring / redesign
                                              starts
Major Cloud Application Considerations


 Infrastructure              Architecture       Monitoring

                  Security                     Instrumentation

 Automation                  Latency

                             Parallel

                             Event-Driven

              Fault Tolerance

                        Resource Consumption
Where To Start

   Create your policy
   Determine your basic desired architecture
   Align with a service provider that meets your business needs
    and realize that this will be a give and take
   Don’t remodel - rebuild
The old into the new



                                                   UI

         database                       authentication   computation   legacy system




Parasoft Proprietary and Confidential                                           5
Break it down

          Plan out your components
          Select the pieces to be reworked and peer-review the plan
          Well designed components use API only
          Public member fields are a no-no




Parasoft Proprietary and Confidential                             6
Architectures Tips & Tricks

          You want to be:
                  Parallelizable
                  Fault tolerant
                  Resource independent




Parasoft Proprietary and Confidential     7
Don’t Run in Circles


                                        Package A




                 Package C                      Package B

Parasoft Proprietary and Confidential                       8
No Monoliths in the Cloud




                                          Giant Files
                                        Giant Functions




Parasoft Proprietary and Confidential                     9
Thinking Globally




Parasoft Proprietary and Confidential   10
Be Exceptional




Parasoft Proprietary and Confidential   11
Security is vital

          Suddenly there are openings everywhere
          Can’t rely on “it was checked elsewhere in the application”
          Input validation covers wide swath of potential problems
          OWASP Top 10
          CWE Top 25




Parasoft Proprietary and Confidential                              12
Policy – Plan, Measure, Monitor




                                           Decide what you’re going to allow
                                            and create specific policy
                                           Measure / monitor
                                           Flag violations as errors (policy
                                            enforcement)




Parasoft Proprietary and Confidential                                   13
Questions
                                         info@parasoft.com webinar@parasoft.com




Parasoft Proprietary and Confidential

Cloud migration slides

  • 1.
    Migrating Applications tothe Cloud Prevent the Most Common Reasons for Failure Parasoft November 2012
  • 2.
    Cloud “Migration”…What wesee Stage Characterized Summary Rogue Experimentation  Against or before an internal mandate  Pure simplicity versus internal processes  Cool factor Ad Hoc Fun with Virtualization  Leverage server virtualization in cloud  Only increases risk (and cost) due to duplication Trial and Error Business Interest  Opportunity to deliver business value  In “Cloud we Trust…” Responsibility Service Level Agreement  Architecture analyzed  Business penalties palpable  Real refactoring / redesign starts
  • 3.
    Major Cloud ApplicationConsiderations Infrastructure Architecture Monitoring Security Instrumentation Automation Latency Parallel Event-Driven Fault Tolerance Resource Consumption
  • 4.
    Where To Start  Create your policy  Determine your basic desired architecture  Align with a service provider that meets your business needs and realize that this will be a give and take  Don’t remodel - rebuild
  • 5.
    The old intothe new UI database authentication computation legacy system Parasoft Proprietary and Confidential 5
  • 6.
    Break it down  Plan out your components  Select the pieces to be reworked and peer-review the plan  Well designed components use API only  Public member fields are a no-no Parasoft Proprietary and Confidential 6
  • 7.
    Architectures Tips &Tricks  You want to be:  Parallelizable  Fault tolerant  Resource independent Parasoft Proprietary and Confidential 7
  • 8.
    Don’t Run inCircles Package A Package C Package B Parasoft Proprietary and Confidential 8
  • 9.
    No Monoliths inthe Cloud Giant Files Giant Functions Parasoft Proprietary and Confidential 9
  • 10.
  • 11.
  • 12.
    Security is vital  Suddenly there are openings everywhere  Can’t rely on “it was checked elsewhere in the application”  Input validation covers wide swath of potential problems  OWASP Top 10  CWE Top 25 Parasoft Proprietary and Confidential 12
  • 13.
    Policy – Plan,Measure, Monitor  Decide what you’re going to allow and create specific policy  Measure / monitor  Flag violations as errors (policy enforcement) Parasoft Proprietary and Confidential 13
  • 14.
    Questions  info@parasoft.com webinar@parasoft.com Parasoft Proprietary and Confidential

Editor's Notes

  • #6 Use well-defined componentsEasy to reuseEasy to testEasy to secure
  • #9 Check cyclical (circular) dependencyRun metrics analysisStatic analysis to find high dependencies
  • #10 Giant files (over xxx lines)Giant methods/functions (over xxx lines)Poor coverage can point to monolithic code
  • #11 What is “global” in a service oriented context?Use static analysis to pin-point and remove global variables
  • #12 Uncaught exceptions are more troublesome in a cloud infrastructureNull pointers can wreak havocWhat to do:Static for unhandled exceptions and nullsAuto-generation for nulls and unhandled runtime exceptions