This document discusses modernizing enterprise application architecture with microservices and API management. It describes how a traditional monolithic architecture can be challenging to scale and change. A microservices architecture addresses these challenges by developing applications as suites of independently deployable services. The document outlines principles of microservices and how technologies like containers, Kubernetes, OpenShift, and API management can help implement microservices. It provides examples of how JBoss products like EAP, Fuse, and others can be used to build microservices.
2. MODERNIZING YOUR ENTERPRISE APPLICATION
ARCHITECTURE WITH MICROSERVICES AND API
MANAGEMENT
Eryan Ariobowo
Solutions Architect, Indonesia, Red Hat
3.
4. Red Hat Forum APAC 20164
TRADITIONAL ENTERPRISE APPLICATION
ARCHITECTURE: MONOLITHIC
Business Logic
CDI REST TX
Database
JPA
UI
HTML
DB
Load
Balancer
EAR
WAR
WAR
WAR
WAR
WAR
JAR
5. Red Hat Forum APAC 20165
MONOLITHIC ARCHITECTURE
BENEFITS
• Easily understood
• Simple to develop
• Simplified debugging and testing
• Easy deployment
6. Red Hat Forum APAC 20166
• One failed module kills all
• Difficult to scale
• Change is not easy
• Difficult to understand
• Single technology stack (pro and con)
• Agility impacted – unable to roll out
code fast
MONOLITHIC ARCHITECTURE
CHALLENGES
7. Red Hat Forum APAC 20167
SOLUTION: MICROSERVICE
ARCHITECTURE
“... is an approach to developing a single application as a
suite of small services, each running in its own
process and communicating with lightweight
mechanisms, often an HTTP resource API. These
services are built around business capabilities and
independently deployable by fully automated
deployment machinery. There is a bare minimum of
centralized management of these services, which
may be written in different programming
languages and use different data storage
technologies.”
Martin Fowler
http://martinfowler.com/articles/microservices.html
8. Red Hat Forum APAC 20168
MICROSERVICE PRINCIPLES
• Developed independently
• Does one thing well
• Deployment Independence
• API Focused
• Decentralized Data Management
• Easy to scale
• Polyglot
9. Red Hat Forum APAC 20169
TRANSITIONING TO A MICROSERVICES
ARCHITECTURE
Don't even consider microservices unless you have a system that's too complex to manage as
a monolith - Martin Fowler
10. Red Hat Forum APAC 201610
MICROSERVICES + LINUX CONTAINERS
CONTAINER
Micro
Service
• Rapidly build, deploy, and run the services
• Technology agnostic
• Process Isolation out of the box
• Driving the entire industry towards
standards like the Open Container Initiative
(OCI)
11. Red Hat Forum APAC 201611
KUBERNETES FOR ORCHESTRATION
RHEL ATOMIC HOST RHEL ATOMIC HOST RHEL ATOMIC HOST
Micro
Service
Micro
Service
Micro
Service
Micro
Service
Micro
Service
Micro
Service
Micro
Service
Micro
Service
Micro
Service
KUBERNETES
• Scale (manual or auto)
• Self healing
• Load balancing
• Self Discovery built-in
12. Red Hat Forum APAC 201612
JBOSS MICROSERVICES ON
OPENSHIFT
● JBoss Enterprise
Application Platform
● JBoss Web Server /
Tomcat
● JBoss Fuse
● JBoss A-MQ
● JBoss Data Virtualization*
● JBoss Business Process
Management Suite
● JBoss Business Rules
Management System
Application
Container Services
Integration
Services
Business
Process Services
* Coming Soon
13. Red Hat Forum APAC 201613
CLUSTERING ENTERPRISE JAVA
MICROSERVICES WITH JBOSS EAP
14. Red Hat Forum APAC 201614
JBOSS FUSE INTEGRATION SERVICES: YOUR
MICROSERVICES SOLUTION FOR INTEGRATION
15. Red Hat Forum APAC 201615
JBOSS BUSINESS RULES DECISION SERVER: YOUR
MICROSERVICES SOLUTION FOR BUSINESS RULES
16. Red Hat Forum APAC 201616
JBOSS PROCESS SERVER: YOUR MICROSERVICES
SOLUTION FOR BUSINESS PROCESSES
Process
Service
Instance 1
Process
Service
Instance 2
Process
Service
Instance 3
17. Red Hat Forum APAC 201617
MICROSERVICES IN ACTION
• Communicate using APIs
• Microservice groups
• Internal and External APIs
• API aggregation layer
Challenges
• Access control and security
• Rate limits
• Reports, Analytics
• API Documentation
18. Red Hat Forum APAC 201618
MICROSERVICES + API MANAGEMENT
RHELATOMICHOSTRHELATOMICHOSTRHELATOMICHOST
Micro
Servi
ce
Micro
Servi
ce
Micro
Servi
ce
Micro
Servi
ce
Micro
Servi
ce
Micro
Servi
ce
Micro
Servi
ce
Micro
Servi
ce
Micro
Servi
ce
KUBERNETES
API Management Platform
API
Consumers
19. Red Hat Forum APAC 201619
ACCESS CONTROL AND SECURITY
• Standard API keys
• Application ID and key pair
• OAuth v1.0 and 2.0
20. Red Hat Forum APAC 201620
API CONTRACTS AND RATE LIMITS
• Different microservice consumer
segments
• Flexible per-time-period limits
21. Red Hat Forum APAC 201621
ANALYTICS AND REPORTING
• Traffic patterns
• Top microservice consumers
• Alerts, reporting
22. Red Hat Forum APAC 201622
DEVELOPER PORTAL & DOCUMENTATION
Automatic and interactive
Interface documentation
• Interactive API documentation
• Swagger-based
• Self-service developer portal
23. Red Hat Forum APAC 201623
MONETIZATION OF MICROSERVICES
• Build business model
• Flexible pricing rules
• Automatic invoicing
25. Red Hat Forum APAC 201625
RED HAT CONSULTING
Establish collaborative IT innovation by adopting container platforms to increase operational efficiency, reliability, and
scalability. Red Hat Consulting helps you:
RED HAT CONSULTING: MODERNIZE APPLICATION DELIVERY FOR CONTAINER PLATFORMS
DISCOVERY SESSION WORKSHOPS IMPLEMENTATION
Establish a unified culture and
strategy
Construct environments and
CD pipelines
Design microservices and
containerized applications
Establish and adapt security,
compliance, scaling and
monitoring standards
Improve operational efficiency,
scalability and flexibility