tried and true approach to cloud native design - an experienced based method

15
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: [email protected]

Upload: pivotal

Post on 28-Jan-2018

72 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Tried and True Approach to Cloud Native Design - An Experienced Based Method

Copyright © 2017 HCL Technologies Limited | www.hcltech.com

Tried and True Approach to Cloud Native Design - An Experience-based MethodOur Experience with MicroservicesRahul Kandhari, Principal Architect, HCL Technologies Ltd.Email: [email protected]

Page 2: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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.

Page 3: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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.

Page 4: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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

Page 5: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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

Page 6: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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

Page 7: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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

Page 8: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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

Page 9: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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

Page 10: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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?

Page 11: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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

Page 12: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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

Page 13: Tried and True Approach to Cloud Native Design - An Experienced Based Method

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

Page 14: Tried and True Approach to Cloud Native Design - An Experienced Based Method

14 Copyright © 2017 HCL Technologies Limited | www.hcltech.com

Questions?

To know more about our applications, please visit HCL booth at the

exhibition center

Page 15: Tried and True Approach to Cloud Native Design - An Experienced Based Method

$7.8 BILLION ENTERPRISE | 120,000 IDEAPRENEURS | 39 COUNTRIES