App modernization projects are hard. Enterprises are looking to cloud-native platforms like Pivotal Cloud Foundry to run their applications, but they’re worried about the risks inherent to any replatforming effort.
Fortunately, several repeatable patterns of successful incremental migration have emerged.
In this webcast, Google Cloud’s Prithpal Bhogill and Pivotal’s Shaun Anderson will discuss best practices for app modernization and securely and seamlessly routing traffic between legacy stacks and Pivotal Cloud Foundry.
Report
Share
Report
Share
1 of 44
Download to read offline
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.”
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
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.
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.”
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