11 march 2016 microservices consulting · pdf file4 stratos wso2 donated to apache aws, open...
TRANSCRIPT
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
© 2016 Cognizant
11 March 2016
MicroServices ConsultingJoe / Maha / Saroj @ Global Technology Office
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Contents
• Microservices - Sound Bytes
• Traditional SOA Vs Microservices Architecture
• Microservices Feasibility Analysis Framework
• Target End state & Platform Options
• Assets and Solution Frameworks
• Experience Summary
• Engagement Model
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Micro Services – Sound Bytes
Monolithic Microservices PaaS
CaaS Dockers Kubernetes
An Architecture style where
all the services of
application built as single
unit/process and they are
tightly coupled with each
other
An architectural style for
developing loosely
coupled independent
services, each running in
its own process and
communicating with
lightweight mechanisms
A category of cloud
computing model that
provides a platform and
environment to allow
developers to build
applications and services
without concerned about
the infrastructure
It is a form of container-
based virtualization in
which container engines,
orchestration and the
underlying compute
resources are delivered to
users as a service from a
cloud provider
Open-source project for
containers runs in bare
metal that are independent
of hardware and language
Open source project cluster
manager for managing and
running Docker containers
across multiple hosts,
offering co-location of
containers, service discovery
and replication control
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Traditional SOA vs Microservices Architecture
• Reuse
• Represents a business capability within an application
• Data entities accessed across services
• Coarse granularity reduces extensive cross-service calls
• Can aggregate loosely related functions and act on multiple
data entities.
• Agility and Flexibility
• Implements an independent feature within an application
• Single ownership and access of data entities
• Potential impact on latency on account of high level of
granularity
• Independently deployable, self-contained, scalable and
autonomous with few interdependencies
Parameters
Goal
Scope
Data Ownership
Response Time
Service Granularity
SOA
MSA
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Where do we Start !!! - Microservices Feasibility Analysis
Portfolio Analysis
• Problem Definition
• Service Discovery
• Target Architecture Definition
• Pre-requisites Identification
• Roadmap Definition
Feasibility Analysis Toolkit
Tool-kit
Business Scenarios / IT Drivers
App 1
App 2
App 3
Inputs
Qualitative Inputs
Application
characteristics
Cloud Strategy
Quantitative Inputs
Application
complexity
Devops Maturity
Deliverables
• Business case for microservice
• Target platform options
• Application Target state disposition
Continuous Releases
Rapid Innovation
Independent Lifecycle
New capability build
Performance / Scalability /
Flexibility issues
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Right Application End state Selection
Green field
developed as
microservice
Drivers
Migration Strategy
Client Benefits
Application End state Options
Lift & shift
as
monolithic
Rewritten as
Microservice
Scalability issues
High Flexibility &
Optimal Cost
Address growth
challenges
Greater alignment
between business
capabilities and
systems
Cost reduction
No Code Change
Involved
Move the AS IS code
as VM to
Any chosen
IAAS
On- Premise
Respond quickly to
new market conditions
Detect failure fast, fail
gracefully , recover
fast & Improved fault
isolation
Flexibility issues
Respond quickly to
new market conditions
Detect failure fast, fail
gracefully , recover
fast & Improved fault
isolation
Differentiation
New capability
exploration
Re-Write for
scalability Lift & Shift
Re-Write for Agility
Evolve -Microservices
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Right Platform Selection
Public
Vs
Private
Open source
Vs
Commerical
IaaS / PaaS /
CaaS
VM
Vs
Containers
Provider
Selection
Platform Options
• Language Environment
heterogeneity
• Utilization Patterns
• Code stability
• Appetite for Open source
• Openness for Vendor lock-in
• Data / Security Compliance requirements
• Growth expectations
• IT Organization – Business alignment
• DevOps Maturity
• Development methodology
Application Profile Business Expectations Cultural Setup
Key Considerations
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Assets and Solutions Frameworks
Cloud Set
App Insight
Active API Logic Lens
Resilience Validation
Activity Intelligence
Predictive Auto-Scale
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Experience Summary
Capabilities explored
Dynamic service discovery
Dynamic routing & Load balancing
Site monitoring
Site Resiliency for Service Failures
Automated build & Deployment
Dynamic configuration with zero downtime
Private PaaS Setup - Netflix OSS
Re-architected Monolithic to Microservices
Interactive Exposure Map application – J2EE based
Developed claim, policy & Metadata Microservices
Developed transformation best practices
Conceptualized Micro-service discovery accelerator
Monolith to Microservices - Pivotal Cloud Foundry
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Our Engagement Model
To Know More, Contact
[email protected] any leads and engagement opportunities
Customer Visits
and Demos
Enablement
Consulting
Delivery
Interested
Attend a workshop about Microservices
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Appendix
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Summary Offering Coverage
Implementation
Reverse Engineer the existing application
to pull the business rules for Microservices
( Existing Applications – Monolith to
Microservices conversion)
Top- down analysis from the
identified business process and
capabilities
Bottom-up analysis to identify
potential services that are both
useful and feasible , given any
existing constraints
Service realization
Tool based Continuous Integration and
Deployment
Service Deployment and activation
Service Governance
Architecture Definition
Establish specification for services ,
interaction and messages
Develop services models and prepare
Solution Architecture Definition Report
Establish Service Governance model
for life-cycle (development and
support)
Define scope for every micro service
with well defined interfaces with DB
break up
Selection of API gateway, Inter service
Communication, Container for deploy,
Deployment strategy, , Network
Strategy with PAAS provider or PAAS
Frame work etc
Consulting/
Application Assessment
• Understand Business Capabilities that
need to be build
• Discuss options for Private PAAS
solution ,Public PAAS or Hybrid PAAS
(e.g. Pivotal Cloud Foundry, Netflix)
and reference architecture inline with
Customer vision
• Derive Microservice architecture
blueprint
• Service Discovery (Tool aided):
Perform service oriented analysis to
identify services based on Key Factors
like Frequency of change, Criticality to
business, Specialized skills , Usage /
hits
• Microservice Implementation roadmap
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Micro-services Discovery Framework
+
Usecase – Entity Cross Reference (derived from Logic-
Lens)Table – Entity cross-reference (Transposed)
Dynamic Correlation Matrix (Use Cases accessing same set of entities)
Micro-services groups• Group-1 – Usecase 1,3,10
• Group-2 – Usecase 2,6,9
• Group-3 – Usecase 4,7
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Case Study 1 – Digital Initiative through Micro services -POCClient Situation Cognizant Solution
Client Profile & Background
Engagement Objective
• Analyze and assess all enterprise Level
Architecture styles in given scope to identify
independent application processing, language-
agnostic, modular approach, continuous
delivery, easy to replace and potential
microservices
• Document the result and categorize the
applications based on there ease of portability
score.
Assessment Deliverable
Timeline
Solution Offering
All functional and non-functional artifacts for
micro-services
Well architected and designed components which
supports
Load-Balancing
Fault-tolerance
Proxy-Servers
Service Orchestration
Container Deployment Artifacts scripts
Container scheduling and managing
Artifacts scripts
Resource dependencies management
scripts
Centralized logging setup
Centralized configuration setup
Centralized monitoring Dashboards
configuration
Offering Micro-service architecture to avoid challenges in
monolithic Architecture those including Operational
overhead, deployments, performance, alerting systems,
centralized logging.
The advantages of a Micro-services are summarized
below
o Faster and simpler deployments and rollbacks
o Independent Speed of Delivery (by different
teams)
o Right framework/tool/language for each domain
o Greater Resiliency
o High Availability
o Easy to Scale
o Real time dashboards using streaming
• The Customer is Leading Bank in UAE (Middle
East)
• Bank expanded services through web and
DIGITAL channels such as mobile, tabs, IVR,
ATM, VTMs ,Smart Watch Banking with no
branch support
Business Drivers
Be first in service ,Multi channel
support, Multi Vendor integration B2B
Capability, Channel based Reports
with zero Downtime
2 Months - POC
Technology Landscape/Tools
Technology
Micro-Services
SpringBoot
Dockers
Kubernate
NetFlix OSS
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Case Study 2 – Cloud Portability Assessment of apps for a US Insurance Provider
Client Situation Cognizant Solution
Client Profile & Background
Engagement Objective
Analyze & assess the Java based enterprise
web applications in scope to identify the
ease of portability to a Cloud architecture.
Document the result and categorize the
applications based on there ease of
portability score.
Document the requisite code changes in the
applications.
Technology Landscape/Tools
Technology
Java
Tools
IBM CAST
Cognizant Proprietary
tool – Cloud
Portability Indicator
Java : 112K LOC
Java Applications : 3 Java Web Applications
GA Contract, MMCS, Terminal Equity
Size
Assessment Deliverable
Timeline
Solution Offering
Cloud Affinity score for Java applications
Total number of non-compliant code instances
was identified, documented and categorized
based on below rules category.
• SOAP
• RMI
• Thread
• Sql
• Input/ Output @ IO
• ClassLoader
• LDAP
• HTTP Session
Analyze the customer’s application in scope to assess
the ease in porting them to as a cloud architecture by
identifying the non compliant code, effort required to fix
the code using Cognizant proprietary tool.
The advantages of a cloud based application has be
summarized below
o Innovate Faster
o Focus Resources
o Save Money
o Get the Best Technology
o Stay Up to Date
o Maximize Uptime
o Scale Easily
o Strengthen Security
o Do Your Project Right
o Get the Best Support
Timeline – 2 weeks
• The Customer is among the top Insurance
Provider in US
• It offers a wide range of products and has
operations in more than 65 countries with
manufacturing operations and companies with
laboratories
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
PaaS Comparison
S. No Name Vendor InfrastructureSupported web
Frameworks
Supported DB
Platform
1 Open Shift Red Hat Open Stack JavaScript, Ruby, Python,
PHP, Perl, Java, Haskell,
and .NET
MySQL, Mongo DB,
PostgreSQL, MS SQL
2 Pivotal Cloud
Foundry
Pivotal Open Stack,
Amazon Web Service,
Java ,NodeJS,Scala,Ruby,
Python,GO,PHP
MYSQL,MongoDB,
Rabbit MQ etc.
3 Netflix OSS Netflix Amazon Web Service Java MySQL, Mongo DB,
PostgreSQL, MS SQL etc
4 Stratos WSO2 donated to
Apache
AWS, Open Stack, and
vCloud
PHP,Node JS,Ruby ,Java MY SQL
5 Heroku Salesforce Amazon Web Service Ruby,Java, Node.js, Scala,
Clojure, Python, PHP and
Go
Cloudant, Couch base
Server, Mongo DB ,Redis
,PostgreSQL
6 Blue Mix IBM SoftLayer Java, Node.js, Go, PHP,
Python, Ruby Sinatra,
Ruby on Rails Scala[
DB2, MySQL, Mongo DB,
PostgreSQL, MS SQL
© 2016 Cognizant *Confidential - This document is for internal reference only. If you have any customer requirements please reach out to [email protected]
Global Technology Office