SlideShare a Scribd company logo
1 of 52
IoT Cloud Platform
Transitioning from a monolith to micro services architecture
BY VINOD WILSON – ARCHITECT – CRESTRON ELECTRONICS
Agenda
Goals
• Enable Scalable
Business
• Support Entry into new
markets
• Support innovation in
existing markets
Enterprise Capability
• Multi-tenancy
• Enterprise Reference
Data
• Global customer issue
• Devices
communicating from
across the globe
• Monitoring
• FaultTolerance
• Simulation
• Deployment
Looking forward and
future Insights
• Monolithic to
Microservices
• Team Structural
Problems
• DevOPS
• Advantages of
Microservices
• Microservices logical
architecture
• Decentralized Data
Management
• CAPTheorem
• Polyglot Persistence
• FaultTolerance
• Automated Failure
Testing
• Web Application
Decomposition
• Metering & Billing
IOT Cloud Service
Platform
• CSP Block Diagram
• CSP Architecture
• DDD and Practice
• CSP Event Sourcing
• CSPWorkflow
• CSP POC
Execution Strategy
• AlignTeam and
organizational
structure
• Standardization,Team
choice, Development
Tools, Options, Cross-
team coordination
• Microservices Interface
specification
• Microservice internal
architecture and design
• Microservice Fault
Tolerant Design
specification
• Repository Design
• DevOPS First
• TDD
• UnitTests, Integration
Tests, UAT
• Microservices
Development
Goals
Device
Program
Ancillary
Device
Telemetry
File
Storage
Policies
Licenses Alerts
Change
Logs
API
Exposure
Email
SMS
Time to Market
Organization
Driving architecture
Architecture Driving
organization
Enable Scalable
Business
Support Entry
into new
markets
Support
innovation in
existing
markets
Cloud Service – Data - Multi-tenancy
Cloud
Service Multi-
tenancy
Reference Data & Master Data
Management
Enterprise Reference & Master Data
Dealers
Products
Identity Enterprise
web apps
Product
Lines
Enterprisereference&MasterData
Duplicated Azure AD
Enterprise Soft Division
IT Services Division
EnterpriseTools Division
IT Services Division
Enterprise Reference & Master Data
Enterprise Reference
Data & Master Data
Dealers
Products
Identity
Product
Lines
Enterprisereference&MasterData
Moved
Managed By Enterprise
Reference DataTeam
Pushed
A
z
u
r
e
S
e
r
vi
c
e
B
u
s
Enterprise
Web Apps
EnterpriseTools
Azure AD
Cloud Services
Device communication from across the
globe
Has Huge Impact
on the service
Service should be
exposed always to
one region
Service Monitoring and Monitoring
Apps
• Service Monitoring should never be an after-
thought
• Service Monitoring solutions should be developed in
parallel
Simulation
• Simulation service to
simulate hundreds and
thousands of devices
should also be developed
in parallel along with the
monitoring apps
Monolith Service Deployment
• Always involves deployment of the entire service
• For major schema changes the deployment might take long hours
• Deployment checklist is huge and only few people in the team might
know about it
Future Insights
Conway’s Law
1968
Any piece of software
reflects the organizational
structure that produced it
What is a Microservice?
Microservices are a loosely coupled Service-Oriented
Architecture (SOA) with bounded contexts
Complexity over time (Monolith vs
Microservices)
COMPLEXITY
TIME
Complexity Over Time
Microservices - Trends
Who are using microservices?
Conway’s Law in Action
Head Of IT
Head Of
Operations
Head Of
DBA’s
Head Of
Infrastructure
Head Of
Development
Head Of App
Dev
Head Of UI
Typical Enterprise Organization Structure
Infrastructure
DataStore
Application
User Interface
Resulting Software
An Enormous Monolith
Microservices Organization Structure
Product
Lead
Developer
Developer Developer
Sys Admin DBA
NoSQL
Admin
Javascript
Developer
Graphic
Artist
Infrastructure
DataStore
Application
API
Resulting Software
Infrastructure
DataStore
Application
API
Infrastructure
DataStore
Application
API
Infrastructure
DataStore
Application
API
Many small Microservices
Each team should treat other teams as external vendor
1. Clear Interfaces
2. Clear SLAs
Microservices logical architecture
Characteristics of different organization
types
Centralized Organizations
Focused onTechnology
Layers
• Product Monoliths
• Simple change requires
extensive coordination
across all of the layers
• Business logic is spread
everywhere because it’s
easier to bury it in the
layer you own
• No real ownership
Distributed Organizations
Focused on products
• Produce Microservices
• SmallTeams can make
any change they want to
an individual
microservice
• Architecture clean
because developers
have 100% control
• True ownership
Standardize where it makes sense
Teams do not have 100% freedomDevelopmentTooling
SourceControl
ConfigurationManagement
Data Format
Communication Protocol
Alerting
Monitoring
Custom Code
Programming Language
Messaging
Data Store
Infrastructure
Team Has Complete Choice
Offer a menu of 2-3 options
Standardize on One
Benefits of Microservices
• Easier to understand and develop
• Faster to build and deploy
• Reduced startup time
• Scales development: Develop, deploy and scale each service independently
• Improves fault isolation
• Eliminates long-time commitment to a technology stack
• Microservice => something that could be rewritten in two weeks
• Decentralized Governance
CO-EXIST ENDPOINTS
Service integration
OrchestrationVs Choreography
Example: process of creating new customer
Orchestration
Downside of this approach
• Customer service
can become too
much of a central
governing authority
• Extremely brittle
• Higher cost of
change
Choreography
Event driven architecture and Eventual
Consistency
• Application has to handle eventually consistent data
• Application has to handle duplicate events
• How to generate events?
• Atomically publish an event since there could be failures
Event Sourcing
• An event-centric approach to designing domain models
• Request becomes a command that is sent to anAggregate
• Aggregates handle commands by generating events
• Apply events to an aggregate to update state
• Persist events NOT state
• Replay events to recreate the current state of an aggregate
• Event Store = database + message broker
CQRS/EVENT SOURCING
DevOPS
DevOPS Principle
Cultural movement enabled by technology
Dev
Paid to add
new feature
OPS
Paid to keep
system stable,
fast and
available
DevOPS
Decentralized Data Management
Rules of distributed computing
CAP Theorm – pick any two
Theory
C
Consistency
A
Availability
Pick
Any
Two
P
Partition
Tolerance
• Consistency
• Each node shows the same
data all times
• Availability
• Each node is available for
writes at all times
• PartitionTolerance
• Able to handle network
outages
Practice
• PickA or P
• Partition tolerance is non-negotiable because we
have networks that can always fails
• Enterprise IT Systems
• Often CP
• Microservices Systems
• Often AP
Decomposition MicroserviceA
Microservice
B
Microservice A Microservice B
Impedence mismatch problem in RDBMS
• We want to show and store
in two different ways
SQL was designed to run in a single big
boxes
• It doesn’t work very well with large
clusters
• Too much of operations involved in
maintaining large clusters
• Many gave up designing large relational
clusters
NoSQL
• It is cluster friendly
• Non-relational
• Schema-less
NoSQL - Implicit schema
• Build relationship out of
the implicit schema
NoSQL - Advantages
• Aggregate oriented database
• Store Every aggregate as a single unit
• Aggregate storage is useful when it is stored in clusters
• Runs efficiently in clusters and way more straightforward
Scalability and Performance (NoSQL vs
RDBMS)
Polyglot persistence
• Polyglot persistence is all about choosing the right persistence option for
the task at hand
• Polyglot persistence is needed since the volume of data is exploding
• What options do we have?
• RDBMS
• Document Stores
• Key-Value pairs
• BLOB Storage
• Table Storage
• Graph DBs
• Message Queues
Fault Tolerance
• FaultTolerance is a Requirement, Not a Feature
• Network timeouts and retries
• Using Semaphores to control resource usage
• Circuit breakers
Automated Failure Testing
• Chaos Monkey
• A tool that randomly disables our production instances to make sure we can survive this
common type of failure without any customer impact
• Latency Monkey
• Induces artificial delays in our RESTful client-server communication layer to simulate
service degradation and measures if upstream services respond appropriately
• Conformity Monkey
• Finds instances that don’t adhere to best-practices and shuts them down
• Doctor Monkey
• Taps into health checks that run on each instance as well as monitors other external signs
of health (e.g. CPU load) to detect unhealthy instances.
• Once unhealthy instances are detected, they are removed from service and after giving
the service owners time to root-cause the problem, are eventually terminated.
• Janitor Monkey
• Ensures that our cloud environment is running free of clutter and waste. It searches for
unused resources and disposes of them.
• Chaos Gorilla
• is similar to Chaos Monkey, but simulates an outage of an entire Cloud availability zone
Emerging Technologies
• Service Fabric
• Distributed systems platform that makes it easy to package, deploy, and
manage scalable and reliable micro services
• VMs, Containers, and Processes
• Windows Server 2016 – Has container support
IoT Cloud Service Platform
IoT Domain Modeling
• Difficult to conceive domain
modelling in IoT
Web Application Decomposition
(Partitioned Web Application)
No longer a single base URL
Browser Content Router
Products UI
Checkout UI
Order Management
UI
Account
Management UI
/products
/checkout
/Orders
/account
http://acme.com/<service>
Partitioned Web Application
Browser
Content
Router
Products UI
Checkout UI
Order Management
UI
Account
Management UI
/checkout
/Orders
/account
http://acme.com/<service>
API
Gateway
REST Client
Products Info Service
Recommendation
service
Review Service
Order Service
Service Registry
1. Single Entry Point
2. Protocol
Translation
3. Reduces chatty
network calls
Microservice
s Registers
when they
startup
Execution Strategy
• Identify one microservice for POC
• Write interface specification for the microservice (Swagger)
• Identify the core services needed for implementing one microservice
• Implement core services
• Develop one microservice and make it as reference implementation for other
teams
• Demo DevOPS
• Demo Fault isolation and Fault tolerance
ThankYou

More Related Content

What's hot

AWS Summit Auckland - Introducing Well-Architected for Developers
AWS Summit Auckland  - Introducing Well-Architected for DevelopersAWS Summit Auckland  - Introducing Well-Architected for Developers
AWS Summit Auckland - Introducing Well-Architected for DevelopersAmazon Web Services
 
Microsoft IoT Overview, Vision and Roadmap
Microsoft IoT Overview, Vision and RoadmapMicrosoft IoT Overview, Vision and Roadmap
Microsoft IoT Overview, Vision and RoadmapMicrosoft Tech Community
 
AWS Summit Auckland- Developing Applications for IoT
AWS Summit Auckland-  Developing Applications for IoTAWS Summit Auckland-  Developing Applications for IoT
AWS Summit Auckland- Developing Applications for IoTAmazon Web Services
 
Device Twins, Digital Twins and Device Shadow
Device Twins, Digital Twins and Device ShadowDevice Twins, Digital Twins and Device Shadow
Device Twins, Digital Twins and Device ShadowEstelle Auberix
 
What's new for Serverless Computing in Azure
What's new for Serverless Computing in AzureWhat's new for Serverless Computing in Azure
What's new for Serverless Computing in AzureMicrosoft Tech Community
 
(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoTAmazon Web Services
 
Connecting to the internet of things (IoT)
Connecting to the internet of things (IoT)Connecting to the internet of things (IoT)
Connecting to the internet of things (IoT)Fernando Lopez Aguilar
 
Real-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo LogicReal-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo LogicAmazon Web Services
 
AWS re:Invent 2016: IoT State of the Union (IOT307)
AWS re:Invent 2016: IoT State of the Union (IOT307)AWS re:Invent 2016: IoT State of the Union (IOT307)
AWS re:Invent 2016: IoT State of the Union (IOT307)Amazon Web Services
 
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...Guido Schmutz
 
Compliance in the Cloud Using Security by Design
Compliance in the Cloud Using Security by DesignCompliance in the Cloud Using Security by Design
Compliance in the Cloud Using Security by DesignAmazon Web Services
 
Event Grid Unplugged - Using events as the fuel powering your applications
Event Grid Unplugged - Using events as the fuel powering your applicationsEvent Grid Unplugged - Using events as the fuel powering your applications
Event Grid Unplugged - Using events as the fuel powering your applicationsMicrosoft Tech Community
 
AWS re:Invent 2016: Enel E2E Smart Home Solution with Amazon Alexa (IOT308)
AWS re:Invent 2016: Enel E2E Smart Home Solution with Amazon Alexa (IOT308)AWS re:Invent 2016: Enel E2E Smart Home Solution with Amazon Alexa (IOT308)
AWS re:Invent 2016: Enel E2E Smart Home Solution with Amazon Alexa (IOT308)Amazon Web Services
 
2016, A new era of OS and Cloud Security
2016, A new era of OS and Cloud Security2016, A new era of OS and Cloud Security
2016, A new era of OS and Cloud SecurityTudor Damian
 
Intel SoC as a Platform to Connect Sensor Data to AWS
Intel SoC as a Platform to Connect Sensor Data to AWSIntel SoC as a Platform to Connect Sensor Data to AWS
Intel SoC as a Platform to Connect Sensor Data to AWSAmazon Web Services
 

What's hot (20)

AWS Summit Auckland - Introducing Well-Architected for Developers
AWS Summit Auckland  - Introducing Well-Architected for DevelopersAWS Summit Auckland  - Introducing Well-Architected for Developers
AWS Summit Auckland - Introducing Well-Architected for Developers
 
AWS IoT 深入探討
AWS IoT 深入探討AWS IoT 深入探討
AWS IoT 深入探討
 
Microsoft IoT Overview, Vision and Roadmap
Microsoft IoT Overview, Vision and RoadmapMicrosoft IoT Overview, Vision and Roadmap
Microsoft IoT Overview, Vision and Roadmap
 
AWS Summit Auckland- Developing Applications for IoT
AWS Summit Auckland-  Developing Applications for IoTAWS Summit Auckland-  Developing Applications for IoT
AWS Summit Auckland- Developing Applications for IoT
 
Device Twins, Digital Twins and Device Shadow
Device Twins, Digital Twins and Device ShadowDevice Twins, Digital Twins and Device Shadow
Device Twins, Digital Twins and Device Shadow
 
What's new for Serverless Computing in Azure
What's new for Serverless Computing in AzureWhat's new for Serverless Computing in Azure
What's new for Serverless Computing in Azure
 
(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT(MBL205) New! Everything You Want to Know About AWS IoT
(MBL205) New! Everything You Want to Know About AWS IoT
 
Connecting to the internet of things (IoT)
Connecting to the internet of things (IoT)Connecting to the internet of things (IoT)
Connecting to the internet of things (IoT)
 
Real-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo LogicReal-time Visibility at Scale with Sumo Logic
Real-time Visibility at Scale with Sumo Logic
 
AWS re:Invent 2016: IoT State of the Union (IOT307)
AWS re:Invent 2016: IoT State of the Union (IOT307)AWS re:Invent 2016: IoT State of the Union (IOT307)
AWS re:Invent 2016: IoT State of the Union (IOT307)
 
Deep Dive on the IoT at AWS
Deep Dive on the IoT at AWSDeep Dive on the IoT at AWS
Deep Dive on the IoT at AWS
 
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
 
Azure IoT Summary
Azure IoT SummaryAzure IoT Summary
Azure IoT Summary
 
Compliance in the Cloud Using Security by Design
Compliance in the Cloud Using Security by DesignCompliance in the Cloud Using Security by Design
Compliance in the Cloud Using Security by Design
 
Event Grid Unplugged - Using events as the fuel powering your applications
Event Grid Unplugged - Using events as the fuel powering your applicationsEvent Grid Unplugged - Using events as the fuel powering your applications
Event Grid Unplugged - Using events as the fuel powering your applications
 
Seven Seas Technology
Seven Seas TechnologySeven Seas Technology
Seven Seas Technology
 
AWS re:Invent 2016: Enel E2E Smart Home Solution with Amazon Alexa (IOT308)
AWS re:Invent 2016: Enel E2E Smart Home Solution with Amazon Alexa (IOT308)AWS re:Invent 2016: Enel E2E Smart Home Solution with Amazon Alexa (IOT308)
AWS re:Invent 2016: Enel E2E Smart Home Solution with Amazon Alexa (IOT308)
 
2016, A new era of OS and Cloud Security
2016, A new era of OS and Cloud Security2016, A new era of OS and Cloud Security
2016, A new era of OS and Cloud Security
 
Intel SoC as a Platform to Connect Sensor Data to AWS
Intel SoC as a Platform to Connect Sensor Data to AWSIntel SoC as a Platform to Connect Sensor Data to AWS
Intel SoC as a Platform to Connect Sensor Data to AWS
 
Mobile apps and iot aws lambda
Mobile apps and iot aws lambdaMobile apps and iot aws lambda
Mobile apps and iot aws lambda
 

Viewers also liked

Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...
Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...
Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...Amazon Web Services
 
Cloud Platform for IoT
Cloud Platform for IoTCloud Platform for IoT
Cloud Platform for IoTNaoto Umemori
 
Effective IoT System on Openstack
Effective IoT System on OpenstackEffective IoT System on Openstack
Effective IoT System on OpenstackTakashi Kajinami
 
IoT Platform Alliance Map 2017Sep.
IoT Platform Alliance Map 2017Sep.IoT Platform Alliance Map 2017Sep.
IoT Platform Alliance Map 2017Sep.Keiichiro Nabeno
 
Go-to-market services for IoT
Go-to-market services for IoTGo-to-market services for IoT
Go-to-market services for IoTIoTAnalytics
 

Viewers also liked (6)

Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...
Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...
Essential Capabilities of an IoT Cloud Platform - April 2017 AWS Online Tech ...
 
Cloud Platform for IoT
Cloud Platform for IoTCloud Platform for IoT
Cloud Platform for IoT
 
Effective IoT System on Openstack
Effective IoT System on OpenstackEffective IoT System on Openstack
Effective IoT System on Openstack
 
IoT Platform Alliance Map 2017Sep.
IoT Platform Alliance Map 2017Sep.IoT Platform Alliance Map 2017Sep.
IoT Platform Alliance Map 2017Sep.
 
Go-to-market services for IoT
Go-to-market services for IoTGo-to-market services for IoT
Go-to-market services for IoT
 
Zig Bee
Zig BeeZig Bee
Zig Bee
 

Similar to Iot cloud service v2.0

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithMarkus Eisele
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...AFAS Software
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeAlex Thissen
 
Grokking microservices in 5 minutes
Grokking microservices in 5 minutesGrokking microservices in 5 minutes
Grokking microservices in 5 minutesAndrew Siemer
 
Concurrency at Scale: Evolution to Micro-Services
Concurrency at Scale:  Evolution to Micro-ServicesConcurrency at Scale:  Evolution to Micro-Services
Concurrency at Scale: Evolution to Micro-ServicesRandy Shoup
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices ArchitectureVin Dahake
 
Closer Look at Cloud Centric Architectures
Closer Look at Cloud Centric ArchitecturesCloser Look at Cloud Centric Architectures
Closer Look at Cloud Centric ArchitecturesTodd Kaplinger
 
DCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDocker, Inc.
 
How to achieve Continous Delivery
How to achieve Continous DeliveryHow to achieve Continous Delivery
How to achieve Continous DeliveryGeoffrey Vandiest
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesRick Hightower
 
Building Big Architectures
Building Big ArchitecturesBuilding Big Architectures
Building Big ArchitecturesRamit Surana
 
Migrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systemsMigrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systemsMarkus Eisele
 
Migrating From Java EE To Cloud-Native Reactive Systems
Migrating From Java EE To Cloud-Native Reactive SystemsMigrating From Java EE To Cloud-Native Reactive Systems
Migrating From Java EE To Cloud-Native Reactive SystemsLightbend
 
How would ESBs look like, if they were done today.
How would ESBs look like, if they were done today.How would ESBs look like, if they were done today.
How would ESBs look like, if they were done today.Markus Eisele
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup
 
Securing the Cloud Native stack
Securing the Cloud Native stackSecuring the Cloud Native stack
Securing the Cloud Native stackHector Tapia
 

Similar to Iot cloud service v2.0 (20)

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
Alex Thissen (Xpirit) - Een verschuiving in architectuur: op weg naar microse...
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscape
 
Grokking microservices in 5 minutes
Grokking microservices in 5 minutesGrokking microservices in 5 minutes
Grokking microservices in 5 minutes
 
Microservice intro
Microservice introMicroservice intro
Microservice intro
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Concurrency at Scale: Evolution to Micro-Services
Concurrency at Scale:  Evolution to Micro-ServicesConcurrency at Scale:  Evolution to Micro-Services
Concurrency at Scale: Evolution to Micro-Services
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices Architecture
 
Closer Look at Cloud Centric Architectures
Closer Look at Cloud Centric ArchitecturesCloser Look at Cloud Centric Architectures
Closer Look at Cloud Centric Architectures
 
DCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to Microservices
 
How to achieve Continous Delivery
How to achieve Continous DeliveryHow to achieve Continous Delivery
How to achieve Continous Delivery
 
Accelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and KubernetesAccelerate DevOps/Microservices and Kubernetes
Accelerate DevOps/Microservices and Kubernetes
 
Building Big Architectures
Building Big ArchitecturesBuilding Big Architectures
Building Big Architectures
 
Migrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systemsMigrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systems
 
Migrating From Java EE To Cloud-Native Reactive Systems
Migrating From Java EE To Cloud-Native Reactive SystemsMigrating From Java EE To Cloud-Native Reactive Systems
Migrating From Java EE To Cloud-Native Reactive Systems
 
Cloud Computing Essentials in Alibaba Cloud
Cloud Computing Essentials in Alibaba CloudCloud Computing Essentials in Alibaba Cloud
Cloud Computing Essentials in Alibaba Cloud
 
How would ESBs look like, if they were done today.
How would ESBs look like, if they were done today.How would ESBs look like, if they were done today.
How would ESBs look like, if they were done today.
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
 
Securing the Cloud Native stack
Securing the Cloud Native stackSecuring the Cloud Native stack
Securing the Cloud Native stack
 

More from Vinod Wilson

Representational state transfer (rest) architectural style1.1
Representational state transfer (rest) architectural style1.1Representational state transfer (rest) architectural style1.1
Representational state transfer (rest) architectural style1.1Vinod Wilson
 
UI Design - Organizing the page
UI Design - Organizing the pageUI Design - Organizing the page
UI Design - Organizing the pageVinod Wilson
 
Service oriented architecture introduction
Service oriented architecture   introductionService oriented architecture   introduction
Service oriented architecture introductionVinod Wilson
 
Togaf – models for phase A
Togaf – models for phase ATogaf – models for phase A
Togaf – models for phase AVinod Wilson
 
The components of togaf architecture
The components of togaf architectureThe components of togaf architecture
The components of togaf architectureVinod Wilson
 
Togaf – architecture development method (adm)
Togaf – architecture development method (adm)Togaf – architecture development method (adm)
Togaf – architecture development method (adm)Vinod Wilson
 
Togaf 9 introduction
Togaf 9 introductionTogaf 9 introduction
Togaf 9 introductionVinod Wilson
 
D3 data visualization
D3 data visualizationD3 data visualization
D3 data visualizationVinod Wilson
 
Event driven architecture
Event driven architectureEvent driven architecture
Event driven architectureVinod Wilson
 
Domain driven design simplified
Domain driven design simplifiedDomain driven design simplified
Domain driven design simplifiedVinod Wilson
 
Developing saas application in azure
Developing saas application in azureDeveloping saas application in azure
Developing saas application in azureVinod Wilson
 
IoT mobile app device cloud identity and security architecture
IoT mobile app device cloud identity and security architectureIoT mobile app device cloud identity and security architecture
IoT mobile app device cloud identity and security architectureVinod Wilson
 

More from Vinod Wilson (15)

Representational state transfer (rest) architectural style1.1
Representational state transfer (rest) architectural style1.1Representational state transfer (rest) architectural style1.1
Representational state transfer (rest) architectural style1.1
 
UI Design - Organizing the page
UI Design - Organizing the pageUI Design - Organizing the page
UI Design - Organizing the page
 
Service oriented architecture introduction
Service oriented architecture   introductionService oriented architecture   introduction
Service oriented architecture introduction
 
Togaf – models for phase A
Togaf – models for phase ATogaf – models for phase A
Togaf – models for phase A
 
The components of togaf architecture
The components of togaf architectureThe components of togaf architecture
The components of togaf architecture
 
Togaf – architecture development method (adm)
Togaf – architecture development method (adm)Togaf – architecture development method (adm)
Togaf – architecture development method (adm)
 
Togaf 9 introduction
Togaf 9 introductionTogaf 9 introduction
Togaf 9 introduction
 
Ssas mdx language
Ssas mdx languageSsas mdx language
Ssas mdx language
 
D3 data visualization
D3 data visualizationD3 data visualization
D3 data visualization
 
Unit testing
Unit testingUnit testing
Unit testing
 
Event driven architecture
Event driven architectureEvent driven architecture
Event driven architecture
 
Domain driven design simplified
Domain driven design simplifiedDomain driven design simplified
Domain driven design simplified
 
Data partitioning
Data partitioningData partitioning
Data partitioning
 
Developing saas application in azure
Developing saas application in azureDeveloping saas application in azure
Developing saas application in azure
 
IoT mobile app device cloud identity and security architecture
IoT mobile app device cloud identity and security architectureIoT mobile app device cloud identity and security architecture
IoT mobile app device cloud identity and security architecture
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

Iot cloud service v2.0

  • 1. IoT Cloud Platform Transitioning from a monolith to micro services architecture BY VINOD WILSON – ARCHITECT – CRESTRON ELECTRONICS
  • 2. Agenda Goals • Enable Scalable Business • Support Entry into new markets • Support innovation in existing markets Enterprise Capability • Multi-tenancy • Enterprise Reference Data • Global customer issue • Devices communicating from across the globe • Monitoring • FaultTolerance • Simulation • Deployment Looking forward and future Insights • Monolithic to Microservices • Team Structural Problems • DevOPS • Advantages of Microservices • Microservices logical architecture • Decentralized Data Management • CAPTheorem • Polyglot Persistence • FaultTolerance • Automated Failure Testing • Web Application Decomposition • Metering & Billing IOT Cloud Service Platform • CSP Block Diagram • CSP Architecture • DDD and Practice • CSP Event Sourcing • CSPWorkflow • CSP POC Execution Strategy • AlignTeam and organizational structure • Standardization,Team choice, Development Tools, Options, Cross- team coordination • Microservices Interface specification • Microservice internal architecture and design • Microservice Fault Tolerant Design specification • Repository Design • DevOPS First • TDD • UnitTests, Integration Tests, UAT • Microservices Development
  • 3. Goals Device Program Ancillary Device Telemetry File Storage Policies Licenses Alerts Change Logs API Exposure Email SMS Time to Market Organization Driving architecture Architecture Driving organization Enable Scalable Business Support Entry into new markets Support innovation in existing markets
  • 4. Cloud Service – Data - Multi-tenancy Cloud Service Multi- tenancy
  • 5. Reference Data & Master Data Management
  • 6. Enterprise Reference & Master Data Dealers Products Identity Enterprise web apps Product Lines Enterprisereference&MasterData Duplicated Azure AD Enterprise Soft Division IT Services Division EnterpriseTools Division IT Services Division
  • 7. Enterprise Reference & Master Data Enterprise Reference Data & Master Data Dealers Products Identity Product Lines Enterprisereference&MasterData Moved Managed By Enterprise Reference DataTeam Pushed A z u r e S e r vi c e B u s Enterprise Web Apps EnterpriseTools Azure AD Cloud Services
  • 8. Device communication from across the globe Has Huge Impact on the service Service should be exposed always to one region
  • 9. Service Monitoring and Monitoring Apps • Service Monitoring should never be an after- thought • Service Monitoring solutions should be developed in parallel
  • 10. Simulation • Simulation service to simulate hundreds and thousands of devices should also be developed in parallel along with the monitoring apps
  • 11. Monolith Service Deployment • Always involves deployment of the entire service • For major schema changes the deployment might take long hours • Deployment checklist is huge and only few people in the team might know about it
  • 13. Conway’s Law 1968 Any piece of software reflects the organizational structure that produced it
  • 14. What is a Microservice? Microservices are a loosely coupled Service-Oriented Architecture (SOA) with bounded contexts
  • 15. Complexity over time (Monolith vs Microservices) COMPLEXITY TIME Complexity Over Time
  • 16. Microservices - Trends Who are using microservices?
  • 17. Conway’s Law in Action Head Of IT Head Of Operations Head Of DBA’s Head Of Infrastructure Head Of Development Head Of App Dev Head Of UI Typical Enterprise Organization Structure Infrastructure DataStore Application User Interface Resulting Software An Enormous Monolith
  • 18. Microservices Organization Structure Product Lead Developer Developer Developer Sys Admin DBA NoSQL Admin Javascript Developer Graphic Artist Infrastructure DataStore Application API Resulting Software Infrastructure DataStore Application API Infrastructure DataStore Application API Infrastructure DataStore Application API Many small Microservices Each team should treat other teams as external vendor 1. Clear Interfaces 2. Clear SLAs
  • 20. Characteristics of different organization types Centralized Organizations Focused onTechnology Layers • Product Monoliths • Simple change requires extensive coordination across all of the layers • Business logic is spread everywhere because it’s easier to bury it in the layer you own • No real ownership Distributed Organizations Focused on products • Produce Microservices • SmallTeams can make any change they want to an individual microservice • Architecture clean because developers have 100% control • True ownership
  • 21. Standardize where it makes sense Teams do not have 100% freedomDevelopmentTooling SourceControl ConfigurationManagement Data Format Communication Protocol Alerting Monitoring Custom Code Programming Language Messaging Data Store Infrastructure Team Has Complete Choice Offer a menu of 2-3 options Standardize on One
  • 22. Benefits of Microservices • Easier to understand and develop • Faster to build and deploy • Reduced startup time • Scales development: Develop, deploy and scale each service independently • Improves fault isolation • Eliminates long-time commitment to a technology stack • Microservice => something that could be rewritten in two weeks • Decentralized Governance
  • 25. Example: process of creating new customer
  • 26. Orchestration Downside of this approach • Customer service can become too much of a central governing authority • Extremely brittle • Higher cost of change
  • 28. Event driven architecture and Eventual Consistency • Application has to handle eventually consistent data • Application has to handle duplicate events • How to generate events? • Atomically publish an event since there could be failures
  • 29. Event Sourcing • An event-centric approach to designing domain models • Request becomes a command that is sent to anAggregate • Aggregates handle commands by generating events • Apply events to an aggregate to update state • Persist events NOT state • Replay events to recreate the current state of an aggregate • Event Store = database + message broker
  • 32. DevOPS Principle Cultural movement enabled by technology Dev Paid to add new feature OPS Paid to keep system stable, fast and available DevOPS
  • 34. Rules of distributed computing CAP Theorm – pick any two Theory C Consistency A Availability Pick Any Two P Partition Tolerance • Consistency • Each node shows the same data all times • Availability • Each node is available for writes at all times • PartitionTolerance • Able to handle network outages Practice • PickA or P • Partition tolerance is non-negotiable because we have networks that can always fails • Enterprise IT Systems • Often CP • Microservices Systems • Often AP
  • 36. Impedence mismatch problem in RDBMS • We want to show and store in two different ways
  • 37. SQL was designed to run in a single big boxes • It doesn’t work very well with large clusters • Too much of operations involved in maintaining large clusters • Many gave up designing large relational clusters
  • 38. NoSQL • It is cluster friendly • Non-relational • Schema-less
  • 39. NoSQL - Implicit schema • Build relationship out of the implicit schema
  • 40. NoSQL - Advantages • Aggregate oriented database • Store Every aggregate as a single unit • Aggregate storage is useful when it is stored in clusters • Runs efficiently in clusters and way more straightforward
  • 41. Scalability and Performance (NoSQL vs RDBMS)
  • 42. Polyglot persistence • Polyglot persistence is all about choosing the right persistence option for the task at hand • Polyglot persistence is needed since the volume of data is exploding • What options do we have? • RDBMS • Document Stores • Key-Value pairs • BLOB Storage • Table Storage • Graph DBs • Message Queues
  • 43. Fault Tolerance • FaultTolerance is a Requirement, Not a Feature • Network timeouts and retries • Using Semaphores to control resource usage • Circuit breakers
  • 44. Automated Failure Testing • Chaos Monkey • A tool that randomly disables our production instances to make sure we can survive this common type of failure without any customer impact • Latency Monkey • Induces artificial delays in our RESTful client-server communication layer to simulate service degradation and measures if upstream services respond appropriately • Conformity Monkey • Finds instances that don’t adhere to best-practices and shuts them down • Doctor Monkey • Taps into health checks that run on each instance as well as monitors other external signs of health (e.g. CPU load) to detect unhealthy instances. • Once unhealthy instances are detected, they are removed from service and after giving the service owners time to root-cause the problem, are eventually terminated. • Janitor Monkey • Ensures that our cloud environment is running free of clutter and waste. It searches for unused resources and disposes of them. • Chaos Gorilla • is similar to Chaos Monkey, but simulates an outage of an entire Cloud availability zone
  • 45. Emerging Technologies • Service Fabric • Distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable micro services • VMs, Containers, and Processes • Windows Server 2016 – Has container support
  • 46. IoT Cloud Service Platform
  • 47. IoT Domain Modeling • Difficult to conceive domain modelling in IoT
  • 49. No longer a single base URL Browser Content Router Products UI Checkout UI Order Management UI Account Management UI /products /checkout /Orders /account http://acme.com/<service>
  • 50. Partitioned Web Application Browser Content Router Products UI Checkout UI Order Management UI Account Management UI /checkout /Orders /account http://acme.com/<service> API Gateway REST Client Products Info Service Recommendation service Review Service Order Service Service Registry 1. Single Entry Point 2. Protocol Translation 3. Reduces chatty network calls Microservice s Registers when they startup
  • 51. Execution Strategy • Identify one microservice for POC • Write interface specification for the microservice (Swagger) • Identify the core services needed for implementing one microservice • Implement core services • Develop one microservice and make it as reference implementation for other teams • Demo DevOPS • Demo Fault isolation and Fault tolerance