SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Monoliths, Myths, and
Microservices
Michael Ducy - Chef
@mfdii
A quick refresher
• Let’s define microservices:
The term "Microservice Architecture" has sprung up over the last few years to describe
a particular way of designing software applications as suites of independently
deployable services. While there is no precise definition of this architectural style,
there are certain common characteristics around organization around business
capability, automated deployment, intelligence in the endpoints, and decentralized
control of languages and data.
http://www.martinfowler.com/articles/microservices.html
http://www.martinfowler.com/articles/microservices.html
Myth #1: Simpsons Did It
I did that in 2005, yawn
Stop, It’s not SOA
• Services tend to have smaller concerns than SOA Services
• Architectural Concepts incorporates Innovations:
– In Infrastructure
– In Automation
– In Continuous Delivery
– In Development
– In Monitoring
http://www.martinfowler.com/articles/microservices.html
Myth #2: MicroServices
Only Need Apply
Myth #2: Microservices
Only Need Apply
“Microservices is the only architectural pattern we need”
• Microservices introduces complexity in operations
– Pay down the complexity first?
– Pay it down later (technical debt)
• What if your idea doesn’t work?
• What if your project is scrapped?
Myth #2: Microservices
Only Need Apply
• Be Lean in your thinking
• Often faster to start developing in a non microservices architecture
– Componentize your application
– Split later
• You don’t have a scaling problem, yet
– But you might later, then look at microservices
Myth #3: Everything’s solved by
containers and microservices
http://www.martinfowler.com/articles/microservices.html
Myth #3: Everything’s solved by
containers and microservices
• Containers fit very well with the microservices model
– Serverless might fit even better!
• Great for your Application Logic
• Stateless!
Myth #3: Everything’s solved by
containers and microservices
http://www.martinfowler.com/articles/microservices.html
Myth #3: Everything’s solved by
containers and microservices
Myth #3: Everything’s solved by
containers and microservices
• Great for your Application Logic
• Not (always) great for your data
• Data tier needs to be managed
– VMs, Config Management
– StatefulSets (Kubernetes)
– Mesosphere (more than Containers)
– Cloud Services
• Data tier need to be “Self Service”
– Like AWS RDS, etc
Myth #4: Anyone can
do Microservices
Myth #4: Anyone can
do Microservices
• Anyone except your organization
• Have you adopted:
– Continuous Integration?
– Continuous Delivery?
– Infrastructure As Code?
– Modern Monitoring and log aggregation?
– Cloud?
– Fiction-less Change Management?
Myth #4: Anyone can
do Microservices
Microservices won’t fix:
– Your broken culture
– Your lack of modernization
– Your broken process
– Your ineffective org chart
Because Conway’s Law
http://www.martinfowler.com/articles/microservices.html
Because Conway’s Law
http://www.martinfowler.com/articles/microservices.html
Myth #5: I shouldn’t do microservices
Myth #5: I shouldn’t do microservices
Myth #5: I shouldn’t do microservices
• What got you here won’t get you there.
• Forcing function to modernize
– Continuous Integration
– Continuous Delivery
– Infrastructure As Code and Automation
– Modern Monitoring and log aggregation
– Cloud
– Containers
– Fiction-less Change Management
Guiding Microservices Principles
• Componentization via Services
• Intelligence in the end point
• Decentralization
• Automated deployments
Modern/Cloud Native Arch
● Reduces developers concerns of underlying infrastructure
● Follows principles of Twelve-Factor applications
● Automation designed to handle deployment, scaling, and failure
scenarios
Enter...Habitat
Stateless vs Stateful
STATELESS APPLICATIONS
● Great for PaaS or Containers
● Application instances are
“Ephemeral”
● Relies on backend services via an
API for data storage
● Operational logic built into the
application code
STATEFUL APPLICATIONS OR SERVICES
● Provides persistent storage
● Provides required services for
stateless applications
● Operational logic handled at
OS/infrastructure layer
For new and legacy
applications.
For stateless and
stateful applications
No matter the
runtime environment
Habitat’s Approach
The solution should be the same:
● Applications: portable & responsible for their own automation
● Small OS serves the application
● Make application components aware of each other over a network
● Continuous deployment without traditional “ARA”
Habitat’s technology
● Describes how to build
the software
● Explicit about
dependencies
● Includes what is
configurable about the
application
● Built in service
discovery
● Self-organizes into
topologies
● Handles inter-service
discovery through
binding
● Has no single point of
failure
BUILD DEPLOY MANAGE
● Encrypted,
authenticated run-time
configuration
● Automatic, safe,
atomic software
updates
● Dynamic topology
updates
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
USER ARTIFACT
How we do it
Packaging Applications
Running Applications
PLAN DEPOT
DEPOT ARTIFACT
BARE METAL
CONTAINERS
AMI
VM
How we do it
LEADER
INITIALIZER
STAND ALONE
Topologies Update StrategyRunning Applications
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
“ALL AT ONCE”
ARTIFACT DEPOT
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
How we do it
Security
PUB KEY
SYMMETRIC ENCRYPTION
LOAD BALANCER
Build Service
BUILD
SERVICE
USER
SECRET
PAYLOADS
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
SERVICE
SUPERVISOR
ARTIFACTPLAN DEPOT
What the modern application team gets
▪ Runs the same way in any
environment
▪ Management travels with
the application; no drift
▪ Autonomous and
self-organizing
▪ Legacy and Greenfield
▪ Lets the enterprise
modernize without
re-writing the world
▪ Faster to build, easier to
deploy, safer to manage
▪ Easiest way to deploy
containers and
microservices in
production
▪ Developers can focus on
building great applications
▪ Systems Administrators can
focus on how those
applications should behave
▪ Gives both a language they
can share, with clear
boundaries
Simplification Acceleration Empowerment
Habitat + Containers
● Container formats recreate the
traditional model of infrastructure and
applications.
● Poor at abstracting the Build + Run
aspects of Applications
Libraries
Operating System
Application
Application &
Libraries
● Habitat builds containers from the
application down
● Small lightweight OS included
● Embedded Supervisor for Application
Management
Application Libraries
OS
Demo!
CfgMgmtCamp Talks
Monday
● Containers 14:00 - Monoliths, Myths, and Microservices
● Containers 16:20 - An upside-down Exploration of App
Automation with Habitat
Tuesday
● Main Track 14:00 - Operating Systems are Assholes
● Future Tooling - 14:40 - Now That I Have
Choreography, What Can I Do With It?
Come contribute!
• Write a plan for an application
https://github.com/habitat-sh/core-plans
• Contribute to Habitat
https://github.com/habitat-sh/habitat
• Docs
https://www.habitat.sh/docs/overview/
• Tutorial
https://www.habitat.sh/tutorials/
• Tweet at me:
@mfdii

Weitere ähnliche Inhalte

Was ist angesagt?

The hardest part of microservices: your data
The hardest part of microservices: your dataThe hardest part of microservices: your data
The hardest part of microservices: your data
Christian Posta
 

Was ist angesagt? (20)

Microservices architecture overview v3
Microservices architecture overview v3Microservices architecture overview v3
Microservices architecture overview v3
 
Atlanta Microservices Day: Istio Service Mesh
Atlanta Microservices Day: Istio Service MeshAtlanta Microservices Day: Istio Service Mesh
Atlanta Microservices Day: Istio Service Mesh
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 
FIWARE Tech Summit - Building Real-Time Dashboards to Monitor Context
FIWARE Tech Summit - Building Real-Time Dashboards to Monitor ContextFIWARE Tech Summit - Building Real-Time Dashboards to Monitor Context
FIWARE Tech Summit - Building Real-Time Dashboards to Monitor Context
 
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes
 
The hardest part of microservices: your data
The hardest part of microservices: your dataThe hardest part of microservices: your data
The hardest part of microservices: your data
 
FestiveTechCalendar2021 - Have Yourself An​ Azure Container Registry
FestiveTechCalendar2021 - Have Yourself An​ Azure Container RegistryFestiveTechCalendar2021 - Have Yourself An​ Azure Container Registry
FestiveTechCalendar2021 - Have Yourself An​ Azure Container Registry
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
Think Small To Go Big - Introduction To Microservices
Think Small To Go Big - Introduction To MicroservicesThink Small To Go Big - Introduction To Microservices
Think Small To Go Big - Introduction To Microservices
 
FIWARE Tech Summit - Professional Dashboards for Dummies
FIWARE Tech Summit - Professional Dashboards for DummiesFIWARE Tech Summit - Professional Dashboards for Dummies
FIWARE Tech Summit - Professional Dashboards for Dummies
 
Intro to Knative
Intro to KnativeIntro to Knative
Intro to Knative
 
From Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 MinutesFrom Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 Minutes
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
 
Microservices with Spring
Microservices with SpringMicroservices with Spring
Microservices with Spring
 
MRA AMA Part 6: Service Mesh Models
MRA AMA Part 6: Service Mesh ModelsMRA AMA Part 6: Service Mesh Models
MRA AMA Part 6: Service Mesh Models
 
ISACA SV Chapter: Securing Software Supply Chains
ISACA SV Chapter: Securing Software Supply ChainsISACA SV Chapter: Securing Software Supply Chains
ISACA SV Chapter: Securing Software Supply Chains
 
Microservices architecture overview v2
Microservices architecture overview v2Microservices architecture overview v2
Microservices architecture overview v2
 
Microservices, DevOps, and Containers with OpenShift and Fabric8
Microservices, DevOps, and Containers with OpenShift and Fabric8Microservices, DevOps, and Containers with OpenShift and Fabric8
Microservices, DevOps, and Containers with OpenShift and Fabric8
 
Securing the Cloud Native Stack
Securing the Cloud Native StackSecuring the Cloud Native Stack
Securing the Cloud Native Stack
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 

Andere mochten auch

メトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンメトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
Hiroyuki Ito
 

Andere mochten auch (20)

Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...
 
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
 
Slaying Monoliths with Node and Docker
Slaying Monoliths with Node and DockerSlaying Monoliths with Node and Docker
Slaying Monoliths with Node and Docker
 
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New ArchitecturesContinuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
 
Androidを中心に紐解くIoT
Androidを中心に紐解くIoTAndroidを中心に紐解くIoT
Androidを中心に紐解くIoT
 
Conquer CI Server! - Re-establishment of Order and Nurture of the Solid Organ...
Conquer CI Server! - Re-establishment of Order and Nurture of the Solid Organ...Conquer CI Server! - Re-establishment of Order and Nurture of the Solid Organ...
Conquer CI Server! - Re-establishment of Order and Nurture of the Solid Organ...
 
メトリクスによる「見える化」のススメ:No 見える化、No 改善
メトリクスによる「見える化」のススメ:No 見える化、No 改善メトリクスによる「見える化」のススメ:No 見える化、No 改善
メトリクスによる「見える化」のススメ:No 見える化、No 改善
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
 
Usecase examples of Packer
Usecase examples of Packer Usecase examples of Packer
Usecase examples of Packer
 
Microservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous DeliveryMicroservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous Delivery
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices
 
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
 
Shake up the Culture with Automation!
Shake up the Culture with Automation!Shake up the Culture with Automation!
Shake up the Culture with Automation!
 
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at Google
 
Deep Dive on AWS reInvent 2016 Breakout Sessions
Deep Dive on AWS reInvent 2016 Breakout SessionsDeep Dive on AWS reInvent 2016 Breakout Sessions
Deep Dive on AWS reInvent 2016 Breakout Sessions
 
NGINX Microservices Reference Architecture: Ask Me Anything
NGINX Microservices Reference Architecture: Ask Me AnythingNGINX Microservices Reference Architecture: Ask Me Anything
NGINX Microservices Reference Architecture: Ask Me Anything
 
AWSで実現するクラウドネイティブなアプリ開発のポイント
AWSで実現するクラウドネイティブなアプリ開発のポイントAWSで実現するクラウドネイティブなアプリ開発のポイント
AWSで実現するクラウドネイティブなアプリ開発のポイント
 
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンメトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイド
 

Ähnlich wie Monoliths, Myths, and Microservices - CfgMgmtCamp

Ähnlich wie Monoliths, Myths, and Microservices - CfgMgmtCamp (20)

Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 
Migrating to Microservices Patterns and Technologies (edition 2023)
 Migrating to Microservices Patterns and Technologies (edition 2023) Migrating to Microservices Patterns and Technologies (edition 2023)
Migrating to Microservices Patterns and Technologies (edition 2023)
 
Evolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesEvolving your Architecture to MicroServices
Evolving your Architecture to MicroServices
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical Debt
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
 
20161220 - microservice
20161220 - microservice20161220 - microservice
20161220 - microservice
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
 
NGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Istio, and the Move to Microservices and Service MeshNGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Istio, and the Move to Microservices and Service Mesh
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015
 
Serverless & Microservices Architecture
Serverless & Microservices ArchitectureServerless & Microservices Architecture
Serverless & Microservices Architecture
 
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
APIdays Paris 2019 - Cloud native API Management for Microservices on a Servi...
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
 
[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises[WSO2Con EU 2017] Microservices for Enterprises
[WSO2Con EU 2017] Microservices for Enterprises
 
Microservices
MicroservicesMicroservices
Microservices
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
 

Mehr von Michael Ducy

The Road to Hybrid Cloud is Paved with Automation
The Road to Hybrid Cloud is Paved with AutomationThe Road to Hybrid Cloud is Paved with Automation
The Road to Hybrid Cloud is Paved with Automation
Michael Ducy
 

Mehr von Michael Ducy (20)

Automating Security Response with Serverless
Automating Security Response with ServerlessAutomating Security Response with Serverless
Automating Security Response with Serverless
 
Rethinking Open Source in the Age of Cloud
Rethinking Open Source in the Age of CloudRethinking Open Source in the Age of Cloud
Rethinking Open Source in the Age of Cloud
 
Open source security tools for Kubernetes.
Open source security tools for Kubernetes.Open source security tools for Kubernetes.
Open source security tools for Kubernetes.
 
Container Runtime Security with Falco
Container Runtime Security with FalcoContainer Runtime Security with Falco
Container Runtime Security with Falco
 
DevOps in a Cloud Native World
DevOps in a Cloud Native WorldDevOps in a Cloud Native World
DevOps in a Cloud Native World
 
Securing your Container Environment with Open Source
Securing your Container Environment with Open SourceSecuring your Container Environment with Open Source
Securing your Container Environment with Open Source
 
Sysdig Open Source Intro
Sysdig Open Source IntroSysdig Open Source Intro
Sysdig Open Source Intro
 
Monitoring & Securing Microservices in Kubernetes
Monitoring & Securing Microservices in KubernetesMonitoring & Securing Microservices in Kubernetes
Monitoring & Securing Microservices in Kubernetes
 
Sysdig Tokyo Meetup 2018 02-27
Sysdig Tokyo Meetup 2018 02-27Sysdig Tokyo Meetup 2018 02-27
Sysdig Tokyo Meetup 2018 02-27
 
Principles of Monitoring Microservices
Principles of Monitoring MicroservicesPrinciples of Monitoring Microservices
Principles of Monitoring Microservices
 
Why Pipelines Matter
Why Pipelines MatterWhy Pipelines Matter
Why Pipelines Matter
 
The Future of Everything
The Future of EverythingThe Future of Everything
The Future of Everything
 
Improving Goat Production
Improving Goat ProductionImproving Goat Production
Improving Goat Production
 
Changing the Way Development and Operations Works
Changing the Way Development and Operations WorksChanging the Way Development and Operations Works
Changing the Way Development and Operations Works
 
CloudStack Day 14 - Automation: The Key to Hybrid Cloud
CloudStack Day 14 - Automation: The Key to Hybrid CloudCloudStack Day 14 - Automation: The Key to Hybrid Cloud
CloudStack Day 14 - Automation: The Key to Hybrid Cloud
 
The Road to Hybrid Cloud is Paved with Automation
The Road to Hybrid Cloud is Paved with AutomationThe Road to Hybrid Cloud is Paved with Automation
The Road to Hybrid Cloud is Paved with Automation
 
The Velocity of Bureaucracy
The Velocity of BureaucracyThe Velocity of Bureaucracy
The Velocity of Bureaucracy
 
The Goat and the Silo
The Goat and the SiloThe Goat and the Silo
The Goat and the Silo
 
Little Tech, Big Impact - Monktoberfest 2013
Little Tech, Big Impact - Monktoberfest 2013Little Tech, Big Impact - Monktoberfest 2013
Little Tech, Big Impact - Monktoberfest 2013
 
Object, measure thyself
Object, measure thyselfObject, measure thyself
Object, measure thyself
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

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...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer 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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Monoliths, Myths, and Microservices - CfgMgmtCamp

  • 2. A quick refresher • Let’s define microservices: The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data. http://www.martinfowler.com/articles/microservices.html
  • 3.
  • 6.
  • 7. I did that in 2005, yawn
  • 8. Stop, It’s not SOA • Services tend to have smaller concerns than SOA Services • Architectural Concepts incorporates Innovations: – In Infrastructure – In Automation – In Continuous Delivery – In Development – In Monitoring http://www.martinfowler.com/articles/microservices.html
  • 10. Myth #2: Microservices Only Need Apply “Microservices is the only architectural pattern we need” • Microservices introduces complexity in operations – Pay down the complexity first? – Pay it down later (technical debt) • What if your idea doesn’t work? • What if your project is scrapped?
  • 11. Myth #2: Microservices Only Need Apply • Be Lean in your thinking • Often faster to start developing in a non microservices architecture – Componentize your application – Split later • You don’t have a scaling problem, yet – But you might later, then look at microservices
  • 12. Myth #3: Everything’s solved by containers and microservices
  • 14. Myth #3: Everything’s solved by containers and microservices • Containers fit very well with the microservices model – Serverless might fit even better! • Great for your Application Logic • Stateless!
  • 15. Myth #3: Everything’s solved by containers and microservices http://www.martinfowler.com/articles/microservices.html
  • 16. Myth #3: Everything’s solved by containers and microservices
  • 17. Myth #3: Everything’s solved by containers and microservices • Great for your Application Logic • Not (always) great for your data • Data tier needs to be managed – VMs, Config Management – StatefulSets (Kubernetes) – Mesosphere (more than Containers) – Cloud Services • Data tier need to be “Self Service” – Like AWS RDS, etc
  • 18. Myth #4: Anyone can do Microservices
  • 19. Myth #4: Anyone can do Microservices • Anyone except your organization • Have you adopted: – Continuous Integration? – Continuous Delivery? – Infrastructure As Code? – Modern Monitoring and log aggregation? – Cloud? – Fiction-less Change Management?
  • 20. Myth #4: Anyone can do Microservices Microservices won’t fix: – Your broken culture – Your lack of modernization – Your broken process – Your ineffective org chart
  • 23. Myth #5: I shouldn’t do microservices
  • 24. Myth #5: I shouldn’t do microservices
  • 25. Myth #5: I shouldn’t do microservices • What got you here won’t get you there. • Forcing function to modernize – Continuous Integration – Continuous Delivery – Infrastructure As Code and Automation – Modern Monitoring and log aggregation – Cloud – Containers – Fiction-less Change Management
  • 26. Guiding Microservices Principles • Componentization via Services • Intelligence in the end point • Decentralization • Automated deployments
  • 27. Modern/Cloud Native Arch ● Reduces developers concerns of underlying infrastructure ● Follows principles of Twelve-Factor applications ● Automation designed to handle deployment, scaling, and failure scenarios
  • 29. Stateless vs Stateful STATELESS APPLICATIONS ● Great for PaaS or Containers ● Application instances are “Ephemeral” ● Relies on backend services via an API for data storage ● Operational logic built into the application code STATEFUL APPLICATIONS OR SERVICES ● Provides persistent storage ● Provides required services for stateless applications ● Operational logic handled at OS/infrastructure layer
  • 30. For new and legacy applications. For stateless and stateful applications No matter the runtime environment Habitat’s Approach The solution should be the same: ● Applications: portable & responsible for their own automation ● Small OS serves the application ● Make application components aware of each other over a network ● Continuous deployment without traditional “ARA”
  • 31. Habitat’s technology ● Describes how to build the software ● Explicit about dependencies ● Includes what is configurable about the application ● Built in service discovery ● Self-organizes into topologies ● Handles inter-service discovery through binding ● Has no single point of failure BUILD DEPLOY MANAGE ● Encrypted, authenticated run-time configuration ● Automatic, safe, atomic software updates ● Dynamic topology updates
  • 32. SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR USER ARTIFACT How we do it Packaging Applications Running Applications PLAN DEPOT DEPOT ARTIFACT BARE METAL CONTAINERS AMI VM
  • 33. How we do it LEADER INITIALIZER STAND ALONE Topologies Update StrategyRunning Applications SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR “ALL AT ONCE” ARTIFACT DEPOT SERVICE SUPERVISOR
  • 34. SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR How we do it Security PUB KEY SYMMETRIC ENCRYPTION LOAD BALANCER Build Service BUILD SERVICE USER SECRET PAYLOADS SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR ARTIFACTPLAN DEPOT
  • 35. What the modern application team gets ▪ Runs the same way in any environment ▪ Management travels with the application; no drift ▪ Autonomous and self-organizing ▪ Legacy and Greenfield ▪ Lets the enterprise modernize without re-writing the world ▪ Faster to build, easier to deploy, safer to manage ▪ Easiest way to deploy containers and microservices in production ▪ Developers can focus on building great applications ▪ Systems Administrators can focus on how those applications should behave ▪ Gives both a language they can share, with clear boundaries Simplification Acceleration Empowerment
  • 36. Habitat + Containers ● Container formats recreate the traditional model of infrastructure and applications. ● Poor at abstracting the Build + Run aspects of Applications Libraries Operating System Application Application & Libraries ● Habitat builds containers from the application down ● Small lightweight OS included ● Embedded Supervisor for Application Management Application Libraries OS
  • 37. Demo!
  • 38. CfgMgmtCamp Talks Monday ● Containers 14:00 - Monoliths, Myths, and Microservices ● Containers 16:20 - An upside-down Exploration of App Automation with Habitat Tuesday ● Main Track 14:00 - Operating Systems are Assholes ● Future Tooling - 14:40 - Now That I Have Choreography, What Can I Do With It?
  • 39. Come contribute! • Write a plan for an application https://github.com/habitat-sh/core-plans • Contribute to Habitat https://github.com/habitat-sh/habitat • Docs https://www.habitat.sh/docs/overview/ • Tutorial https://www.habitat.sh/tutorials/ • Tweet at me: @mfdii