Are your Cloud
Applications Performing?
Modernizing and Moving your applications to the cloud, and how Application
Performance Management gives you the insights that you need as you go.
Ken Rider, John Dinger – Executive Solutions Architects
Randy George – Distinguished Engineer, Chief Architect APM
Thread of the Discussion Today
• What is application modernization, and why is application
performance monitoring (APM) so important in the process?
• What are the critical business reasons that companies modernize
their apps?
• What have we seen regarding how companies do it?
• What are the key aspects of how companies apply APM to make the
process successful?
Most businesses today spend 70-80% of their IT budgets to maintain their
legacy applications and systems.
Desired Outcomes
• Flexible – address new business needs in hours
• Available – process transactions continually
• Scalable – flex capacity out or in, as business
volumes fluctuate
• Portable: Uncouple Applications from
Infrastructure
• Manageable – As a fundamental
characteristic
• 10x improvement in the IT application change
processes – with significant cost recovery!
• 99% faster update or patch deployments
• 50% savings in infrastructure costs vs. on-
prem
Organizations must shift IT spending from
“keeping their Apps running” to investments
that grow the business and support
innovation!
Challenges
Application solutions that are well monitored,
much easier to maintain, and much more
responsive to business needs.
• This gives you the business advantage
Capstone’s delivers these via Modernization of
Traditional Applications
• Cloud delivers dynamic, flexible, secure, and
reliable infrastructure.
• Dockerized cloud applications are
dramatically more efficient, and more nimble
Ideal Solution
And These Apps Are Here to Stay
Application Modernization works with
the current application estate
• According to Gartner: “By 2023, 90% of current
business applications will still be in use” (Gartner
ITxpo Conference, Oct. 2017)
Why Do Businesses Modernize their Apps
Source: Continuous Delivery: A Maturity Assessment Model, ThoughtWorks
A 2017 EMA Survey of Companies embracing
DevOps reports:
• 42% of Companies are now deploying new code at
least daily to production. (Compared to 31% in
2015)
• More than half deploy new code more than once a
week.
• Companies who increased deployment frequency
by >=25% are predicted to be 4x more likely to
have increased YoY revenue by >= 25%
But
• Most Companies have automated less than half
of their DevOps pipeline (only 6% automate
>90%)
Today:
Source: DevOps / Continuous Delivery Tooling
Enterprise Management Associates report, 2017
How do Businesses Modernize their Apps?
• Which approach to take in modernizing an application depends on
many factors including;
• Specific business priorities driving the modernization activity
• Current technical debt of application
• Environmental dependencies of application
• Authorship of application
• Budget, Resources, and Time
• Business and IT culture
How do Businesses Modernize their Apps?
• First, start by asking some of the following questions.
• Do you know enough about your app to know what parts need modernizing?
• Does the application need a certain amount of rework due to technical debt?
• Is the organization having a hard time finding technical resources talented in
the technology stack that the application is built on?
• Is there sufficient budget for modernization? Or is the organization sacrificing
other initiatives just to get a few dollars to invest in modernization?
• Are there enough resources freed up to focus on a large modernization
initiative, or is it necessary to hire some outside consulting help?
How do Businesses Modernize their Apps?
Approaches:
• Lift-and-shift
• Docker’s Modernize Traditional Applications (MTA) program
• Incremental refactor to microservices
• Minimal refactor to 12-factor*
• Rewrite as a new 12-factor microservice app
* Or a 15 factor app – Beyond the Twelve-Factor App by Kevin Hoffman ; O’Reilly Media,
Existing
Application
Modern Methodologies
Integrate to CI/CD
and automation system
Convert to a
container
with Docker EE
Modern Infrastructure
Built on premise, in the cloud, or
as part of a hybrid environment.
Modern Microservices
Add new services or start
peeling off services from
monolith code base
App
How do Businesses Modernize their Apps?
• Graphic from Modernizing Traditional Applications with Docker EE
Establish Monitoring
Baseline for Business
and Technical KPIs:
Availability, End User
Experience, etc
Monitor the
infrastructure.
Understand the impact
to your services, e.g.
autoscaling, restarts, etc
Complexity and Scale
changes the way one
should monitor their
application.
Monitor the key
components of your
CD pipeline. It is a
critical component of
the application.
APM: A key part of the Modernization Process
• Different types of monitoring that are relevant for these scenarios:
• End User Experience
• Availability (Production SLAs): “three nines”, “five nines”
• Emulate consumers, e.g. global testing
• Responsiveness - Response time, experience score
• Impact of dependent services: 3rd party and cloud such as paypal or salesforce, local services such as LDAP…
• Resource consumption – how much infrastructure is your application consuming - $$$
• Changes to the application – blue/green deployment, elastic scale out(or in), services failing/restarting
(sometimes on another node), etc.
• Usage Analysis – enables data-driven decisions
• “Magic” Monitoring
• There is no magic… Despite what vendors may tell you, good monitoring requires instrumentation and some well thought out
collection and processing. As posited by Johannsen:, human intervention is required to produce “information” from data. *
* Johannsen, Wolfgang, 2016, Information und ihre Bedeutung in der Natur ; Springer-Verlag
ISBN 978-3-662-50254-9 ; ISBN 978-3-662-50255-6 (eBook)
Delivering the Modernized App to Production
• Select an orchestrator
• Impact on the application, e.g. scale in-out, restarts, restarts on new nodes
• Setup a CI/CD pipeline
• Monitor the key components of the pipeline
• Investigate deployment patterns for automated upgrades
• Leverage APM across Dev and Ops
• Communicate back to stakeholders
• Availability, user experience, usage, etc
Monitoring Approach Has to Change
Hierarchy How Many
Continents 3 to 5
Regions 2-4 per Continent
Zones 1-5 per Region
Services 100’s per Zone
Versions Many per Service
Containers 1000’s per Version
Instances 10,000s
Rate of change
Today - Deploy in months; Live for years
Containers- Deploy in secs; Live for mins/hours
Scale
Low Frequency Sampling * High Frequency Sampling *
* Lukasz Guminski, 2015, Monitoring Performance in Microservice Architectures.
Increased Complexity
• Moves from the monolithic application to the outside interactions
• Focus on the service interfaces (boundaries)
• Latency becomes an issue
• Many Moving Parts
• Monitor External Services in addition to the application
The larger the group of
components is, the
more stable the
collective group is.
Common tooling for the entire lifecycle
• Ensure Avail and Perf through Production
• Usage Feedback Loop
• Volume, by geo, by feature, recurring, api versions, etc
• Availability - Deploy Proactive Tests along with
application update (blue/green)
• Application-level responsiveness
• Bottleneck Analysis
• Application-level Resource Consumption
$$ - Fewer Problems Make it to Production
• Earlier Debugging
• w/detailed traces, logs, errors
• Availability Gate: Leverage Proactive Tests
• Tests are an artifact of the service
• Ensure Service responsiveness
• Incl Dependent Services
• Granular Resource Consumption (diff after push)
• Container-level Resource Consumption
13
Goal: Fewer problem
tickets, faster resolution
Goal: Deliver applications with
speed, quality and control Shift Right Shift Left
Experiences and Lessons Learned
• Client examples
• Pre-modernization at an insurance company
• Modernization at an agribusiness company
• Anti-pattern: No Modernization at a financial services company
• Keys for monitoring tools in a containerized / cloud environment
• Observed a change from baseline
• Benefits of putting monitoring into a container
• Increased expectations of all apps
15
Questions

Are your cloud applications performing? How Application Performance Management can give you the insights that you need as you move your applications to the cloud.

  • 1.
    Are your Cloud ApplicationsPerforming? Modernizing and Moving your applications to the cloud, and how Application Performance Management gives you the insights that you need as you go. Ken Rider, John Dinger – Executive Solutions Architects Randy George – Distinguished Engineer, Chief Architect APM
  • 2.
    Thread of theDiscussion Today • What is application modernization, and why is application performance monitoring (APM) so important in the process? • What are the critical business reasons that companies modernize their apps? • What have we seen regarding how companies do it? • What are the key aspects of how companies apply APM to make the process successful?
  • 3.
    Most businesses todayspend 70-80% of their IT budgets to maintain their legacy applications and systems. Desired Outcomes • Flexible – address new business needs in hours • Available – process transactions continually • Scalable – flex capacity out or in, as business volumes fluctuate • Portable: Uncouple Applications from Infrastructure • Manageable – As a fundamental characteristic • 10x improvement in the IT application change processes – with significant cost recovery! • 99% faster update or patch deployments • 50% savings in infrastructure costs vs. on- prem Organizations must shift IT spending from “keeping their Apps running” to investments that grow the business and support innovation! Challenges Application solutions that are well monitored, much easier to maintain, and much more responsive to business needs. • This gives you the business advantage Capstone’s delivers these via Modernization of Traditional Applications • Cloud delivers dynamic, flexible, secure, and reliable infrastructure. • Dockerized cloud applications are dramatically more efficient, and more nimble Ideal Solution And These Apps Are Here to Stay Application Modernization works with the current application estate • According to Gartner: “By 2023, 90% of current business applications will still be in use” (Gartner ITxpo Conference, Oct. 2017) Why Do Businesses Modernize their Apps
  • 4.
    Source: Continuous Delivery:A Maturity Assessment Model, ThoughtWorks A 2017 EMA Survey of Companies embracing DevOps reports: • 42% of Companies are now deploying new code at least daily to production. (Compared to 31% in 2015) • More than half deploy new code more than once a week. • Companies who increased deployment frequency by >=25% are predicted to be 4x more likely to have increased YoY revenue by >= 25% But • Most Companies have automated less than half of their DevOps pipeline (only 6% automate >90%) Today: Source: DevOps / Continuous Delivery Tooling Enterprise Management Associates report, 2017
  • 5.
    How do BusinessesModernize their Apps? • Which approach to take in modernizing an application depends on many factors including; • Specific business priorities driving the modernization activity • Current technical debt of application • Environmental dependencies of application • Authorship of application • Budget, Resources, and Time • Business and IT culture
  • 6.
    How do BusinessesModernize their Apps? • First, start by asking some of the following questions. • Do you know enough about your app to know what parts need modernizing? • Does the application need a certain amount of rework due to technical debt? • Is the organization having a hard time finding technical resources talented in the technology stack that the application is built on? • Is there sufficient budget for modernization? Or is the organization sacrificing other initiatives just to get a few dollars to invest in modernization? • Are there enough resources freed up to focus on a large modernization initiative, or is it necessary to hire some outside consulting help?
  • 7.
    How do BusinessesModernize their Apps? Approaches: • Lift-and-shift • Docker’s Modernize Traditional Applications (MTA) program • Incremental refactor to microservices • Minimal refactor to 12-factor* • Rewrite as a new 12-factor microservice app * Or a 15 factor app – Beyond the Twelve-Factor App by Kevin Hoffman ; O’Reilly Media,
  • 8.
    Existing Application Modern Methodologies Integrate toCI/CD and automation system Convert to a container with Docker EE Modern Infrastructure Built on premise, in the cloud, or as part of a hybrid environment. Modern Microservices Add new services or start peeling off services from monolith code base App How do Businesses Modernize their Apps? • Graphic from Modernizing Traditional Applications with Docker EE Establish Monitoring Baseline for Business and Technical KPIs: Availability, End User Experience, etc Monitor the infrastructure. Understand the impact to your services, e.g. autoscaling, restarts, etc Complexity and Scale changes the way one should monitor their application. Monitor the key components of your CD pipeline. It is a critical component of the application.
  • 9.
    APM: A keypart of the Modernization Process • Different types of monitoring that are relevant for these scenarios: • End User Experience • Availability (Production SLAs): “three nines”, “five nines” • Emulate consumers, e.g. global testing • Responsiveness - Response time, experience score • Impact of dependent services: 3rd party and cloud such as paypal or salesforce, local services such as LDAP… • Resource consumption – how much infrastructure is your application consuming - $$$ • Changes to the application – blue/green deployment, elastic scale out(or in), services failing/restarting (sometimes on another node), etc. • Usage Analysis – enables data-driven decisions • “Magic” Monitoring • There is no magic… Despite what vendors may tell you, good monitoring requires instrumentation and some well thought out collection and processing. As posited by Johannsen:, human intervention is required to produce “information” from data. * * Johannsen, Wolfgang, 2016, Information und ihre Bedeutung in der Natur ; Springer-Verlag ISBN 978-3-662-50254-9 ; ISBN 978-3-662-50255-6 (eBook)
  • 10.
    Delivering the ModernizedApp to Production • Select an orchestrator • Impact on the application, e.g. scale in-out, restarts, restarts on new nodes • Setup a CI/CD pipeline • Monitor the key components of the pipeline • Investigate deployment patterns for automated upgrades • Leverage APM across Dev and Ops • Communicate back to stakeholders • Availability, user experience, usage, etc
  • 11.
    Monitoring Approach Hasto Change Hierarchy How Many Continents 3 to 5 Regions 2-4 per Continent Zones 1-5 per Region Services 100’s per Zone Versions Many per Service Containers 1000’s per Version Instances 10,000s Rate of change Today - Deploy in months; Live for years Containers- Deploy in secs; Live for mins/hours Scale Low Frequency Sampling * High Frequency Sampling * * Lukasz Guminski, 2015, Monitoring Performance in Microservice Architectures.
  • 12.
    Increased Complexity • Movesfrom the monolithic application to the outside interactions • Focus on the service interfaces (boundaries) • Latency becomes an issue • Many Moving Parts • Monitor External Services in addition to the application The larger the group of components is, the more stable the collective group is.
  • 13.
    Common tooling forthe entire lifecycle • Ensure Avail and Perf through Production • Usage Feedback Loop • Volume, by geo, by feature, recurring, api versions, etc • Availability - Deploy Proactive Tests along with application update (blue/green) • Application-level responsiveness • Bottleneck Analysis • Application-level Resource Consumption $$ - Fewer Problems Make it to Production • Earlier Debugging • w/detailed traces, logs, errors • Availability Gate: Leverage Proactive Tests • Tests are an artifact of the service • Ensure Service responsiveness • Incl Dependent Services • Granular Resource Consumption (diff after push) • Container-level Resource Consumption 13 Goal: Fewer problem tickets, faster resolution Goal: Deliver applications with speed, quality and control Shift Right Shift Left
  • 14.
    Experiences and LessonsLearned • Client examples • Pre-modernization at an insurance company • Modernization at an agribusiness company • Anti-pattern: No Modernization at a financial services company • Keys for monitoring tools in a containerized / cloud environment • Observed a change from baseline • Benefits of putting monitoring into a container • Increased expectations of all apps
  • 15.