More Related Content Similar to Tried and True Approach to Cloud Native Design - An Experienced Based Method (20) More from VMware Tanzu (20) Tried and True Approach to Cloud Native Design - An Experienced Based Method1. Copyright © 2017 HCL Technologies Limited | www.hcltech.com
Tried and True Approach to Cloud Native Design - An Experience-
based Method
Our Experience with Microservices
Rahul Kandhari, Principal Architect, HCL Technologies Ltd.
Email: rahulka@hcl.com
2. 2 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
Session Objective
Essence of following a microservice architecture for modern application
building does not need any reiteration. We all know of the advantages it
brings to the business, to the developers, and to the operators.
This session tries to bring forth the ways to meet the challenges by
walking you through our journey and experience with microservices.
3. 3 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
About HCL
HCL Technologies is a ‘next-generation’ technology firm that offers global
enterprises solutions built around Digital, IoT, Cloud, Automation,
Cybersecurity, Analytics, Infrastructure Management and Engineering
Services.
To know more about the company, please visit www.hcltech.com.
4. 4 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
Our Focus Group
• Our group builds cloud native applications in a specific domain
• We started our Cloud Native application development journey in 2015
• We have so far built 4 enterprise grade cloud-native applications
5. 5 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
Beginning of our journey
Best Practice Mandate
Incorporate agility and cloud-
oriented approach
Maximize automation
Ensure quality of software with
short release cycles
Create re-usable assets
Show early results to earn trust
The Opportunity
No legacy application, no technical
debt
No legacy team
Confidence to succeed eclipsed the
fear of failure
Capitalizing the PaaS capabilities
6. 6 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
XaaS Service
Management
System
Task
Management
System
Assignment
Management
System
Normalization
&
Reconciliation
Management
System
Service Level
Management
System
Approval
Management
System
Notification
Management
System
Our Portfolio
ServiceXchange
Digital Transaction
Platform
Resource Unit
Optimization and
Reconciliation
Monolithic
Architecture
Monolithic
Architecture
Monolithic
Architecture
Microservice
Architecture
7. 7 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
XaaS Service
Management
System
Task
Management
System
Assignment
Management
System
Normalization
&
Reconciliation
Management
System
Service Level
Management
System
Approval
Management
System
Notification
Management
System
Our Portfolio: Microservices based
Microservice
Architecture
• Each service is small and
focused having its own delivery
pipeline
• Loosely coupled services
• Java and NodeJS based
• REST API based communication
• Each service has a bounded
context
8. 8 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
Resource Unit
Optimization and
Reconciliation
ServiceXchange
Digital Transaction
Platform
Monolithic
Architecture
Monolithic
Architecture
Monolithic
Architecture
Our Portfolio: Monolithic
• Simple Applications
• Small codebases
• Components are simple
9. 9 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
Being Cloud Native with Microservices
• Cloud Native applications are often built on a microservices architecture
• However microservice architecture is an evolution of application design rather
than the initial step
• Application size and complexity define the need for having microservices
• Component doing too many things, heavily transacted, and can be loosely
coupled is what makes it a candidate to become a microservice
10. 10 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
Challenges
Looking to know the microservice architecture pattern - No one
measurement to determine correct size
Meeting cross-cutting concerns – Synch v/s Asynch inter
communication, Fault Tolerance, Data Management, Discoverability
Choice glut – Multiple technologies
Every developer has individual preference of technology
Developer Agility – Unlearn first to learn later
How do I maintain what I build today?
11. 11 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
Our Takeaways - 1
Culture
Culture promoting learning agility is a must
Fail fast to still have time to find another approach
Business function alignment of team is necessary
Team should own the service it is responsible for – Building as well as
maintaining
Developers should continue honouring the API contracts their service is
signed for while programming
12. 12 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
Our Takeaways - 2
Architecture
Do not have a microservice for the sake of having one. Too many
microservices will introduce latencies and/or data overlaps
Do not start with a microservice – always start with building a monolith and
be sensitive to the point when to break it. Inflection point could be too many
transactions, a component requiring a different treatment, or a component
requiring a different evolution path
Incision leading to a microservice should have clear cut boundaries - Clear
and bounded context is a must
13. 13 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
Our Takeaways - 3
Technology
Having a platform that manages the infrastructure and some of the cross-
cutting concerns is a necessity
Formulate testing strategy with a comprehensive approach covering
functional, integration, contract, and performance tests
Fault tolerance is essential for availability - understand that microservices
architecture introduces multiple points of failure in your application and you
still have to introduce components to absorb failures - circuit breakers,
client-side load balancers, configuration server, and service registry
14. 14 Copyright © 2017 HCL Technologies Limited | www.hcltech.com
Questions?
To know more about our applications, please visit HCL booth at the
exhibition center