SlideShare a Scribd company logo
1 of 55
| © Copyright 2015 Hitachi Consulting1
Microservices & DevOps
Software Architectures for Continuous Delivery
Khalid M. Salama, Ph.D.
Business Insights & Analytics
Hitachi Consulting UK
We Make it Happen. Better.
| © Copyright 2015 Hitachi Consulting2
Outline
 What is Continuous Delivery?
 Operational Objectives of a Software Architecture
 Service-Oriented Software Systems
 Microservices – Characteristics, Patterns, and Guidelines
 Application Life-cycle Management (ALM): Then vs. Now.
 DevOps Concepts & Activities
 The 12-Factor App
 Resources & Useful links
| © Copyright 2015 Hitachi Consulting3
Continuous Delivery
| © Copyright 2015 Hitachi Consulting4
What is Continuous Delivery?
Continuous Delivery is the ability to get software changes - including new features,
enhancements, configuration changes, and bug fixes - into production (for end users)
safely and quickly, in a sustainable way
Overview
| © Copyright 2015 Hitachi Consulting5
What is Continuous Delivery?
Continuous Delivery is the ability to get software changes - including new features,
enhancements, configuration changes, and bug fixes - into production (for end users)
safely and quickly, in a sustainable way
Overview
Faster Time to Market,
with lower cost and
risks, and higher
quality
| © Copyright 2015 Hitachi Consulting6
What is Continuous Delivery?
Continuous Delivery is the ability to get software changes - including new features,
enhancements, configuration changes, and bug fixes - into production (for end users)
safely and quickly, in a sustainable way
 Think about any software systems that have
millions of users using it 24/7, need new features
and enhancements all the time,
and can’t tolerate any downtime..
 E.g., facebook, gmail, digital retailers,
online banking, cloud services providers,
SaaS providers, etc.
Overview
Faster Time to Market,
with lower cost and
risks, and higher
quality
| © Copyright 2015 Hitachi Consulting7
What is Continuous Delivery?
How to achieve it?
Continuous
Delivery
| © Copyright 2015 Hitachi Consulting8
What is Continuous Delivery?
How to achieve it?
Continuous
Delivery
Modern Software Architecture
(& Technologies)
 Set of independent components (services)
 Organized around business capabilities
 Each is replaceable, extensible, versioned, and
deployable independently
 Containerization, scalability, and fault-tolerance of
individual services
| © Copyright 2015 Hitachi Consulting9
What is Continuous Delivery?
How to achieve it?
Continuous
Delivery
Modern Software Architecture
(& Technologies)
 Set of independent components (services)
 Organized around business capabilities
 Each is replaceable, extensible, versioned, and
deployable independently
 Containerization, scalability, and fault-tolerance of
individual services
Modern Application Lifecyle Management
(Process & Tools)
 Team Collaboration & Agile planning
 Source Control & Build Automation
 Automated testing and integration
 Automated deployment to different environments
 Release and configuration management
 Seamless integration between Dev and Ops activities
| © Copyright 2015 Hitachi Consulting10
What is Continuous Delivery?
How to achieve it?
Continuous
Delivery
Modern Software Architecture
(& Technologies)
 Set of independent components (services)
 Organized around business capabilities
 Each is replaceable, extensible, versioned, and
deployable independently
 Containerization, scalability, and fault-tolerance of
individual services
Modern Application Lifecyle Management
(Process & Tools)
 Team Collaboration & Agile planning
 Source Control & Build Automation
 Automated testing and integration
 Automated deployment to different environments
 Release and configuration management
 Seamless integration between Dev and Ops activities
Microservices DevOps
| © Copyright 2015 Hitachi Consulting11
Service-Oriented Software
Architecture
| © Copyright 2015 Hitachi Consulting12
Service-Oriented Architecture
The relational behind any software architecture is to meet the operational objectives
(non-functional requirements) of such a system…
Why we architect systems that way?
| © Copyright 2015 Hitachi Consulting13
Service-Oriented Architecture
The relational behind any software architecture is to meet the operational objectives
(non-functional requirements) of such a system…
Why we architect systems that way?
• Maintains performance with
increased data/workloadsScalability
• Operational 99.95% of the
time (reliable)
Availability
(Reliability)
• Maintains its data in an
(eventual) consistent state
Consistency
• Refers resilience and
recoverability
Fault-Tolerance
(Resilience)
• Ability to communicate,
exchange and process data
Interoperability
• Monitor, Configure, debug,
etc. (serviceability)
Supportability
• Can run on different
platforms
Portability
• Secure Identity, data at rest,
and communication
Security &
Protection
| © Copyright 2015 Hitachi Consulting14
Service-Oriented Architecture
The relational behind any software architecture is to meet the operational objectives
(non-functional requirements) of such a system…
Why we architect systems that way?
• Maintains performance with
increased data/workloadsScalability
• Operational 99.95% of the
time (reliable)
Availability
(Reliability)
• Maintains its data in an
(eventual) consistent state
Consistency
• Refers resilience and
recoverability
Fault-Tolerance
(Resilience)
• Ability to communicate,
exchange and process data
Interoperability
• Monitor, Configure, debug,
etc. (serviceability)
Supportability
• Can run on different
platforms
Portability
• Secure Identity, data at rest,
and communication
Security &
Protection
• Extensibility, Replicability,
Reusability, Composability
Agility
(non-behavioural)
| © Copyright 2015 Hitachi Consulting15
Service-Oriented Architecture
What is a Microservice?
Autonomous
a self-contained unit of
functionality with loosely
coupled dependencies on
other services.
| © Copyright 2015 Hitachi Consulting16
Service-Oriented Architecture
What is a Microservice?
AutonomousIsolated
Owned
Protects itself
from unwanted
access/usage
Owns
all of the state
(data) it depends
on
Organized
around
Business
Capabilities
Contained
In a separate
process, with
communication
endpoints
Replaceable &
Versioned
Elastic
a self-contained unit of
functionality with loosely
coupled dependencies on
other services.
a independent unit of
deployment, can be
modified, without
impacting other Services
Can be scaled
independently of
other services
owned by one team
from development
through deployment
| © Copyright 2015 Hitachi Consulting17
Service-Oriented Architecture
What is a Service?
AutonomousIsolated
Owned
Protects itself
from unwanted
access/usage
Owns
all of the state
(data) it depends
on
Organized
around
Business
Capabilities
Contained
In a separate
process, with
communication
endpoints
Replaceable &
Versioned
Elastic
a self-contained unit of
functionality with loosely
coupled dependencies on
other services.
a independent unit of
deployment, can be
modified, without
impacting other Services
Can be scaled
independently of
other services
Configurable
Programable
Open
(tech. agnostic
APIs
owned by one team
from development
through deployment
Automated
| © Copyright 2015 Hitachi Consulting18
Microservices Architecture
Overview - evolution
Stand-
alone
Client
Server
Browser
Web
Server
Db Server
Any Device
From Monolithic to Microservice
microservices
| © Copyright 2015 Hitachi Consulting19
Microservices Architecture
Overview – e-commerce example
Any Device UI
E-commerce Web App
API Gateway
Login/User Profile
Service
Product Catalog
Service
Shopping Cart
Service
Order Processing
Service
Recommendation
Service
Reporting
Service
.Net
Key/value
Java
Search
Index
.Net
Document
Ruby
RDBMS
Python
Graph
Scala
Column-
family
Cache Service
| © Copyright 2015 Hitachi Consulting20
Microservices Architecture
Patterns and Guidelines - Layers
Microservice
HTTP/REST APIs
Domain Model
Business Logic (rules, validation, calc.)
Repository (data access services)
Data store
Integration (queues)
SDK (public/private)
 Expose REST APIs for interoperability
 Contains its BL, Model, queues, and repository services
 Can be written in any language – Polyglot Programming
 Owns its data store, which can be any technology
(SQL/NoSQL) – Polyglot Persistence
 Provides SDK (for programmability)
 Runs on its own execution boundary
Layers = Code
organization
| © Copyright 2015 Hitachi Consulting21
Microservices Architecture
Patterns and Guidelines – Data Store
Microservice 1 Microservice 2
Data
 Data is passed across services, rather than
giving a refence to service data store
 No assumption about shared data store
 Enables schema evolution
 Enables choosing different data store
technologies that fit the processing nature
of each microservice function
| © Copyright 2015 Hitachi Consulting22
Microservices Architecture
Patterns and Guidelines – Integration
Service 1 Service 2
Service 3
Send command
/event
consume
Send command
/event
Consume
Queue 1
Queue 2
Enterprise Service Bus
Service 1 Service 2 Service 3
Orchestration Choreography
| © Copyright 2015 Hitachi Consulting23
Microservices Architecture
Patterns and Guidelines – Scalability
System
WebApp
Service Instance 1
WebApp
Service Instance 2
UI
 Multiple instance of the Web App are
spun to handle increase of requests
| © Copyright 2015 Hitachi Consulting24
Microservices Architecture
Patterns and Guidelines – Scalability
System
WebApp
Service Instance 1
WebApp
Service Instance 2
UI
Load Balancer
Request/Command
 Multiple instance of the Web App are
spun to handle increase of requests
 A load balancer handles the
incoming requests
| © Copyright 2015 Hitachi Consulting25
Microservices Architecture
Patterns and Guidelines – Scalability
System
WebApp
Service Instance 1
WebApp
Service Instance 2
UI
Load Balancer
Service 1 instance1
Service 1 instance2
Service 1 instance 3
Service 2 instance1
Service 3 instance1
Request/Command
Service 2 instance 2
 Multiple instance of the Web App are
spun to handle increase of requests
 A load balancer handles the
incoming requests
 1 or more instance are run for each
microservices, based on its
scalability needs
| © Copyright 2015 Hitachi Consulting26
Microservices Architecture
Patterns and Guidelines – Scalability
System
WebApp
Service Instance 1
WebApp
Service Instance 2
UI
Load Balancer
Service 1 instance1
Service
Registry
Service 1 instance2
Service 1 instance 3
Service 2 instance1
Service 3 instance1
Request/Command
Service 2 instance 2
 Multiple instance of the Web App are
spun to handle increase of requests
 A load balancer handles the
incoming requests
 1 or more instance are run for each
microservices, based on its
scalability needs
 Instance are registered in a service
registry, which is used to fetch the IP
of a particular service instance to use
| © Copyright 2015 Hitachi Consulting27
Microservices Architecture
Patterns and Guidelines – Scalability
System
WebApp
Service Instance 1
WebApp
Service Instance 2
UI
Load Balancer
Service 1 instance1
Service
Registry
Service 1 instance2
Service 1 instance 3
Service 2 instance1
Service 3 instance1
Request/Command
Service 2 instance 2
 Multiple instance of the Web App are
spun to handle increase of requests
 A load balancer handles the
incoming requests
 1 or more instance are run for each
microservices, based on its
scalability needs
 Instance are registered in a service
registry, which is used to fetch the IP
of a particular service instance to use
 Multiple instance of the database are
run and configured as cluster
 Data is sharded and distributed
amongst databased, with a
replication factor
 Service communicate with its
database as a one unit (regardless
of the sharding)
| © Copyright 2015 Hitachi Consulting28
Microservices Architecture
Pattern and Guidelines – Infrastructure
Rack 1
Core 1 Core 2
Core 5 Core 6
Core 3 Core 4
Core 7 Core 8
Rack 2
Core 1 Core 2
Core 5 Core 6
Core 3 Core 4
Core 7 Core 8
 Hardware infrastructure (on-prem or cloud IaaS),
which represent your compute resources
| © Copyright 2015 Hitachi Consulting29
Microservices Architecture
Pattern and Guidelines – Infrastructure
Rack 1
Cluster
VM1 VM2 VM3 VM4
Core 1 Core 2
Core 5 Core 6
Core 3 Core 4
Core 7 Core 8
Rack 2
Core 1 Core 2
Core 5 Core 6
Core 3 Core 4
Core 7 Core 8
 Hardware infrastructure (on-prem or cloud IaaS),
which represent your compute resources
 A set of VMs, connected though a network to
perform a cluster
| © Copyright 2015 Hitachi Consulting30
Microservices Architecture
Pattern and Guidelines – Infrastructure
Rack 1
Cluster
VM1 VM2 VM3 VM4
Service
(Container)
1
Service
(Container)
2
Service
(Container)
3
Service
(Container)
4
Service
(Container)
5
Service
(Container)
6
Service
(Container)
7
Core 1 Core 2
Core 5 Core 6
Core 3 Core 4
Core 7 Core 8
Rack 2
Service
(Container)
8
Core 1 Core 2
Core 5 Core 6
Core 3 Core 4
Core 7 Core 8
 Hardware infrastructure (on-prem or cloud IaaS),
which represent your compute resources
 A set of VMs, connected though a network to
perform a cluster
 (Containerized) services, each can have multiple
instance (each is a new container)
| © Copyright 2015 Hitachi Consulting31
Microservices Architecture
Pattern and Guidelines – Infrastructure
Rack 1
Cluster
VM1 VM2 VM3 VM4
Cluster Manager
Service
(Container)
1
Service
(Container)
2
Service
(Container)
3
Service
(Container)
4
Service
(Container)
5
Service
(Container)
6
Service
(Container)
7
Core 1 Core 2
Core 5 Core 6
Core 3 Core 4
Core 7 Core 8
Rack 2
Service
(Container)
8
Core 1 Core 2
Core 5 Core 6
Core 3 Core 4
Core 7 Core 8
 Hardware infrastructure (on-prem or cloud IaaS),
which represent your compute resources
 A set of VMs, connected though a network to
perform a cluster
 (Containerized) services, each can have multiple
instance (each is a new container)
 The cluster manager performs the following:
 Distributes service/containers within a
cluster
 Restarts services/containers in the case of
failure
 Redistributes services/containers based on
resource consumption
| © Copyright 2015 Hitachi Consulting32
Microservices Architecture
Containerization
What is a Container?
• Let you slice up the OS to run multiple services on a single OS
• Allows for a version set of dependencies (libraries, file system, runtimes, etc.) to run side by side
with another set of dependencies in an isolated runtime environment on the same machine
Why Containers?
 Encapsulate the application environment
 Improved application deployment and introspection
 Manage applications instead of machines
 Relieve developers and operations from being concerned with the
specific details of the machine and OS
 Allows infrastructure team flexibility in rolling out new hardware, OS,
or system SKUs without impacting applications
Microservices and containers?
 Microservices is an architectural design point; containers
are an implementation detail that often helps.
 Typically you run one application/service per container
| © Copyright 2015 Hitachi Consulting33
Multiplicityof
Goods
Multiplicityof
methodsfor
transporting/storing
DoIworryabout
howgoodsinteract
(e.g.coffeebeans
nexttospices)
CanItransportquickly
andsmoothly
(e.g.fromboattotrain
totruck)
…in between, can be loaded and
unloaded, stacked, transported
efficiently over long distances,
and transferred from one mode
of transport to another
A standard container that is
loaded with virtually any
goods, and stays sealed until
it reaches final delivery.
Microservices Architecture
Containerization
| © Copyright 2015 Hitachi Consulting34
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Dev VM QA Server
Single Prod
Server
Onsite
Cluster
Azure
Contributor
laptop
Customer
Servers
Microservices Architecture
Containerization
| © Copyright 2015 Hitachi Consulting35
App
A
Hypervisor (Type 2)
Host OS
Server
Guest
OS
Bins/
Libs
App
A’
Guest
OS
Bins/
Libs
App
B
Guest
OS
Bins/
Libs
AppA’
Host OS
Server
Bins/Libs
AppA
Bins/Libs
AppB
AppB’
AppB’
AppB’
VM
Container
Containers are isolated,
but share OS kernel and, where
appropriate, bins/libraries
Guest
OS
Guest
OS
…result is significantly faster deployment, much
less overhead, easier migration, faster restart,
better use/share of resources
Docker Deamon
Microservices Architecture
VMs vs Containers
| © Copyright 2015 Hitachi Consulting36
Microservices Architecture
Technology Options for Microservices Deployment
Azure Service Fabric
Azure
Container
Services
Azure Web Hosting Plans
Web
Apps
API
Apps
Logic
Apps
Web
Jobs
Docker Containers .NET Java
Docker
Swarm
Azure
On-prem/ IaaS
(Windows/
Linux)
Azure
On-prem/ IaaS
(Linux)
Azure
| © Copyright 2015 Hitachi Consulting37
Application Development
Lifecycle and Continuous Delivery
| © Copyright 2015 Hitachi Consulting38
Application Development Lifecycle
Then and now…
Methodology
Process
Patterns
Platform
| © Copyright 2015 Hitachi Consulting39
Application Development Lifecycle
Then and now…
Methodology
Process
Patterns
Platform
Waterfall
Gated
Monolithic
Windows
| © Copyright 2015 Hitachi Consulting40
Application Development Lifecycle
Then and now…
Methodology
Process
Patterns
Platform
Waterfall Agile
Scrum
N-Tier Layered
Windows / Linux
Gated
Monolithic
Windows
| © Copyright 2015 Hitachi Consulting41
Application Development Lifecycle
Then and now…
Methodology
Process
Patterns
Platform
Waterfall Agile Lean Engineering
Continuous Delivery
Microservice Architecture
Cloud
Scrum
N-Tier Layered
Windows / Linux
Gated
Monolithic
Windows
| © Copyright 2015 Hitachi Consulting42
DevOps
“The union of people, process, and
products to enable continuous delivery
of value to our end users.”
- Microsoft
| © Copyright 2015 Hitachi Consulting43
DevOps
The big picture...
| © Copyright 2015 Hitachi Consulting44
Plan
1 Monitor + Learn
ReleaseDevelop + Test
2
Development Production
4
3
DevOps
The Application Lifecyle
Automation of Build, Test, and Deploy
| © Copyright 2015 Hitachi Consulting45
It starts with an idea – and a plan
how to turn this idea into reality …
Manage work
(Epics, Features, User Stories)
Develop + Test 1
Project starts
Plan
(People & Sprints)
Track progress
(Tasks & Burndown)
DevOps
Plan
| © Copyright 2015 Hitachi Consulting46
Write Code
Unit Testing
2
Build
Version Control
Integration Test
Release
Once the iteration starts, developers
turn great ideas into features …
DevOps
Dev+Test
| © Copyright 2015 Hitachi Consulting47
Value
cspkg
DevOps
Continous Integration (CI)
| © Copyright 2015 Hitachi Consulting48
Load
Testing
Integration testing
environment
Automated functional
testing environment
3
Pre-production
environment
Staging
environment
Monitor + Learn
When all tests pass, the build is deployed to
testing environments for each stage in the
release process
DevOps
Release
| © Copyright 2015 Hitachi Consulting49
Value
DevOps
Continous Deployment (CD)
Infrastructure as Code
| © Copyright 2015 Hitachi Consulting50
Learn and understand how users use your app, how it reacts and
quickly fix issues and bugs
Monitor + Learn
4
Monitor
Feedback
Plan the next
iteration
DevOps
Monitor
App Logs, Telemetry, Fault Injection,
Customer Feedback etc.
| © Copyright 2015 Hitachi Consulting51
DevOps
with Microsoft
| © Copyright 2015 Hitachi Consulting52
DevOps
Tools and Technologies
https://newrelic.com/devops/toolset
https://xebialabs.com/periodic-table-of-devops-tools/
| © Copyright 2015 Hitachi Consulting53
The 12-Factore App
| © Copyright 2015 Hitachi Consulting54
The 12-Factore App
Guidelines
A Microservices has a single root repository,
does not share code with another apps
(isolation & ownership)
Codebase
All dependencies (libs & runtimes) are explicitly
declared, shipped and deployed with the
microservice
Dependencies
No hard-coded configurations; read from config
store or environment variablesConfig
Treat backing service (database, queue, other
service) as attached resource via configResources
Strictly separate build, release, & run steps
Build, Run,
Release
A Microservice executes as 1+ stateless
process & shares nothing (containerization)
Processes
Export services via port bindingPort Binding
Scale out via having multiple running instance
of the same microserviceConcurrency
A microservice instance can crash/be killed
quickly (and gracefully) & start fast
Disposability
Keep dev, test, stage, and prod environments
similar (containerization)
Dev/Prod
Parity
Log to stdout (dev=console; prod=file &
archived)Logs
Infrastructure and admin tasks as code (scripts)Admin
| © Copyright 2015 Hitachi Consulting55
Useful Resources
 Pattern: Microservice Architecture - http://microservices.io/patterns/microservices.html
 Microservices: a definition of this new architectural https://www.martinfowler.com/articles/microservices.html
 The 12-Factor App - https://12factor.net/
 What is Docker ? - https://www.docker.com/what-docker
 DevOps with Microsoft Azure -
https://www.microsoft.com/en-gb/cloud-platform/development-operations
 MVA courses on DevOps - https://mva.microsoft.com/training-topics/devops#!lang=1033
 Why a microservices approach to building applications? -
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview-microservices

More Related Content

What's hot

Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...SlideTeam
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOpsRed Gate Software
 
Cloud Native Application
Cloud Native ApplicationCloud Native Application
Cloud Native ApplicationVMUG IT
 
Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)José Roberto Araújo
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Simplilearn
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops DevopsKris Buytaert
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewJames Falkner
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureNguyen Tung
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
DevOps without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps ToolsJagatveer Singh
 
Microservices
MicroservicesMicroservices
MicroservicesSmartBear
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017Docker, Inc.
 

What's hot (20)

DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOps
 
Cloud Native Application
Cloud Native ApplicationCloud Native Application
Cloud Native Application
 
Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
DevSecOps: What Why and How : Blackhat 2019
DevSecOps: What Why and How : Blackhat 2019DevSecOps: What Why and How : Blackhat 2019
DevSecOps: What Why and How : Blackhat 2019
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
DevOps and Tools
DevOps and ToolsDevOps and Tools
DevOps and Tools
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
DevOps without DevOps Tools
DevOps without DevOps ToolsDevOps without DevOps Tools
DevOps without DevOps Tools
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 
Microservices
MicroservicesMicroservices
Microservices
 
Introduction to Docker - 2017
Introduction to Docker - 2017Introduction to Docker - 2017
Introduction to Docker - 2017
 
DevOps seminar ppt
DevOps seminar ppt DevOps seminar ppt
DevOps seminar ppt
 

Viewers also liked

Building the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake AnalyticsBuilding the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake AnalyticsKhalid Salama
 
Living with microservices at Pipedrive
Living with microservices at PipedriveLiving with microservices at Pipedrive
Living with microservices at PipedriveRenno Reinurm
 
Made for Each Other: Microservices + PaaS
Made for Each Other: Microservices + PaaSMade for Each Other: Microservices + PaaS
Made for Each Other: Microservices + PaaSVMware Tanzu
 
DevOps, microservices and stress-free incidents. How toy have your cake and ...
DevOps, microservices and stress-free incidents.  How toy have your cake and ...DevOps, microservices and stress-free incidents.  How toy have your cake and ...
DevOps, microservices and stress-free incidents. How toy have your cake and ...Peter Holditch
 
Machine learning with Spark
Machine learning with SparkMachine learning with Spark
Machine learning with SparkKhalid Salama
 
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...Daniel Bryant
 
The Microservices and DevOps Journey
The Microservices and DevOps JourneyThe Microservices and DevOps Journey
The Microservices and DevOps JourneyC4Media
 
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three BuzzwordsMicroservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three BuzzwordsEberhard Wolff
 
Intorducing Big Data and Microsoft Azure
Intorducing Big Data and Microsoft AzureIntorducing Big Data and Microsoft Azure
Intorducing Big Data and Microsoft AzureKhalid Salama
 
Antifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A StudyAntifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A StudyWilliam Yang
 
Continuos Delivery in a Microservices environment
Continuos Delivery in a Microservices environment Continuos Delivery in a Microservices environment
Continuos Delivery in a Microservices environment Luca Mazzaferro
 
8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...
8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...
8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...LDBC council
 
Data Mining - The Big Picture!
Data Mining - The Big Picture!Data Mining - The Big Picture!
Data Mining - The Big Picture!Khalid Salama
 
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics EngineLDBC council
 
Microservices, DevOps and IoT- Bob Familiar
Microservices, DevOps and IoT- Bob FamiliarMicroservices, DevOps and IoT- Bob Familiar
Microservices, DevOps and IoT- Bob FamiliarWithTheBest
 
Microservice no fluff, the REAL stuff
Microservice no fluff, the REAL stuffMicroservice no fluff, the REAL stuff
Microservice no fluff, the REAL stuffnklmish
 
2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysosloJon Arild Tørresdal
 
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!VMware Tanzu
 

Viewers also liked (20)

Building the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake AnalyticsBuilding the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake Analytics
 
Graph Analytics
Graph AnalyticsGraph Analytics
Graph Analytics
 
Living with microservices at Pipedrive
Living with microservices at PipedriveLiving with microservices at Pipedrive
Living with microservices at Pipedrive
 
Made for Each Other: Microservices + PaaS
Made for Each Other: Microservices + PaaSMade for Each Other: Microservices + PaaS
Made for Each Other: Microservices + PaaS
 
DevOps, microservices and stress-free incidents. How toy have your cake and ...
DevOps, microservices and stress-free incidents.  How toy have your cake and ...DevOps, microservices and stress-free incidents.  How toy have your cake and ...
DevOps, microservices and stress-free incidents. How toy have your cake and ...
 
Machine learning with Spark
Machine learning with SparkMachine learning with Spark
Machine learning with Spark
 
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
DevoxxUK 2016: "DevOps: Microservices, containers, platforms, tooling... Oh y...
 
The Microservices and DevOps Journey
The Microservices and DevOps JourneyThe Microservices and DevOps Journey
The Microservices and DevOps Journey
 
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three BuzzwordsMicroservices, DevOps, Continuous Delivery – More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery – More Than Three Buzzwords
 
Intorducing Big Data and Microsoft Azure
Intorducing Big Data and Microsoft AzureIntorducing Big Data and Microsoft Azure
Intorducing Big Data and Microsoft Azure
 
Antifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A StudyAntifragile, Microservices and DevOps - A Study
Antifragile, Microservices and DevOps - A Study
 
Big Data in Azure
Big Data in AzureBig Data in Azure
Big Data in Azure
 
Continuos Delivery in a Microservices environment
Continuos Delivery in a Microservices environment Continuos Delivery in a Microservices environment
Continuos Delivery in a Microservices environment
 
8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...
8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...
8th TUC Meeting - Juan Sequeda (Capsenta). Integrating Data using Graphs and ...
 
Data Mining - The Big Picture!
Data Mining - The Big Picture!Data Mining - The Big Picture!
Data Mining - The Big Picture!
 
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
 
Microservices, DevOps and IoT- Bob Familiar
Microservices, DevOps and IoT- Bob FamiliarMicroservices, DevOps and IoT- Bob Familiar
Microservices, DevOps and IoT- Bob Familiar
 
Microservice no fluff, the REAL stuff
Microservice no fluff, the REAL stuffMicroservice no fluff, the REAL stuff
Microservice no fluff, the REAL stuff
 
2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo
 
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
 

Similar to Microservices, DevOps, and Continuous Delivery

OOW-CON3656-EA
OOW-CON3656-EAOOW-CON3656-EA
OOW-CON3656-EABen Duan
 
Microservices oracle-meetup
Microservices oracle-meetupMicroservices oracle-meetup
Microservices oracle-meetupNitu Parimi
 
VMware Tanzu Application Service as an Integration Platform
VMware Tanzu Application Service as an Integration PlatformVMware Tanzu Application Service as an Integration Platform
VMware Tanzu Application Service as an Integration PlatformVMware Tanzu
 
ITIL Dolphin Sunum
ITIL Dolphin SunumITIL Dolphin Sunum
ITIL Dolphin Sunumalperdogu
 
Virtual meetup - Exploring the Runtime Fabric deployment model
Virtual meetup - Exploring the Runtime Fabric deployment modelVirtual meetup - Exploring the Runtime Fabric deployment model
Virtual meetup - Exploring the Runtime Fabric deployment modelJimmy Attia
 
MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019Julian Douch
 
DevOps on Oracle Cloud
DevOps on Oracle CloudDevOps on Oracle Cloud
DevOps on Oracle CloudMee Nam Lee
 
Infrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale OrganizationsInfrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale OrganizationsXebiaLabs
 
ITIL , DevOps and IT4IT
ITIL , DevOps and IT4ITITIL , DevOps and IT4IT
ITIL , DevOps and IT4ITSwati Kumari
 
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOABeneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOASoftware Guru
 
A DevOps adoption playbook- achieving business value at scale
A DevOps adoption playbook- achieving business value at scaleA DevOps adoption playbook- achieving business value at scale
A DevOps adoption playbook- achieving business value at scaleSanjeev Sharma
 
Achieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the EnterpriseAchieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the EnterpriseCollabNet
 
Clover Infotech Corporate PPT
Clover Infotech Corporate PPTClover Infotech Corporate PPT
Clover Infotech Corporate PPTSwetha Elias
 
Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?Akana
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineDevOps.com
 
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...CA Technologies
 
Accelerating Cognitive Business with Hybrid Cloud
Accelerating Cognitive Business with Hybrid CloudAccelerating Cognitive Business with Hybrid Cloud
Accelerating Cognitive Business with Hybrid CloudDenny Muktar
 
Kovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair
 

Similar to Microservices, DevOps, and Continuous Delivery (20)

OOW-CON3656-EA
OOW-CON3656-EAOOW-CON3656-EA
OOW-CON3656-EA
 
Microservices oracle-meetup
Microservices oracle-meetupMicroservices oracle-meetup
Microservices oracle-meetup
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
 
VMware Tanzu Application Service as an Integration Platform
VMware Tanzu Application Service as an Integration PlatformVMware Tanzu Application Service as an Integration Platform
VMware Tanzu Application Service as an Integration Platform
 
Microservices
MicroservicesMicroservices
Microservices
 
ITIL Dolphin Sunum
ITIL Dolphin SunumITIL Dolphin Sunum
ITIL Dolphin Sunum
 
Virtual meetup - Exploring the Runtime Fabric deployment model
Virtual meetup - Exploring the Runtime Fabric deployment modelVirtual meetup - Exploring the Runtime Fabric deployment model
Virtual meetup - Exploring the Runtime Fabric deployment model
 
MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019
 
DevOps on Oracle Cloud
DevOps on Oracle CloudDevOps on Oracle Cloud
DevOps on Oracle Cloud
 
Infrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale OrganizationsInfrastructure as Code in Large Scale Organizations
Infrastructure as Code in Large Scale Organizations
 
ITIL , DevOps and IT4IT
ITIL , DevOps and IT4ITITIL , DevOps and IT4IT
ITIL , DevOps and IT4IT
 
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOABeneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
 
A DevOps adoption playbook- achieving business value at scale
A DevOps adoption playbook- achieving business value at scaleA DevOps adoption playbook- achieving business value at scale
A DevOps adoption playbook- achieving business value at scale
 
Achieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the EnterpriseAchieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the Enterprise
 
Clover Infotech Corporate PPT
Clover Infotech Corporate PPTClover Infotech Corporate PPT
Clover Infotech Corporate PPT
 
Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD Pipeline
 
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
 
Accelerating Cognitive Business with Hybrid Cloud
Accelerating Cognitive Business with Hybrid CloudAccelerating Cognitive Business with Hybrid Cloud
Accelerating Cognitive Business with Hybrid Cloud
 
Kovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor Tools
 

More from Khalid Salama

Microsoft R - ScaleR Overview
Microsoft R - ScaleR OverviewMicrosoft R - ScaleR Overview
Microsoft R - ScaleR OverviewKhalid Salama
 
Operational Machine Learning: Using Microsoft Technologies for Applied Data S...
Operational Machine Learning: Using Microsoft Technologies for Applied Data S...Operational Machine Learning: Using Microsoft Technologies for Applied Data S...
Operational Machine Learning: Using Microsoft Technologies for Applied Data S...Khalid Salama
 
Spark with HDInsight
Spark with HDInsightSpark with HDInsight
Spark with HDInsightKhalid Salama
 
Enterprise Cloud Data Platforms - with Microsoft Azure
Enterprise Cloud Data Platforms - with Microsoft AzureEnterprise Cloud Data Platforms - with Microsoft Azure
Enterprise Cloud Data Platforms - with Microsoft AzureKhalid Salama
 
Microsoft Azure Batch
Microsoft Azure BatchMicrosoft Azure Batch
Microsoft Azure BatchKhalid Salama
 
NoSQL with Microsoft Azure
NoSQL with Microsoft AzureNoSQL with Microsoft Azure
NoSQL with Microsoft AzureKhalid Salama
 
Real-Time Event & Stream Processing on MS Azure
Real-Time Event & Stream Processing on MS AzureReal-Time Event & Stream Processing on MS Azure
Real-Time Event & Stream Processing on MS AzureKhalid Salama
 

More from Khalid Salama (8)

Microsoft R - ScaleR Overview
Microsoft R - ScaleR OverviewMicrosoft R - ScaleR Overview
Microsoft R - ScaleR Overview
 
Operational Machine Learning: Using Microsoft Technologies for Applied Data S...
Operational Machine Learning: Using Microsoft Technologies for Applied Data S...Operational Machine Learning: Using Microsoft Technologies for Applied Data S...
Operational Machine Learning: Using Microsoft Technologies for Applied Data S...
 
Spark with HDInsight
Spark with HDInsightSpark with HDInsight
Spark with HDInsight
 
Enterprise Cloud Data Platforms - with Microsoft Azure
Enterprise Cloud Data Platforms - with Microsoft AzureEnterprise Cloud Data Platforms - with Microsoft Azure
Enterprise Cloud Data Platforms - with Microsoft Azure
 
Microsoft Azure Batch
Microsoft Azure BatchMicrosoft Azure Batch
Microsoft Azure Batch
 
NoSQL with Microsoft Azure
NoSQL with Microsoft AzureNoSQL with Microsoft Azure
NoSQL with Microsoft Azure
 
Hive with HDInsight
Hive with HDInsightHive with HDInsight
Hive with HDInsight
 
Real-Time Event & Stream Processing on MS Azure
Real-Time Event & Stream Processing on MS AzureReal-Time Event & Stream Processing on MS Azure
Real-Time Event & Stream Processing on MS Azure
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 

Microservices, DevOps, and Continuous Delivery

  • 1. | © Copyright 2015 Hitachi Consulting1 Microservices & DevOps Software Architectures for Continuous Delivery Khalid M. Salama, Ph.D. Business Insights & Analytics Hitachi Consulting UK We Make it Happen. Better.
  • 2. | © Copyright 2015 Hitachi Consulting2 Outline  What is Continuous Delivery?  Operational Objectives of a Software Architecture  Service-Oriented Software Systems  Microservices – Characteristics, Patterns, and Guidelines  Application Life-cycle Management (ALM): Then vs. Now.  DevOps Concepts & Activities  The 12-Factor App  Resources & Useful links
  • 3. | © Copyright 2015 Hitachi Consulting3 Continuous Delivery
  • 4. | © Copyright 2015 Hitachi Consulting4 What is Continuous Delivery? Continuous Delivery is the ability to get software changes - including new features, enhancements, configuration changes, and bug fixes - into production (for end users) safely and quickly, in a sustainable way Overview
  • 5. | © Copyright 2015 Hitachi Consulting5 What is Continuous Delivery? Continuous Delivery is the ability to get software changes - including new features, enhancements, configuration changes, and bug fixes - into production (for end users) safely and quickly, in a sustainable way Overview Faster Time to Market, with lower cost and risks, and higher quality
  • 6. | © Copyright 2015 Hitachi Consulting6 What is Continuous Delivery? Continuous Delivery is the ability to get software changes - including new features, enhancements, configuration changes, and bug fixes - into production (for end users) safely and quickly, in a sustainable way  Think about any software systems that have millions of users using it 24/7, need new features and enhancements all the time, and can’t tolerate any downtime..  E.g., facebook, gmail, digital retailers, online banking, cloud services providers, SaaS providers, etc. Overview Faster Time to Market, with lower cost and risks, and higher quality
  • 7. | © Copyright 2015 Hitachi Consulting7 What is Continuous Delivery? How to achieve it? Continuous Delivery
  • 8. | © Copyright 2015 Hitachi Consulting8 What is Continuous Delivery? How to achieve it? Continuous Delivery Modern Software Architecture (& Technologies)  Set of independent components (services)  Organized around business capabilities  Each is replaceable, extensible, versioned, and deployable independently  Containerization, scalability, and fault-tolerance of individual services
  • 9. | © Copyright 2015 Hitachi Consulting9 What is Continuous Delivery? How to achieve it? Continuous Delivery Modern Software Architecture (& Technologies)  Set of independent components (services)  Organized around business capabilities  Each is replaceable, extensible, versioned, and deployable independently  Containerization, scalability, and fault-tolerance of individual services Modern Application Lifecyle Management (Process & Tools)  Team Collaboration & Agile planning  Source Control & Build Automation  Automated testing and integration  Automated deployment to different environments  Release and configuration management  Seamless integration between Dev and Ops activities
  • 10. | © Copyright 2015 Hitachi Consulting10 What is Continuous Delivery? How to achieve it? Continuous Delivery Modern Software Architecture (& Technologies)  Set of independent components (services)  Organized around business capabilities  Each is replaceable, extensible, versioned, and deployable independently  Containerization, scalability, and fault-tolerance of individual services Modern Application Lifecyle Management (Process & Tools)  Team Collaboration & Agile planning  Source Control & Build Automation  Automated testing and integration  Automated deployment to different environments  Release and configuration management  Seamless integration between Dev and Ops activities Microservices DevOps
  • 11. | © Copyright 2015 Hitachi Consulting11 Service-Oriented Software Architecture
  • 12. | © Copyright 2015 Hitachi Consulting12 Service-Oriented Architecture The relational behind any software architecture is to meet the operational objectives (non-functional requirements) of such a system… Why we architect systems that way?
  • 13. | © Copyright 2015 Hitachi Consulting13 Service-Oriented Architecture The relational behind any software architecture is to meet the operational objectives (non-functional requirements) of such a system… Why we architect systems that way? • Maintains performance with increased data/workloadsScalability • Operational 99.95% of the time (reliable) Availability (Reliability) • Maintains its data in an (eventual) consistent state Consistency • Refers resilience and recoverability Fault-Tolerance (Resilience) • Ability to communicate, exchange and process data Interoperability • Monitor, Configure, debug, etc. (serviceability) Supportability • Can run on different platforms Portability • Secure Identity, data at rest, and communication Security & Protection
  • 14. | © Copyright 2015 Hitachi Consulting14 Service-Oriented Architecture The relational behind any software architecture is to meet the operational objectives (non-functional requirements) of such a system… Why we architect systems that way? • Maintains performance with increased data/workloadsScalability • Operational 99.95% of the time (reliable) Availability (Reliability) • Maintains its data in an (eventual) consistent state Consistency • Refers resilience and recoverability Fault-Tolerance (Resilience) • Ability to communicate, exchange and process data Interoperability • Monitor, Configure, debug, etc. (serviceability) Supportability • Can run on different platforms Portability • Secure Identity, data at rest, and communication Security & Protection • Extensibility, Replicability, Reusability, Composability Agility (non-behavioural)
  • 15. | © Copyright 2015 Hitachi Consulting15 Service-Oriented Architecture What is a Microservice? Autonomous a self-contained unit of functionality with loosely coupled dependencies on other services.
  • 16. | © Copyright 2015 Hitachi Consulting16 Service-Oriented Architecture What is a Microservice? AutonomousIsolated Owned Protects itself from unwanted access/usage Owns all of the state (data) it depends on Organized around Business Capabilities Contained In a separate process, with communication endpoints Replaceable & Versioned Elastic a self-contained unit of functionality with loosely coupled dependencies on other services. a independent unit of deployment, can be modified, without impacting other Services Can be scaled independently of other services owned by one team from development through deployment
  • 17. | © Copyright 2015 Hitachi Consulting17 Service-Oriented Architecture What is a Service? AutonomousIsolated Owned Protects itself from unwanted access/usage Owns all of the state (data) it depends on Organized around Business Capabilities Contained In a separate process, with communication endpoints Replaceable & Versioned Elastic a self-contained unit of functionality with loosely coupled dependencies on other services. a independent unit of deployment, can be modified, without impacting other Services Can be scaled independently of other services Configurable Programable Open (tech. agnostic APIs owned by one team from development through deployment Automated
  • 18. | © Copyright 2015 Hitachi Consulting18 Microservices Architecture Overview - evolution Stand- alone Client Server Browser Web Server Db Server Any Device From Monolithic to Microservice microservices
  • 19. | © Copyright 2015 Hitachi Consulting19 Microservices Architecture Overview – e-commerce example Any Device UI E-commerce Web App API Gateway Login/User Profile Service Product Catalog Service Shopping Cart Service Order Processing Service Recommendation Service Reporting Service .Net Key/value Java Search Index .Net Document Ruby RDBMS Python Graph Scala Column- family Cache Service
  • 20. | © Copyright 2015 Hitachi Consulting20 Microservices Architecture Patterns and Guidelines - Layers Microservice HTTP/REST APIs Domain Model Business Logic (rules, validation, calc.) Repository (data access services) Data store Integration (queues) SDK (public/private)  Expose REST APIs for interoperability  Contains its BL, Model, queues, and repository services  Can be written in any language – Polyglot Programming  Owns its data store, which can be any technology (SQL/NoSQL) – Polyglot Persistence  Provides SDK (for programmability)  Runs on its own execution boundary Layers = Code organization
  • 21. | © Copyright 2015 Hitachi Consulting21 Microservices Architecture Patterns and Guidelines – Data Store Microservice 1 Microservice 2 Data  Data is passed across services, rather than giving a refence to service data store  No assumption about shared data store  Enables schema evolution  Enables choosing different data store technologies that fit the processing nature of each microservice function
  • 22. | © Copyright 2015 Hitachi Consulting22 Microservices Architecture Patterns and Guidelines – Integration Service 1 Service 2 Service 3 Send command /event consume Send command /event Consume Queue 1 Queue 2 Enterprise Service Bus Service 1 Service 2 Service 3 Orchestration Choreography
  • 23. | © Copyright 2015 Hitachi Consulting23 Microservices Architecture Patterns and Guidelines – Scalability System WebApp Service Instance 1 WebApp Service Instance 2 UI  Multiple instance of the Web App are spun to handle increase of requests
  • 24. | © Copyright 2015 Hitachi Consulting24 Microservices Architecture Patterns and Guidelines – Scalability System WebApp Service Instance 1 WebApp Service Instance 2 UI Load Balancer Request/Command  Multiple instance of the Web App are spun to handle increase of requests  A load balancer handles the incoming requests
  • 25. | © Copyright 2015 Hitachi Consulting25 Microservices Architecture Patterns and Guidelines – Scalability System WebApp Service Instance 1 WebApp Service Instance 2 UI Load Balancer Service 1 instance1 Service 1 instance2 Service 1 instance 3 Service 2 instance1 Service 3 instance1 Request/Command Service 2 instance 2  Multiple instance of the Web App are spun to handle increase of requests  A load balancer handles the incoming requests  1 or more instance are run for each microservices, based on its scalability needs
  • 26. | © Copyright 2015 Hitachi Consulting26 Microservices Architecture Patterns and Guidelines – Scalability System WebApp Service Instance 1 WebApp Service Instance 2 UI Load Balancer Service 1 instance1 Service Registry Service 1 instance2 Service 1 instance 3 Service 2 instance1 Service 3 instance1 Request/Command Service 2 instance 2  Multiple instance of the Web App are spun to handle increase of requests  A load balancer handles the incoming requests  1 or more instance are run for each microservices, based on its scalability needs  Instance are registered in a service registry, which is used to fetch the IP of a particular service instance to use
  • 27. | © Copyright 2015 Hitachi Consulting27 Microservices Architecture Patterns and Guidelines – Scalability System WebApp Service Instance 1 WebApp Service Instance 2 UI Load Balancer Service 1 instance1 Service Registry Service 1 instance2 Service 1 instance 3 Service 2 instance1 Service 3 instance1 Request/Command Service 2 instance 2  Multiple instance of the Web App are spun to handle increase of requests  A load balancer handles the incoming requests  1 or more instance are run for each microservices, based on its scalability needs  Instance are registered in a service registry, which is used to fetch the IP of a particular service instance to use  Multiple instance of the database are run and configured as cluster  Data is sharded and distributed amongst databased, with a replication factor  Service communicate with its database as a one unit (regardless of the sharding)
  • 28. | © Copyright 2015 Hitachi Consulting28 Microservices Architecture Pattern and Guidelines – Infrastructure Rack 1 Core 1 Core 2 Core 5 Core 6 Core 3 Core 4 Core 7 Core 8 Rack 2 Core 1 Core 2 Core 5 Core 6 Core 3 Core 4 Core 7 Core 8  Hardware infrastructure (on-prem or cloud IaaS), which represent your compute resources
  • 29. | © Copyright 2015 Hitachi Consulting29 Microservices Architecture Pattern and Guidelines – Infrastructure Rack 1 Cluster VM1 VM2 VM3 VM4 Core 1 Core 2 Core 5 Core 6 Core 3 Core 4 Core 7 Core 8 Rack 2 Core 1 Core 2 Core 5 Core 6 Core 3 Core 4 Core 7 Core 8  Hardware infrastructure (on-prem or cloud IaaS), which represent your compute resources  A set of VMs, connected though a network to perform a cluster
  • 30. | © Copyright 2015 Hitachi Consulting30 Microservices Architecture Pattern and Guidelines – Infrastructure Rack 1 Cluster VM1 VM2 VM3 VM4 Service (Container) 1 Service (Container) 2 Service (Container) 3 Service (Container) 4 Service (Container) 5 Service (Container) 6 Service (Container) 7 Core 1 Core 2 Core 5 Core 6 Core 3 Core 4 Core 7 Core 8 Rack 2 Service (Container) 8 Core 1 Core 2 Core 5 Core 6 Core 3 Core 4 Core 7 Core 8  Hardware infrastructure (on-prem or cloud IaaS), which represent your compute resources  A set of VMs, connected though a network to perform a cluster  (Containerized) services, each can have multiple instance (each is a new container)
  • 31. | © Copyright 2015 Hitachi Consulting31 Microservices Architecture Pattern and Guidelines – Infrastructure Rack 1 Cluster VM1 VM2 VM3 VM4 Cluster Manager Service (Container) 1 Service (Container) 2 Service (Container) 3 Service (Container) 4 Service (Container) 5 Service (Container) 6 Service (Container) 7 Core 1 Core 2 Core 5 Core 6 Core 3 Core 4 Core 7 Core 8 Rack 2 Service (Container) 8 Core 1 Core 2 Core 5 Core 6 Core 3 Core 4 Core 7 Core 8  Hardware infrastructure (on-prem or cloud IaaS), which represent your compute resources  A set of VMs, connected though a network to perform a cluster  (Containerized) services, each can have multiple instance (each is a new container)  The cluster manager performs the following:  Distributes service/containers within a cluster  Restarts services/containers in the case of failure  Redistributes services/containers based on resource consumption
  • 32. | © Copyright 2015 Hitachi Consulting32 Microservices Architecture Containerization What is a Container? • Let you slice up the OS to run multiple services on a single OS • Allows for a version set of dependencies (libraries, file system, runtimes, etc.) to run side by side with another set of dependencies in an isolated runtime environment on the same machine Why Containers?  Encapsulate the application environment  Improved application deployment and introspection  Manage applications instead of machines  Relieve developers and operations from being concerned with the specific details of the machine and OS  Allows infrastructure team flexibility in rolling out new hardware, OS, or system SKUs without impacting applications Microservices and containers?  Microservices is an architectural design point; containers are an implementation detail that often helps.  Typically you run one application/service per container
  • 33. | © Copyright 2015 Hitachi Consulting33 Multiplicityof Goods Multiplicityof methodsfor transporting/storing DoIworryabout howgoodsinteract (e.g.coffeebeans nexttospices) CanItransportquickly andsmoothly (e.g.fromboattotrain totruck) …in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery. Microservices Architecture Containerization
  • 34. | © Copyright 2015 Hitachi Consulting34 Static website Web frontend Background workers User DB Analytics DB Queue Dev VM QA Server Single Prod Server Onsite Cluster Azure Contributor laptop Customer Servers Microservices Architecture Containerization
  • 35. | © Copyright 2015 Hitachi Consulting35 App A Hypervisor (Type 2) Host OS Server Guest OS Bins/ Libs App A’ Guest OS Bins/ Libs App B Guest OS Bins/ Libs AppA’ Host OS Server Bins/Libs AppA Bins/Libs AppB AppB’ AppB’ AppB’ VM Container Containers are isolated, but share OS kernel and, where appropriate, bins/libraries Guest OS Guest OS …result is significantly faster deployment, much less overhead, easier migration, faster restart, better use/share of resources Docker Deamon Microservices Architecture VMs vs Containers
  • 36. | © Copyright 2015 Hitachi Consulting36 Microservices Architecture Technology Options for Microservices Deployment Azure Service Fabric Azure Container Services Azure Web Hosting Plans Web Apps API Apps Logic Apps Web Jobs Docker Containers .NET Java Docker Swarm Azure On-prem/ IaaS (Windows/ Linux) Azure On-prem/ IaaS (Linux) Azure
  • 37. | © Copyright 2015 Hitachi Consulting37 Application Development Lifecycle and Continuous Delivery
  • 38. | © Copyright 2015 Hitachi Consulting38 Application Development Lifecycle Then and now… Methodology Process Patterns Platform
  • 39. | © Copyright 2015 Hitachi Consulting39 Application Development Lifecycle Then and now… Methodology Process Patterns Platform Waterfall Gated Monolithic Windows
  • 40. | © Copyright 2015 Hitachi Consulting40 Application Development Lifecycle Then and now… Methodology Process Patterns Platform Waterfall Agile Scrum N-Tier Layered Windows / Linux Gated Monolithic Windows
  • 41. | © Copyright 2015 Hitachi Consulting41 Application Development Lifecycle Then and now… Methodology Process Patterns Platform Waterfall Agile Lean Engineering Continuous Delivery Microservice Architecture Cloud Scrum N-Tier Layered Windows / Linux Gated Monolithic Windows
  • 42. | © Copyright 2015 Hitachi Consulting42 DevOps “The union of people, process, and products to enable continuous delivery of value to our end users.” - Microsoft
  • 43. | © Copyright 2015 Hitachi Consulting43 DevOps The big picture...
  • 44. | © Copyright 2015 Hitachi Consulting44 Plan 1 Monitor + Learn ReleaseDevelop + Test 2 Development Production 4 3 DevOps The Application Lifecyle Automation of Build, Test, and Deploy
  • 45. | © Copyright 2015 Hitachi Consulting45 It starts with an idea – and a plan how to turn this idea into reality … Manage work (Epics, Features, User Stories) Develop + Test 1 Project starts Plan (People & Sprints) Track progress (Tasks & Burndown) DevOps Plan
  • 46. | © Copyright 2015 Hitachi Consulting46 Write Code Unit Testing 2 Build Version Control Integration Test Release Once the iteration starts, developers turn great ideas into features … DevOps Dev+Test
  • 47. | © Copyright 2015 Hitachi Consulting47 Value cspkg DevOps Continous Integration (CI)
  • 48. | © Copyright 2015 Hitachi Consulting48 Load Testing Integration testing environment Automated functional testing environment 3 Pre-production environment Staging environment Monitor + Learn When all tests pass, the build is deployed to testing environments for each stage in the release process DevOps Release
  • 49. | © Copyright 2015 Hitachi Consulting49 Value DevOps Continous Deployment (CD) Infrastructure as Code
  • 50. | © Copyright 2015 Hitachi Consulting50 Learn and understand how users use your app, how it reacts and quickly fix issues and bugs Monitor + Learn 4 Monitor Feedback Plan the next iteration DevOps Monitor App Logs, Telemetry, Fault Injection, Customer Feedback etc.
  • 51. | © Copyright 2015 Hitachi Consulting51 DevOps with Microsoft
  • 52. | © Copyright 2015 Hitachi Consulting52 DevOps Tools and Technologies https://newrelic.com/devops/toolset https://xebialabs.com/periodic-table-of-devops-tools/
  • 53. | © Copyright 2015 Hitachi Consulting53 The 12-Factore App
  • 54. | © Copyright 2015 Hitachi Consulting54 The 12-Factore App Guidelines A Microservices has a single root repository, does not share code with another apps (isolation & ownership) Codebase All dependencies (libs & runtimes) are explicitly declared, shipped and deployed with the microservice Dependencies No hard-coded configurations; read from config store or environment variablesConfig Treat backing service (database, queue, other service) as attached resource via configResources Strictly separate build, release, & run steps Build, Run, Release A Microservice executes as 1+ stateless process & shares nothing (containerization) Processes Export services via port bindingPort Binding Scale out via having multiple running instance of the same microserviceConcurrency A microservice instance can crash/be killed quickly (and gracefully) & start fast Disposability Keep dev, test, stage, and prod environments similar (containerization) Dev/Prod Parity Log to stdout (dev=console; prod=file & archived)Logs Infrastructure and admin tasks as code (scripts)Admin
  • 55. | © Copyright 2015 Hitachi Consulting55 Useful Resources  Pattern: Microservice Architecture - http://microservices.io/patterns/microservices.html  Microservices: a definition of this new architectural https://www.martinfowler.com/articles/microservices.html  The 12-Factor App - https://12factor.net/  What is Docker ? - https://www.docker.com/what-docker  DevOps with Microsoft Azure - https://www.microsoft.com/en-gb/cloud-platform/development-operations  MVA courses on DevOps - https://mva.microsoft.com/training-topics/devops#!lang=1033  Why a microservices approach to building applications? - https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview-microservices