SlideShare a Scribd company logo
Platform
Technical Architecture
Hello!
I am DAVE
I have lots of letters after my name and many years
of experience in getting stuff done.
You can find me at @d_bones
Architecture
I like how Simon Brown describes this:
Vision
The process of architecting making
(significant) design decisions etc.
Structure
The definition of something in terms of its
components and interactions.
4+1 Architecture
Today we will look at the physical view, aka deployment architecture.
Pipelines
Quick overview of some pipelines which are associated to the
platform.
:)
Pipelines
Development
Code
Build
Deploy
Infrastructure
Define
Deploy
Maintenance
Backup
Scale & Monitor
Development pipeline
Simple overview of a build to deployment pipeline. Note that when deployment a compiled artifact,
you may deploy this to a number of environments (test, prod, etc).
Platform
30,000 feet view of a cloud platform.
#
Overview
Check out my slides on Principals, as this will play into any decision making.
This contains an overview of components to
◇ Build
◇ Deploy
◇ Host / Run
◇ Monitor
a set of application services.
Platform overview
From Code -> Running
Solution
Development
From code to deploying onto the platform.
Source Control
Centralised location to store your code, with support for master and feature branch development.
Features
◇ Webhook support
◇ 3rd party integrations
◇ Code Collaboration
◇ Code Review
◇ Branches
◇ Revision History
◇ Secure (2FA?, encryption etc)
◇ Workflow support
Solutions
◇ Bitbucket
◇ Github
◇ VSTS
◇ GitLab
◇ ...
https://www.git-tower.com/blog/git-hosting-services-compared/
Standards
◇ Git
◇ Mercurial (HG)
◇ Subversion (SVN)
Build Service
Continuous Integration is key to automate the creation of a build artifact. This artifact will be deployed
onto an artifact server such as Docker Hub, NPM etc.
Features
◇ Webhook support
◇ 3rd party integrations
◇ OS Support
◇ Stack support
◇ Source Control Branch Support
◇ Build pipelines
◇ Configuration with code
◇ Clean isolated agent
◇ Parallel test running
◇ Build History / Reports
◇ Run locally
◇ Secure
◇ Workflow support
Solutions
◇ Bamboo
◇ Jenkins
◇ VSTS Build
◇ Travis CI
◇ AppVeyor
◇ Circle Ci
◇ Drone IO
◇ Shippable
◇ Wercker CI
◇ TeamCity
◇ ...
Standards (during build)
◇ Not really, at a pinch
◇ YAML
◇ Docker
Component Standards
◇ NPM
◇ Bower
◇ Docker
◇ Maven
◇ Nuget
◇ Gems
◇ ...
Artifact Store
Stores the compiled artifact, which has been tested to a degree. Ready to be consumed directly by the
developer / build server (library component) or deployed via the deployment service (application,
middleware)
Features
◇ Webhook support
◇ 3rd party integrations
◇ Secure (encryption)
◇ Fast network
◇ Store multiple version
Solutions
◇ Docker Hub
◇ Quay IO
◇ Nuget
◇ MyGet
◇ NPM
◇ Artifactory
◇ BitBucket (Releases)
◇ GitHub (Releases)
◇ ...
Standards
◇ NPM
◇ Bower
◇ Docker
◇ Maven
◇ Nuget
◇ Gems
◇ Zip / Tar
◇ ...
Deploy Service
Automate deploying an artifact to an environment. (This is different to a CI server responsibility)
In some cases you may need to automate the creation of a temporary environment (e2e testing)
Features
◇ Webhook support
◇ 3rd party integrations
◇ OS Support
◇ Automated deployments
◇ Multiple environment support
◇ Environment definitions
◇ Environment overview
◇ Environment configuration
◇ Approval Workflow support
◇ Scripting
◇ Secure
Solutions
◇ Bamboo
◇ Jenkins
◇ VSTS Release
◇ Shippable
◇ BuildMaster
◇ Octopus Deploy
◇ …
Standards
◇ WebDeploy
◇ Docker
Platform
Management
Creating servers and hosting
applications/services.
IaaS (PaaS*)
Creating networks and servers on demand to host your services, with availability and scale sets.
Use of particular platform services (remember platform vendor lock in.).
Note you can span your platform across more than one IaaS, uses the best parts from any provider.
Features
◇ API & Webhook support
◇ 3rd party integrations
◇ OS Support
◇ Bare Metal / Virtual Machines
◇ Networking
◇ Firewalls
◇ VPN
◇ Hardware SSD / RAM / CPU’s
◇ Availability / Scale sets
◇ Multiple Data Centers
◇ Secure
Solutions
◇ Azure
◇ AWS
◇ RackSpace
◇ Digital Ocean
◇ Google Cloud Engine
◇ …
Interesting solution:
operations-management-suite
Standards
◇ None?
IaaS (Provision Scripts)
Infrastructure as Code.
Provision the Network and Servers, with correctly configured Availability and Scale sets. Note that the
servers will be provisioned with the Orchestrators Agents installed onto them.
Features
◇ Create Servers
◇ Create Networks
Solutions
◇ Terraform
◇ Ansible
◇ Azure Resource Manager
◇ ...
Standards
◇ None?
Orchestrator
Coordinates deployment and continuous running of services on the platform (servers). This is basically
the hosting platform.
Note that these solutions will be used to deliver other parts of the platform components.
Features
◇ API & Webhook support
◇ 3rd party integrations
◇ OS Support
◇ SDN - Cross host networking
◇ Multiple environments
◇ High Availability
■ Auto Healing
■ Health Monitoring
◇ Rolling upgrades
◇ Fast startup and shutdown
◇ Scaling services
◇ Service placement
◇ High Density
◇ Hyper convergence (VM’s too)
Solutions - Container based
◇ Rancher
◇ Kubernetes
◇ Docker Swarm
◇ …
Solutions - alternative
◇ Service Fabric
Standards
◇ Docker
Configuration / Vault
A component to securely store application secrets. These can then be accessed during deployment
and during the application running.
Depending on the component used it will impact the overall solution architecture.
Features
◇ API support
◇ 3rd party integrations
◇ Securely store values
◇ Securely store encryption keys
Solutions - Value
◇ Hashi Vault
◇ Consul
Solutions - HSM Keys
◇ AWS Key Management Service
◇ Azure Key Vault
Solutions - Values @ deployment
◇ MS Release
◇ ...
Standards
◇ None?
Service Support
Knowing what is going on, so we can
re-act accordingly
Logging
Centralised logging service is key to spot and find errors which can occur for a service being hosted on
several machines, or for several service on a single machine.
Features
◇ API support
◇ 3rd party integrations
◇ Dashboard
◇ Easy Log filtering & sorting
■ By service
■ By host
■ By severity
◇ Store log entry details
◇ Automatically manage storage
◇ Live log feed
◇ Alerts
◇ Collect logs from all your
components
Solutions
◇ ELK stack
◇ LogEntries
◇ Loggly
◇ ...
Standards
◇ Log4Net
◇ Winston
Monitoring
Knowing that our platform is healthy and being alerted immediately when it is not.
Gain understanding and trend insight of our services.
Interestingly many components will provide partly to this, however we need a central view of our
estate, which could be spanning several data centers across several IaaS providers.
Features
◇ API support
◇ 3rd party integrations
◇ Dashboards
◇ APM
◇ End user monitoring
■ Mobile
■ Browser
◇ Infrastructure Visibility
◇ Database and Queues
monitoring
◇ Application analytics
◇ Alerts
Solutions
◇ ELK stack
◇ New Relic
◇ SysDig cloud
◇ DataDog
◇ Dynatrace
◇ Appdynamics
◇ MS Operations management
suite
◇ Prometheus
◇ Icinga 2
◇ StatusPage IO
◇ Pingdom
◇ ...
Standards
◇ Stats D
◇ HTTP
Platform services
Services which your application will use
directly
Service Discovery
AKA Service Registry. This component is a lookup for all hosted services and their instances.
As an orchestrator manages the deployment and running of services, they normally a service
discovery solution.
Features
◇ API support
◇ Holds the location of all active
service instance
◇ High availability
Solutions
◇ Etcd
◇ Zoo Keeper
◇ Consul
◇ DNS
◇ Message Broker
Solutions - orchestrator
◇ Rancher - DNS (changeable)
◇ Kubernetes - Env Var / DNS
◇ Docker Swarm - DNS
◇ …
Standards
◇ DNS
http://dbones.github.io/2016/01/service-discovery/
Load Balancing
Requests being shared across multiple instances of a service.
As an orchestrator manages the deployment and running of services, they normally include some form
of load balancer
Features
◇ API support
◇ Holds the location of all active
service instance
◇ High availability
◇ Session affinity
◇ Round robin
◇ SSL Termination
Solutions
◇ HA Proxy
◇ Nginx
◇ DNS
Solutions - orchestrator
◇ Rancher - HA Proxy / DNS /
custom
◇ Kubernetes - Kube-Proxy
/custom
◇ Docker Swarm internal /
custom
Standards
◇ DNS
◇ Layer 4 and 7 OSI
http://dbones.github.io/2016/01/service-discovery/
https://www.nginx.com/resources/glossary/layer-4-load-balancing/
Possible setup
To the cloud!
Set your strategy
◇ Confirm your Goals, Principles and Constraints.
◇ Apply basic research to get a candidate list of
components (put the logo against each component
in the platform diagram).
◇ Note which candidates are tactical or strategic.
◇ Run a number of POC’s and Technology Adoption
Processes on the the candidates.
◇ Retrospect on your choices and evolve.
Example platform
Thanks!
Any questions?
You can find me at:
◇ @d_bones
◇ dbones.co.uk

More Related Content

What's hot (20)

PPT
Criteria For EA Tool Selection
Maganathin Veeraragaloo
 
PDF
Togaf 9.1 basic concepts
Mohamed Zakarya Abdelgawad
 
PPT
What Is An Architectural Framework
Jerald Burget
 
PPT
DoD Architecture Framework Overview
Alessio Mosto
 
PDF
Togaf 9.1 architecture
Narayan Sau
 
PPT
Beyond a Product View of Architecture
Nathaniel Palmer
 
PPTX
Practical Enterprise Architecture in Medium-size Corporation using TOGAF
Michael Sukachev
 
PPT
Enterprise Architecture Frameworks
Stephen Lahanas
 
PPTX
TOGAF
Ahmed Gamil
 
PDF
Dpbok context i
Mohamed Zakarya Abdelgawad
 
PDF
Architecture Specification - Visual Modeling Tool
Adriaan Venter
 
PPT
EA Workshop 1
Tony Toole
 
PPTX
IT6701-Information Management Unit 1
SIMONTHOMAS S
 
DOC
Architecture Document Template
Pierre-Marie Delpech
 
PPTX
unit 5 Architectural design
devika g
 
PPT
24 dssa and_product_lines
Majong DevJfu
 
PPTX
Software Architecture: Why and What?
Chris F Carroll
 
PDF
Enterprise architecture
sandeep gosain
 
PDF
TOGAF 9 Soa Governance Ver1 0
Maganathin Veeraragaloo
 
PPT
Architecting Enterprise BPM Systems for Optimal Agility
Nathaniel Palmer
 
Criteria For EA Tool Selection
Maganathin Veeraragaloo
 
Togaf 9.1 basic concepts
Mohamed Zakarya Abdelgawad
 
What Is An Architectural Framework
Jerald Burget
 
DoD Architecture Framework Overview
Alessio Mosto
 
Togaf 9.1 architecture
Narayan Sau
 
Beyond a Product View of Architecture
Nathaniel Palmer
 
Practical Enterprise Architecture in Medium-size Corporation using TOGAF
Michael Sukachev
 
Enterprise Architecture Frameworks
Stephen Lahanas
 
Architecture Specification - Visual Modeling Tool
Adriaan Venter
 
EA Workshop 1
Tony Toole
 
IT6701-Information Management Unit 1
SIMONTHOMAS S
 
Architecture Document Template
Pierre-Marie Delpech
 
unit 5 Architectural design
devika g
 
24 dssa and_product_lines
Majong DevJfu
 
Software Architecture: Why and What?
Chris F Carroll
 
Enterprise architecture
sandeep gosain
 
TOGAF 9 Soa Governance Ver1 0
Maganathin Veeraragaloo
 
Architecting Enterprise BPM Systems for Optimal Agility
Nathaniel Palmer
 

Viewers also liked (20)

PPT
Docker introduction
Phuc Nguyen
 
PPTX
Risk management
hussnain ali
 
PPTX
Persistence in the cloud with bosh
m_richardson
 
PPTX
Reversing malware analysis training part3 windows pefile formatbasics
Cysinfo Cyber Security Community
 
PPTX
You know, for search
Peter van der Weerd
 
PDF
Aws + Puppet = Dynamic Scale
Puppet
 
PPT
Introduction to smpc
Cysinfo Cyber Security Community
 
PDF
AWS + Puppet = Dynamic Scale
Shiva Narayanaswamy
 
PPTX
Expect the unexpected: Anticipate and prepare for failures in microservices b...
Bhakti Mehta
 
PDF
Astricon 2016 - Scaling ARI and Production
Dan Jenkins
 
DOC
Retelling nonfiction
Emily Kissner
 
PPTX
Fostering a Culture of Analytics
Alex Welch
 
PPTX
e-Extortion Trends and Defense
Erik Iker
 
PDF
Gartner 2017 London: How to re-invent your IT Architecture?
LeanIX GmbH
 
PPTX
Software Architectures, Week 3 - Microservice-based Architectures
Angelos Kapsimanis
 
PPTX
Reversing malware analysis training part2 introduction to windows internals
Cysinfo Cyber Security Community
 
PDF
Application Deployment at UC Riverside
Michael Kennedy
 
PPTX
What does "monitoring" mean? (FOSDEM 2017)
Brian Brazil
 
PPTX
CloudStack EU user group - Trillian
ShapeBlue
 
Docker introduction
Phuc Nguyen
 
Risk management
hussnain ali
 
Persistence in the cloud with bosh
m_richardson
 
Reversing malware analysis training part3 windows pefile formatbasics
Cysinfo Cyber Security Community
 
You know, for search
Peter van der Weerd
 
Aws + Puppet = Dynamic Scale
Puppet
 
Introduction to smpc
Cysinfo Cyber Security Community
 
AWS + Puppet = Dynamic Scale
Shiva Narayanaswamy
 
Expect the unexpected: Anticipate and prepare for failures in microservices b...
Bhakti Mehta
 
Astricon 2016 - Scaling ARI and Production
Dan Jenkins
 
Retelling nonfiction
Emily Kissner
 
Fostering a Culture of Analytics
Alex Welch
 
e-Extortion Trends and Defense
Erik Iker
 
Gartner 2017 London: How to re-invent your IT Architecture?
LeanIX GmbH
 
Software Architectures, Week 3 - Microservice-based Architectures
Angelos Kapsimanis
 
Reversing malware analysis training part2 introduction to windows internals
Cysinfo Cyber Security Community
 
Application Deployment at UC Riverside
Michael Kennedy
 
What does "monitoring" mean? (FOSDEM 2017)
Brian Brazil
 
CloudStack EU user group - Trillian
ShapeBlue
 
Ad

Similar to Platform - Technical architecture (20)

PDF
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Stuart Charlton
 
PDF
DevOps and BigData Analytics
sbbabu
 
PDF
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
DiUS
 
PPTX
Cloud Native Summit 2019 Summary
Everett Toews
 
ODP
The journey to container adoption in enterprise
Igor Moochnick
 
PDF
[WSO2Con Asia 2018] Architecting for Container-native Environments
WSO2
 
PPTX
Cloud Services Powered by IBM SoftLayer and NetflixOSS
aspyker
 
PPTX
Open stack in sina
Hui Cheng
 
PPTX
Some Advanced OpenStack Overview Document
TrungPhamVan10
 
PDF
Newt global meetup microservices
Venkatnadhan Thirunalai
 
PPTX
OpenStack: Why Is It Gaining So Much Traction?
mestery
 
PPTX
.NET microservices with Azure Service Fabric
Davide Benvegnù
 
PDF
Netflix Architecture and Open Source
All Things Open
 
PDF
Microservices architecture: practical aspects
Antonio Sagliocco
 
PDF
Building a smarter application Stack by Tomas Doran from Yelp
dotCloud
 
PDF
Building a smarter application stack - service discovery and wiring for Docker
Tomas Doran
 
PDF
Building a Smarter Application Stack
Docker, Inc.
 
PPT
Docker Based Hadoop Provisioning
DataWorks Summit
 
PDF
[WSO2Con USA 2018] Architecting for Container-native Environments
WSO2
 
PDF
Txlf2012
Joe Brockmeier
 
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Stuart Charlton
 
DevOps and BigData Analytics
sbbabu
 
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
DiUS
 
Cloud Native Summit 2019 Summary
Everett Toews
 
The journey to container adoption in enterprise
Igor Moochnick
 
[WSO2Con Asia 2018] Architecting for Container-native Environments
WSO2
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
aspyker
 
Open stack in sina
Hui Cheng
 
Some Advanced OpenStack Overview Document
TrungPhamVan10
 
Newt global meetup microservices
Venkatnadhan Thirunalai
 
OpenStack: Why Is It Gaining So Much Traction?
mestery
 
.NET microservices with Azure Service Fabric
Davide Benvegnù
 
Netflix Architecture and Open Source
All Things Open
 
Microservices architecture: practical aspects
Antonio Sagliocco
 
Building a smarter application Stack by Tomas Doran from Yelp
dotCloud
 
Building a smarter application stack - service discovery and wiring for Docker
Tomas Doran
 
Building a Smarter Application Stack
Docker, Inc.
 
Docker Based Hadoop Provisioning
DataWorks Summit
 
[WSO2Con USA 2018] Architecting for Container-native Environments
WSO2
 
Txlf2012
Joe Brockmeier
 
Ad

Recently uploaded (20)

PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
The Future of Artificial Intelligence (AI)
Mukul
 
introduction to computer hardware and sofeware
chauhanshraddha2007
 

Platform - Technical architecture

  • 2. Hello! I am DAVE I have lots of letters after my name and many years of experience in getting stuff done. You can find me at @d_bones
  • 3. Architecture I like how Simon Brown describes this: Vision The process of architecting making (significant) design decisions etc. Structure The definition of something in terms of its components and interactions.
  • 4. 4+1 Architecture Today we will look at the physical view, aka deployment architecture.
  • 5. Pipelines Quick overview of some pipelines which are associated to the platform. :)
  • 7. Development pipeline Simple overview of a build to deployment pipeline. Note that when deployment a compiled artifact, you may deploy this to a number of environments (test, prod, etc).
  • 8. Platform 30,000 feet view of a cloud platform. #
  • 9. Overview Check out my slides on Principals, as this will play into any decision making. This contains an overview of components to ◇ Build ◇ Deploy ◇ Host / Run ◇ Monitor a set of application services.
  • 11. Solution Development From code to deploying onto the platform.
  • 12. Source Control Centralised location to store your code, with support for master and feature branch development. Features ◇ Webhook support ◇ 3rd party integrations ◇ Code Collaboration ◇ Code Review ◇ Branches ◇ Revision History ◇ Secure (2FA?, encryption etc) ◇ Workflow support Solutions ◇ Bitbucket ◇ Github ◇ VSTS ◇ GitLab ◇ ... https://www.git-tower.com/blog/git-hosting-services-compared/ Standards ◇ Git ◇ Mercurial (HG) ◇ Subversion (SVN)
  • 13. Build Service Continuous Integration is key to automate the creation of a build artifact. This artifact will be deployed onto an artifact server such as Docker Hub, NPM etc. Features ◇ Webhook support ◇ 3rd party integrations ◇ OS Support ◇ Stack support ◇ Source Control Branch Support ◇ Build pipelines ◇ Configuration with code ◇ Clean isolated agent ◇ Parallel test running ◇ Build History / Reports ◇ Run locally ◇ Secure ◇ Workflow support Solutions ◇ Bamboo ◇ Jenkins ◇ VSTS Build ◇ Travis CI ◇ AppVeyor ◇ Circle Ci ◇ Drone IO ◇ Shippable ◇ Wercker CI ◇ TeamCity ◇ ... Standards (during build) ◇ Not really, at a pinch ◇ YAML ◇ Docker Component Standards ◇ NPM ◇ Bower ◇ Docker ◇ Maven ◇ Nuget ◇ Gems ◇ ...
  • 14. Artifact Store Stores the compiled artifact, which has been tested to a degree. Ready to be consumed directly by the developer / build server (library component) or deployed via the deployment service (application, middleware) Features ◇ Webhook support ◇ 3rd party integrations ◇ Secure (encryption) ◇ Fast network ◇ Store multiple version Solutions ◇ Docker Hub ◇ Quay IO ◇ Nuget ◇ MyGet ◇ NPM ◇ Artifactory ◇ BitBucket (Releases) ◇ GitHub (Releases) ◇ ... Standards ◇ NPM ◇ Bower ◇ Docker ◇ Maven ◇ Nuget ◇ Gems ◇ Zip / Tar ◇ ...
  • 15. Deploy Service Automate deploying an artifact to an environment. (This is different to a CI server responsibility) In some cases you may need to automate the creation of a temporary environment (e2e testing) Features ◇ Webhook support ◇ 3rd party integrations ◇ OS Support ◇ Automated deployments ◇ Multiple environment support ◇ Environment definitions ◇ Environment overview ◇ Environment configuration ◇ Approval Workflow support ◇ Scripting ◇ Secure Solutions ◇ Bamboo ◇ Jenkins ◇ VSTS Release ◇ Shippable ◇ BuildMaster ◇ Octopus Deploy ◇ … Standards ◇ WebDeploy ◇ Docker
  • 16. Platform Management Creating servers and hosting applications/services.
  • 17. IaaS (PaaS*) Creating networks and servers on demand to host your services, with availability and scale sets. Use of particular platform services (remember platform vendor lock in.). Note you can span your platform across more than one IaaS, uses the best parts from any provider. Features ◇ API & Webhook support ◇ 3rd party integrations ◇ OS Support ◇ Bare Metal / Virtual Machines ◇ Networking ◇ Firewalls ◇ VPN ◇ Hardware SSD / RAM / CPU’s ◇ Availability / Scale sets ◇ Multiple Data Centers ◇ Secure Solutions ◇ Azure ◇ AWS ◇ RackSpace ◇ Digital Ocean ◇ Google Cloud Engine ◇ … Interesting solution: operations-management-suite Standards ◇ None?
  • 18. IaaS (Provision Scripts) Infrastructure as Code. Provision the Network and Servers, with correctly configured Availability and Scale sets. Note that the servers will be provisioned with the Orchestrators Agents installed onto them. Features ◇ Create Servers ◇ Create Networks Solutions ◇ Terraform ◇ Ansible ◇ Azure Resource Manager ◇ ... Standards ◇ None?
  • 19. Orchestrator Coordinates deployment and continuous running of services on the platform (servers). This is basically the hosting platform. Note that these solutions will be used to deliver other parts of the platform components. Features ◇ API & Webhook support ◇ 3rd party integrations ◇ OS Support ◇ SDN - Cross host networking ◇ Multiple environments ◇ High Availability ■ Auto Healing ■ Health Monitoring ◇ Rolling upgrades ◇ Fast startup and shutdown ◇ Scaling services ◇ Service placement ◇ High Density ◇ Hyper convergence (VM’s too) Solutions - Container based ◇ Rancher ◇ Kubernetes ◇ Docker Swarm ◇ … Solutions - alternative ◇ Service Fabric Standards ◇ Docker
  • 20. Configuration / Vault A component to securely store application secrets. These can then be accessed during deployment and during the application running. Depending on the component used it will impact the overall solution architecture. Features ◇ API support ◇ 3rd party integrations ◇ Securely store values ◇ Securely store encryption keys Solutions - Value ◇ Hashi Vault ◇ Consul Solutions - HSM Keys ◇ AWS Key Management Service ◇ Azure Key Vault Solutions - Values @ deployment ◇ MS Release ◇ ... Standards ◇ None?
  • 21. Service Support Knowing what is going on, so we can re-act accordingly
  • 22. Logging Centralised logging service is key to spot and find errors which can occur for a service being hosted on several machines, or for several service on a single machine. Features ◇ API support ◇ 3rd party integrations ◇ Dashboard ◇ Easy Log filtering & sorting ■ By service ■ By host ■ By severity ◇ Store log entry details ◇ Automatically manage storage ◇ Live log feed ◇ Alerts ◇ Collect logs from all your components Solutions ◇ ELK stack ◇ LogEntries ◇ Loggly ◇ ... Standards ◇ Log4Net ◇ Winston
  • 23. Monitoring Knowing that our platform is healthy and being alerted immediately when it is not. Gain understanding and trend insight of our services. Interestingly many components will provide partly to this, however we need a central view of our estate, which could be spanning several data centers across several IaaS providers. Features ◇ API support ◇ 3rd party integrations ◇ Dashboards ◇ APM ◇ End user monitoring ■ Mobile ■ Browser ◇ Infrastructure Visibility ◇ Database and Queues monitoring ◇ Application analytics ◇ Alerts Solutions ◇ ELK stack ◇ New Relic ◇ SysDig cloud ◇ DataDog ◇ Dynatrace ◇ Appdynamics ◇ MS Operations management suite ◇ Prometheus ◇ Icinga 2 ◇ StatusPage IO ◇ Pingdom ◇ ... Standards ◇ Stats D ◇ HTTP
  • 24. Platform services Services which your application will use directly
  • 25. Service Discovery AKA Service Registry. This component is a lookup for all hosted services and their instances. As an orchestrator manages the deployment and running of services, they normally a service discovery solution. Features ◇ API support ◇ Holds the location of all active service instance ◇ High availability Solutions ◇ Etcd ◇ Zoo Keeper ◇ Consul ◇ DNS ◇ Message Broker Solutions - orchestrator ◇ Rancher - DNS (changeable) ◇ Kubernetes - Env Var / DNS ◇ Docker Swarm - DNS ◇ … Standards ◇ DNS http://dbones.github.io/2016/01/service-discovery/
  • 26. Load Balancing Requests being shared across multiple instances of a service. As an orchestrator manages the deployment and running of services, they normally include some form of load balancer Features ◇ API support ◇ Holds the location of all active service instance ◇ High availability ◇ Session affinity ◇ Round robin ◇ SSL Termination Solutions ◇ HA Proxy ◇ Nginx ◇ DNS Solutions - orchestrator ◇ Rancher - HA Proxy / DNS / custom ◇ Kubernetes - Kube-Proxy /custom ◇ Docker Swarm internal / custom Standards ◇ DNS ◇ Layer 4 and 7 OSI http://dbones.github.io/2016/01/service-discovery/ https://www.nginx.com/resources/glossary/layer-4-load-balancing/
  • 28. Set your strategy ◇ Confirm your Goals, Principles and Constraints. ◇ Apply basic research to get a candidate list of components (put the logo against each component in the platform diagram). ◇ Note which candidates are tactical or strategic. ◇ Run a number of POC’s and Technology Adoption Processes on the the candidates. ◇ Retrospect on your choices and evolve.
  • 30. Thanks! Any questions? You can find me at: ◇ @d_bones ◇ dbones.co.uk

Editor's Notes

  • #8: Consider how you achieve blue/green deployments, and apply database migrations.
  • #11: This is a generic platform which covers components which are used to devops your solution. Image from dbones.github.io
  • #12: pexels
  • #16: Recommend not to use a CI for deployment.
  • #17: Image from freepik
  • #18: Consider PaaS services. But you have to consider what your application architecture is as well. Microsoft Operations-management-suite <- need to understand more.
  • #19: Consider PaaS services. But you have to consider what your application architecture is as well.
  • #20: Note that these tools cover over section of the landscape. Service Discovery, load balancing etc Take advantage of the SDN.
  • #21: Very hard
  • #22: Image from pexels
  • #24: http://www.riverbed.com/gb/forms/Riverbed-SteelCentral-named-a-challenger-in-Gartners-2015-Magic-Quadrant-for-APM.html?cid=70133000000e6gh&utm_source=google&utm_medium=cpc&utm_campaign=AppInternals&utm_term=Apm&utm_content=Search%20-%20SteelCentral%20-%20APM%20%20-%20EMEA&gclid=COfDtrGXrs8CFeMy0wod8GAJ2Q
  • #25: Image from dbones.github.io
  • #27: https://freeloadbalancer.com/load-balancing-layer-4-and-layer-7/