+ All Categories
Home > Software > API World 2016 presentation

API World 2016 presentation

Date post: 16-Apr-2017
Category:
Upload: ravi-ambati
View: 56 times
Download: 0 times
Share this document with a friend
13
Continuous Delivery in Microservices Environment Ravi Ambati Senior Engineering Manager, Workday
Transcript
Page 1: API World 2016 presentation

Continuous Delivery in Microservices

EnvironmentRavi Ambati

Senior Engineering Manager, Workday

Page 2: API World 2016 presentation

Agenda

1.Continuous delivery overview

2.Microservices overview

3.Artifact Types

4.Best practices with JAR artifact

5.Best Practices with Services

6.When should you start?

Page 3: API World 2016 presentation

Continuous Delivery

What is it?

Capability to deploy any commit into production

Advantages:

1. Time to market

2. Reduced risk

3. More automation

4. Team productivity

5. Customer value

6. Agile development/planning

Page 4: API World 2016 presentation

Continuous Delivery

Check InBuild and Unit test

Integration Test

System Tests

Visual/Perf tests

Stage in QA ( Exploratory testing)

Once approved, deploy to Production

Page 5: API World 2016 presentation

Code-only pipeline without any infrastructure automation

Code-only pipeline + On Demand infrastructure pipeline

Code + infrastructure automation Acquire VMs -> Configure -> Code pipeline -> Release

Image as a service

Docker containers

Continuous Delivery

Page 6: API World 2016 presentation

Microservices overview

1.Well, smaller and independent services, product-based ( !Nano)

2.Meaningful functionality

3.Own lifecycle (Build, Test and Run)

4.Provides abstraction

5.Helps scale organization

Page 7: API World 2016 presentation

1.Artifacts that run in your service like client libraries, JARsa. Utilities/helpers

b. Service client libraries

2.Servicesa. Independent run time services

b. Runs on a web/app container

Artifact Types

Page 8: API World 2016 presentation

Best practices - Client Libraries (JAR files)

Semantic versioning major.minor.patch

Backward compatibility

Publishes source jars to help in debugging

Publish release notes along with artifact/accessible location

Migration documentation for major version changes

At last, Communication about new release

Page 9: API World 2016 presentation

MS1 MS2 MS3

MS4 MS5 MS6

Your Product Runtime in an Environment

● Imagine this kind of product with microservices

● Work with each other● Brings up shared services

like service discovery, standardized logging/monitoring/alerting service

● Health API

Page 10: API World 2016 presentation

Best practices - Services

1.Versioning to allow all consumers some flexibilitya. Backward compatibility

b. If breaking change, use consumer based switches to serve both old/new

2.Edge/Interface testing with other service dependenciesa. Test Service contract against service sandbox in your pipeline

3.Automation across all layersa. Testing ( functional, performance, visual)

b. Configuration management

c. Application deployment

d. Log monitoring

Page 11: API World 2016 presentation

Best practices - Services - Contd

●Feature togglesa. By Feature

b. By Environment

c. By Customer

●Environment uniformitya. Number of servers, spec should be representative

b. No surprises in production

Page 12: API World 2016 presentation

When should you start CD?

As soon as you start

Requires extensive automation

Requires DevOps Engineers

Culture - Product managers to support


Recommended