Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Proprietary and confidential
Which App Modernization Pattern is
Right for You?
Shaun Anderson, App TX Practice Lead, Pivotal
Prithpal Bhogill, Product Management, Google Cloud
Reminder: “This webinar may include mention of some future features.
Please make any purchasing decisions based on currently GA features.
This information is Google confidential information, covered by the terms
of Apigee and Google Cloud Platform License Agreement.”
Speaking Today
Prithpal Bhogill
Product Management
Shaun Anderson
AppTX Practice Lead
Agenda
Why modernize?
Strangling the Monolith
Why API Management?
Apigee and Pivotal Cloud Foundry
Customer Benefits
Call to Action
What is Pivotal Cloud
Foundry?
Overview of Cloud Foundry
Pivotal Cloud Foundry is a platform for developing and
running cloud applications
Cloud Foundry Principles
Traditional App Lifecycle: Lengthy & Complex
Traditional Deployment:
8+ manual steps, developers out
of the workflow
Traditional App Lifecycle:
Each phase compounds time and
complexity, sacrificing agility
The Power of Cloud Native Platform
Why Modernize?
Why Monoliths Can Be Bad
- Slow velocity and release cycle
- Knowledge is compartmentalized
- The code base is just too large for any one person to
fully comprehend
- Centralized authority and change management slows
progress (DBA, Ops)
- Inefficient infrastructure utilization
- Reliance on expensive software
- Non-standard toolsets
Why Replatform / Modernize
● Lower CapEx and OpEx
○ Moving away from full-blown application servers that are expensive to license, operate, and administrate has
been a consistent market trend since 2004
● Increased scalability, provider portability
○ Vertical scalability is inherently limited. Cloud platforms can horizontally scale up or down in seconds,
dynamically—even auto scale
● Optimize hardware resource usage, cost
○ Containerizing and virtualizing applications increases deployment density on the hardware or IaaS, ensuring
maximum utilization of system resources, and deallocation or reallocation when idle
● Increased developer productivity without losing operations controls
○ When developers can self service, instantly provisioning an environment that uses platform-wide access
controls and audit trails, it’s a win for operations teams that can set consumption parameters
● Enabling DevOps with common management and monitoring tools
○ Modern clouds provide agentless health management that streams an integrated, near real-time view of key
application, services, and platform metrics. Developers and operators gain a shared understanding of the same
system health and availability data in cloud environments.
Replatform vs Modernize (definitions)
Replatforming involves upgrading an application from its existing platform and adhering to the
minimum possible Twelve factors to get it to run on the cloud, while preserving existing functionality.
Modernization is the process of organizing existing functionality into applications, microservices and
development teams around business capabilities and domains. A main goal of modernization is to
decompose an existing monolith into small, 12 Factor services.
Digital transformation is how good companies become great. They invest in
becoming software-driven to reduce time-to-value windows. They choose a
meaningful project, combine modern methodologies and technologies to build
high-quality smart applications that regularly deliver real-time insights, then
continually iterate to ensure exceptional customer experiences.
The Cloud Native Application Journey
Strangling the Monolith - Approach
● Event Storming
● Snap Analysis
● Boris (Spider) Diagram
● DDD
● Find Seams
● Iterate
Top-Down: Decomposition from a
business perspective
Bottom-Up: Decomposition driven by
current pain points of the monolith
● Reverse engineering
● Code tracing
● Source text parsing and
analytics
Domain Driven Design (DDD)
Wikipedia: DDD is an approach to software
development for complex needs by connecting
the implementation to an evolving model.
Domain: “A sphere of knowledge or activity.”
Event Storming
Event Storming
Event Storming
Snap Analysis
Designed to make it easy to understand an application’s complexity and suitability for replatforming to Cloud
Foundry
Enhanced Snap Analysis
Used to describe a modernized service -- usually this service consists of functionality from one or more
monoliths.
Spider Diagrams
Test Driven Development (TDD)
Test-Driven Development (TDD) is a technique for building software that guides
software development by writing tests. It was developed by Kent Beck in the late
1990's as part of Extreme Programming. In essence you follow three simple steps
repeatedly:
Write a test for the next bit of functionality you want to add.
Write the functional code until the test passes.
Refactor both new and old code to make it well structured.
Finding Seams
The Goal: Find areas of an existing monolith that can be
pulled apart and reorganized without impacting the
functionality of the existing system.
Control Patterns
● Event shunting / starving
● Decorator
● Bridge
● Router
● Proxy
● Facade
● Edge Gateway - Apigee
Iterate vs Big Bang rewrite
Iterate
● Succeed Fast / Fail Fast
● Allows for innovation
● Conforms to changing requirements
● Allows for dynamic and balanced teams
● Pairing enables Dev Team Mitosis
Why API Management?
APIs and Microservices are complementary
CATALOG
CUSTOMER
REVIEWS
FAVORITES
RECOMMEND
ORDERS
SHOPPING
CART
Microservices
eCommerce
System
Monolithic
eCommerce
System
APIAPI
APIs shield consumers from Microservices Complexity
Ordering API Customer APIBilling API
Consumers Shouldn’t
Care About What’s
Behind the API
Microservices will fail without API Management
API SPRAWL
Difficult to discover & reuse
CYBER THREATS
Limited built-in security
INSUFFICIENT VISIBILITY
Limited use & performance visibility
API Gateway
Developers
Developer Portal
Apigee API Platform
Analytics
Management
Management
Runtime
Services
App
API Team
Scalable
Services
Microgateway
Technology powering the Apigee API Platform
Available as
Apigee managed
+
Customer managed
A family of federated
gateways
Available native
integration capability
with respective cloud
Comprehensive API Management
OAuth2, OpenID,
SAML, TLS
OWASP Threat
Protection
RBAC, 3rd party
IDM Support
Bot
Detection
Mediation, Caching &
Traffic Management
node.js
run-time Engine
Data Persistence /
BaaS
Hybrid Deployment
/ Microgateway
Secure API
RuntimeApps Services
Business &
Developer Metrics
Fine-grained
Performance Analytics
End User Analytics
Custom Data Capture &
Reports
Trace & Diagnostics
Analytics
Customizable
Developer Portal
SmartDocs
Self-service
Developer On-boarding
API Products
API Monetization
Developer
Management
Partners /
Developers
API-driven
Platform Automation
Multi-tenancy &
Scaling with Traffic Isolation
Zero Downtime
Upgrades
Cross-region Automated
Routing & Failover
Global Policy Enforcement
Operations
Automation
Flow-based Proxy Editor
& Pre-built Policies
API Studio with
Open API / Swagger
Test & Monitoring
Extensibility with
node.js / Java
Version Management
API
Development
API
Team
Apigee provides the API layer for Microservices
CATALOG
CUSTOMER
REVIEWS
FAVORITES
RECOMMEND
ORDERS
SHOPPING
CART
Microservices
eCommerce
System
Apigee’s centralized
gateway provides
comprehensive API
management and an
API layer for your
microservices
CATALOG
Apigee’s microgateway
provides security,
throttling and analytics for
individual microservices
as well.
Which Application Modernization Pattern Is Right For You?
What we are doing together?
added support for Edge
Microgateway...
We’ve integrated our products… released BOSH Installers for
Apigee Edge
Integration Options - Flexibility & Choice
Route Services CF Meta Buildpack*
* Edge Microgateway Buildpack available today as OSS on https://github.com/swilliams11/edgemicro-decorator.
Apigee Edge MicrogatewayApigee Edge Enterprise
App App App
Apigee Edge Microgateway
Application Modernization
CATALO
G
CUSTO
MER
REVIEW
S
SHOPP
PING
CART
RECOM
MEND
Mobile & Web apps
Virtualized Apps
and Microservices
On-Premises, Legacy Apps
Monitor performance & usage
of both legacy and modern services
Mitigate migration risk with
automated routing of API requests
Routing
Security
Analytics
Secure your services from cyber
threats and traffic spikes
Benefits for Developers & Operators
Developers
• Apply pre-built traffic management
and security features to their app
• Apply pre-built pricing models to
monetize their app
• Automatically expose their app (as
services) to other developers
• Discover, test, and obtain access to
other services (as APIs)
Accelerate Application Modernization
Operators
• Apply a set of security and traffic
management features across projects
• Scale these features through PCF
• Obtain visibility into the usage and
performance of APIs
• Install and manage Apigee Edge
through BOSH
Ease Operational Concerns
Powering the “Digital Value Chain”
Consuming digital products and digital experiences
“Outside-in” – digital consumer view
User App Developer API API team Services
Reduce time to develop connected experiences
Enable consumption of APIs
Reduce time to build better software
Reduce operational complexity
Key Takeaways
Modernizing applications can have a huge ROI
It doesn’t have to be hard - start small
APIs and Microservices are complementary
Use API Management as you transition into Microservices
Enterprise customers are using this approach successfully
Appendix
Call to Action
Visit www.apigee.com and sign up for a trial account
Learn about Apigee’s integrations with Pivotal here
If you are new to Apigee
Learn more about Apigee’s Service Broker with Edge Microgateway here
Ask your PCF rep about Apigee’s free Microservices Starter Kit offer
Ask you PCF rep for an introduction to Apigee Sales
If you are PCF Developer or
Operator
Visit www.pivotal.io to learn how to develop and deploy software with
cloud native techniques
Ask your Apigee rep for an introduction to Pivotal Sales.
If you are new to Pivotal
REST APIs - Enable easy consumption
REST APIs
enable easy consumption
CONTAINERS
enable independent deployment
CLOUD
enable independent scaling
For the Full API Lifecycle
Design
Develop
Secure
PublishMonitor
Analyze
Monetize
Scale
CommonSecurityModel-OAuth
ThreatProtection
Caching
Monetiza
tion/Rate
Plans
External
API
Façade &
Proxy
Mediation/Aggregation
Developer Portal
Use API management as you transition to microservices
CATALO
G
CUSTOM
ER
REVIEW
S
SHOPPPI
NG
CART
RECOM
MEND
Mobile & Web apps
Microservices
Apigee authenticates, applies security policies
and routes request to microservices. Also
orchestrates to your legacy services/monolith
apps
On-Premises or Private Cloud
Monolith Apps

More Related Content

Which Application Modernization Pattern Is Right For You?

  • 1. Proprietary and confidential Which App Modernization Pattern is Right for You? Shaun Anderson, App TX Practice Lead, Pivotal Prithpal Bhogill, Product Management, Google Cloud
  • 2. Reminder: “This webinar may include mention of some future features. Please make any purchasing decisions based on currently GA features. This information is Google confidential information, covered by the terms of Apigee and Google Cloud Platform License Agreement.”
  • 3. Speaking Today Prithpal Bhogill Product Management Shaun Anderson AppTX Practice Lead
  • 4. Agenda Why modernize? Strangling the Monolith Why API Management? Apigee and Pivotal Cloud Foundry Customer Benefits Call to Action
  • 5. What is Pivotal Cloud Foundry?
  • 6. Overview of Cloud Foundry Pivotal Cloud Foundry is a platform for developing and running cloud applications
  • 8. Traditional App Lifecycle: Lengthy & Complex Traditional Deployment: 8+ manual steps, developers out of the workflow Traditional App Lifecycle: Each phase compounds time and complexity, sacrificing agility
  • 9. The Power of Cloud Native Platform
  • 11. Why Monoliths Can Be Bad - Slow velocity and release cycle - Knowledge is compartmentalized - The code base is just too large for any one person to fully comprehend - Centralized authority and change management slows progress (DBA, Ops) - Inefficient infrastructure utilization - Reliance on expensive software - Non-standard toolsets
  • 12. Why Replatform / Modernize ● Lower CapEx and OpEx ○ Moving away from full-blown application servers that are expensive to license, operate, and administrate has been a consistent market trend since 2004 ● Increased scalability, provider portability ○ Vertical scalability is inherently limited. Cloud platforms can horizontally scale up or down in seconds, dynamically—even auto scale ● Optimize hardware resource usage, cost ○ Containerizing and virtualizing applications increases deployment density on the hardware or IaaS, ensuring maximum utilization of system resources, and deallocation or reallocation when idle ● Increased developer productivity without losing operations controls ○ When developers can self service, instantly provisioning an environment that uses platform-wide access controls and audit trails, it’s a win for operations teams that can set consumption parameters ● Enabling DevOps with common management and monitoring tools ○ Modern clouds provide agentless health management that streams an integrated, near real-time view of key application, services, and platform metrics. Developers and operators gain a shared understanding of the same system health and availability data in cloud environments.
  • 13. Replatform vs Modernize (definitions) Replatforming involves upgrading an application from its existing platform and adhering to the minimum possible Twelve factors to get it to run on the cloud, while preserving existing functionality. Modernization is the process of organizing existing functionality into applications, microservices and development teams around business capabilities and domains. A main goal of modernization is to decompose an existing monolith into small, 12 Factor services. Digital transformation is how good companies become great. They invest in becoming software-driven to reduce time-to-value windows. They choose a meaningful project, combine modern methodologies and technologies to build high-quality smart applications that regularly deliver real-time insights, then continually iterate to ensure exceptional customer experiences.
  • 14. The Cloud Native Application Journey
  • 15. Strangling the Monolith - Approach ● Event Storming ● Snap Analysis ● Boris (Spider) Diagram ● DDD ● Find Seams ● Iterate Top-Down: Decomposition from a business perspective Bottom-Up: Decomposition driven by current pain points of the monolith ● Reverse engineering ● Code tracing ● Source text parsing and analytics
  • 16. Domain Driven Design (DDD) Wikipedia: DDD is an approach to software development for complex needs by connecting the implementation to an evolving model. Domain: “A sphere of knowledge or activity.”
  • 20. Snap Analysis Designed to make it easy to understand an application’s complexity and suitability for replatforming to Cloud Foundry
  • 21. Enhanced Snap Analysis Used to describe a modernized service -- usually this service consists of functionality from one or more monoliths.
  • 23. Test Driven Development (TDD) Test-Driven Development (TDD) is a technique for building software that guides software development by writing tests. It was developed by Kent Beck in the late 1990's as part of Extreme Programming. In essence you follow three simple steps repeatedly: Write a test for the next bit of functionality you want to add. Write the functional code until the test passes. Refactor both new and old code to make it well structured.
  • 24. Finding Seams The Goal: Find areas of an existing monolith that can be pulled apart and reorganized without impacting the functionality of the existing system. Control Patterns ● Event shunting / starving ● Decorator ● Bridge ● Router ● Proxy ● Facade ● Edge Gateway - Apigee
  • 25. Iterate vs Big Bang rewrite Iterate ● Succeed Fast / Fail Fast ● Allows for innovation ● Conforms to changing requirements ● Allows for dynamic and balanced teams ● Pairing enables Dev Team Mitosis
  • 27. APIs and Microservices are complementary CATALOG CUSTOMER REVIEWS FAVORITES RECOMMEND ORDERS SHOPPING CART Microservices eCommerce System Monolithic eCommerce System APIAPI
  • 28. APIs shield consumers from Microservices Complexity Ordering API Customer APIBilling API Consumers Shouldn’t Care About What’s Behind the API
  • 29. Microservices will fail without API Management API SPRAWL Difficult to discover & reuse CYBER THREATS Limited built-in security INSUFFICIENT VISIBILITY Limited use & performance visibility
  • 30. API Gateway Developers Developer Portal Apigee API Platform Analytics Management Management Runtime Services App API Team Scalable Services Microgateway Technology powering the Apigee API Platform Available as Apigee managed + Customer managed A family of federated gateways Available native integration capability with respective cloud
  • 31. Comprehensive API Management OAuth2, OpenID, SAML, TLS OWASP Threat Protection RBAC, 3rd party IDM Support Bot Detection Mediation, Caching & Traffic Management node.js run-time Engine Data Persistence / BaaS Hybrid Deployment / Microgateway Secure API RuntimeApps Services Business & Developer Metrics Fine-grained Performance Analytics End User Analytics Custom Data Capture & Reports Trace & Diagnostics Analytics Customizable Developer Portal SmartDocs Self-service Developer On-boarding API Products API Monetization Developer Management Partners / Developers API-driven Platform Automation Multi-tenancy & Scaling with Traffic Isolation Zero Downtime Upgrades Cross-region Automated Routing & Failover Global Policy Enforcement Operations Automation Flow-based Proxy Editor & Pre-built Policies API Studio with Open API / Swagger Test & Monitoring Extensibility with node.js / Java Version Management API Development API Team
  • 32. Apigee provides the API layer for Microservices CATALOG CUSTOMER REVIEWS FAVORITES RECOMMEND ORDERS SHOPPING CART Microservices eCommerce System Apigee’s centralized gateway provides comprehensive API management and an API layer for your microservices CATALOG Apigee’s microgateway provides security, throttling and analytics for individual microservices as well.
  • 34. What we are doing together? added support for Edge Microgateway... We’ve integrated our products… released BOSH Installers for Apigee Edge
  • 35. Integration Options - Flexibility & Choice Route Services CF Meta Buildpack* * Edge Microgateway Buildpack available today as OSS on https://github.com/swilliams11/edgemicro-decorator. Apigee Edge MicrogatewayApigee Edge Enterprise App App App Apigee Edge Microgateway
  • 36. Application Modernization CATALO G CUSTO MER REVIEW S SHOPP PING CART RECOM MEND Mobile & Web apps Virtualized Apps and Microservices On-Premises, Legacy Apps Monitor performance & usage of both legacy and modern services Mitigate migration risk with automated routing of API requests Routing Security Analytics Secure your services from cyber threats and traffic spikes
  • 37. Benefits for Developers & Operators Developers • Apply pre-built traffic management and security features to their app • Apply pre-built pricing models to monetize their app • Automatically expose their app (as services) to other developers • Discover, test, and obtain access to other services (as APIs) Accelerate Application Modernization Operators • Apply a set of security and traffic management features across projects • Scale these features through PCF • Obtain visibility into the usage and performance of APIs • Install and manage Apigee Edge through BOSH Ease Operational Concerns
  • 38. Powering the “Digital Value Chain” Consuming digital products and digital experiences “Outside-in” – digital consumer view User App Developer API API team Services Reduce time to develop connected experiences Enable consumption of APIs Reduce time to build better software Reduce operational complexity
  • 39. Key Takeaways Modernizing applications can have a huge ROI It doesn’t have to be hard - start small APIs and Microservices are complementary Use API Management as you transition into Microservices Enterprise customers are using this approach successfully
  • 41. Call to Action Visit www.apigee.com and sign up for a trial account Learn about Apigee’s integrations with Pivotal here If you are new to Apigee Learn more about Apigee’s Service Broker with Edge Microgateway here Ask your PCF rep about Apigee’s free Microservices Starter Kit offer Ask you PCF rep for an introduction to Apigee Sales If you are PCF Developer or Operator Visit www.pivotal.io to learn how to develop and deploy software with cloud native techniques Ask your Apigee rep for an introduction to Pivotal Sales. If you are new to Pivotal
  • 42. REST APIs - Enable easy consumption REST APIs enable easy consumption CONTAINERS enable independent deployment CLOUD enable independent scaling
  • 43. For the Full API Lifecycle Design Develop Secure PublishMonitor Analyze Monetize Scale
  • 44. CommonSecurityModel-OAuth ThreatProtection Caching Monetiza tion/Rate Plans External API Façade & Proxy Mediation/Aggregation Developer Portal Use API management as you transition to microservices CATALO G CUSTOM ER REVIEW S SHOPPPI NG CART RECOM MEND Mobile & Web apps Microservices Apigee authenticates, applies security policies and routes request to microservices. Also orchestrates to your legacy services/monolith apps On-Premises or Private Cloud Monolith Apps