SlideShare a Scribd company logo
Microservices at ScaleHow to Reduce Overhead and Increase Developer Productivity
— Even with 100s of Services
What we'll talk about
• We'll focus on the development side of microservices
• The benefits and challenges of microservice architectures
• Particular challenges when dealing with complex applications
• Common tactics for dealing with microservice development challenges
• The opportunities provided by modern tooling and the Cloud Native ecosystem
• How Garden approaches microservice development
• Bonus: Effective strategies for integration/end-to-end testing
About Garden
• Founded in 2018
• Headquartered in Berlin,
Germany (with users and
customers around the globe)
• We provide a development
automation platform for cloud
native applications
• Open Core + Enterprise edition
Why microservices?
• Monoliths become bottlenecks for larger organizations
• Microservices can map more naturally to your org structure, and allow
independent development and deployment
• Increased resilience and separation of concerns
• More effective scaling and resource usage
• Easier to drop in 3rd party code and services
• Choose the ideal language/framework for each service
The
challenges
• Cognitive overhead. How does the
whole thing work together?
What's handled where? How do I
build and deploy each component?
• Many distinct pipelines and
toolchains.
• Lots of time spent plumbing and
configuring.
The
challenges
• Difficult and slow to integration/end-to-
end test whole systems.
• Hard to spin up dev/test/preview
environments.
• New security challenges.
• Governance becomes challenging.
• Technology stack fragmentation.
Each of these problems grows
exponentially with the number of services.
(picture of a spiral around a
swerving line, depicting the
erratic nature of progress)
How do we cope today?
• We accept the burden of ever-more configuration, pipelines etc. to
maintain.
• We avoid integration/e2e testing by leaning on mocks/stubs/fakes,
contract testing.
• Actual integ/e2e tests are done in shared staging environments,
potentially in checkpoint pre-flight checks ahead of deployment.
• Maintain separate inner-loop (i.e. local) development setups.
• Rely heavily on GitOps or CI/CD for builds, deployments and tests.
• Develop elaborate, bespoke internal tools for our organization.
New technologies,
new opportunities
• Kubernetes provides a (mostly) portable way
to define and deploy applications.
• Declarative configuration and namespaces
make it feasible to spin up production-like
environments.
• Service meshes enable secure communication
across services.
• Observability tools facilitate distributed
debugging and troubleshooting.
• Wide range of other tools available, for
security, storage etc.
• It is an absolute jungle though...
Ah yes, the CNCF landscape...
Poll: What best describes Kubernetes
adoption at your organization?
With our coping mechanisms in place,
what problems remain?
Typical software delivery cycle (SDLC)
Our unsolved issues
• Local dev environments don't scale, and may not be feasible.
• Remote dev environments are promising, but hard to get going without losing
immediate feedback, or at high cost.
• Integration and end-to-end tests are often sidestepped or done late in the SDLC.
• We cling to yesterday's workflows.
• Too much plumbing overhead.
• Lack of oversight over the full application or stack.
• Application developers are often overwhelmed by level of complexity.
• We need to solve previously solved problems for ourselves, over and over again.
How can
we address
all those
problems?
• Standardize on a highly opinionated framework
for all our services (usually not recommended).
• Standardize on certain tools, at least VCS and
CI, across all your applications (definitely
recommended).
• Develop and use better tools and abstractions,
that are reusable across many scenarios.
• Make it easy to spin up dev/test/preview
environments, and to work with those.
• Codify relationships between services, and use
a dependency graph and caches to optimize
build, deploy and test times.
• Reduce friction between inner-loop development
and CI/CD, by using the same configuration,
tools and even caches across both.
• Make it easy to spin up production-like
environments for whole applications, both
through automation and ad-hoc by developers
and other stakeholders.
• Leverage a dependency graph (DAG) to reduce
the amount of work needed on every
deployment, test run, whether in CI or during
dev.
The Garden
Approach
• Make configuration approachable and scalable
by having every service describe itself, including
how it's built, deployed and tested.
• Enable customized abstractions, to improve
governance and ease-of-use for application
developers.
• Use these environments in combination with
other tools to much more thoroughly validate
your work before deploying to production.
A better
development
cycle
Simple,
distributed
configuration
• Each component describes itself—
It's a distributed system, so your
configuration shouldn't be monolithic.
• Powerful templating syntax.
• Define your own abstractions
through custom templates.
The Stack
Graph
• Codify all the build and runtime
dependencies across your project.
• Garden uses this to only build, deploy
and test what's affected by your
changes.
Same tools for
dev and CI
• Run garden deploy or garden
test just the same from your laptop
and from CI.
• Use the same cluster for both, and get
a shared cache between all your
developers and pipelines.
• Waste less time debugging CI!
• Garden Enterprise, built on top of
Garden Core, includes:
• Centralized environment
management
• Secrets management
• User management (SSO / RBAC)
• Direct integration with VCS
• Automated environment cleanup
(Q4 2020)
A unified
management
layer.
Achieving effective integ/e2e testing
• Make it easy to run individual integ/e2e test suites without starting a
whole pipeline.
• Use application-level mechanics to isolate test data.
• Create isolated "tenants" for each test suite run, that don't affect other
workflows. This can be an organization, team, user, anything that can
be deleted and won't mess with other parallel test runs.
• Generate any mutable test data (or databases, tables etc.) on demand
for each run.
• Don't lump all tests in one suite. Split to different suites based on which
dependencies that suite has. Or more simply, define one suite per service.
In closing • We're using microservices because we have to,
but it creates all sorts of complexity. Now the
question is how we can do it more efficiently.
• Modern tools and best practices can bring us not
only the consistency and efficiency that we miss,
but new opportunities.
• By unifying tools and configuration across
development and CI/CD, we can reduce wasted
hours on configuration, maintaining custom
scripts, and waiting for CI pipelines.
Q&A
Finally, a few bits of advice
• Consider carefully which tools/services/frameworks are standardized across
your org, and which are chosen individually by project/team.
• Make it as easy as possible to deploy dev/test/preview environments.
• Make those environments as production-like as is feasible.
• Make it easy to understand your whole application, its architecture and
dependency structure.
• Reduce cognitive load for your application developers by providing
abstractions.
• Use observability tools for development and testing, not just production.
Wrapping up
• We'll send a follow-up email with more detail on how Garden fits
into a day-to-day development workflow.
• Please reach out if we can help or you'd like to discuss Garden
Enterprise: garden.io/contact
• Even if Garden isn't right for you, we're happy to talk because we
learn something from it!
• We're hiring! garden.io/careers
Thank you!

More Related Content

What's hot

Migrating to Cloud Native Solutions
Migrating to Cloud Native SolutionsMigrating to Cloud Native Solutions
Migrating to Cloud Native Solutions
inwin stack
 
Enterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweEnterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & Zowe
DevOps.com
 
Containing your microservice sprawl
Containing your microservice sprawlContaining your microservice sprawl
Containing your microservice sprawl
LibbySchulze
 
Tectonic Summit 2016: Betting on Kubernetes
Tectonic Summit 2016: Betting on KubernetesTectonic Summit 2016: Betting on Kubernetes
Tectonic Summit 2016: Betting on Kubernetes
CoreOS
 
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
VMware Tanzu
 
DevOps Spain 2019. Olivier Perard-Oracle
DevOps Spain 2019. Olivier Perard-OracleDevOps Spain 2019. Olivier Perard-Oracle
DevOps Spain 2019. Olivier Perard-Oracle
atSistemas
 
Java Application Modernization Patterns and Stories from the IBM Garage
Java Application Modernization Patterns and Stories from the IBM GarageJava Application Modernization Patterns and Stories from the IBM Garage
Java Application Modernization Patterns and Stories from the IBM Garage
Holly Cummins
 
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes StrategyTectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
CoreOS
 
Mendix Maker Meetup - London (2019-10-17)
Mendix Maker Meetup - London (2019-10-17)Mendix Maker Meetup - London (2019-10-17)
Mendix Maker Meetup - London (2019-10-17)
Iain Lindsay
 
Microsoft Azure DevOps
Microsoft Azure DevOpsMicrosoft Azure DevOps
Microsoft Azure DevOps
tdc-globalcode
 
Kubernetes Administration Certification Cost-Register Now(7262008866)
Kubernetes Administration Certification Cost-Register Now(7262008866)Kubernetes Administration Certification Cost-Register Now(7262008866)
Kubernetes Administration Certification Cost-Register Now(7262008866)
Novel Vista
 
Modernize applications and reduce TCO with Windows containers on Azure Servic...
Modernize applications and reduce TCO with Windows containers on Azure Servic...Modernize applications and reduce TCO with Windows containers on Azure Servic...
Modernize applications and reduce TCO with Windows containers on Azure Servic...
Microsoft Tech Community
 
Cncf checkov and bridgecrew
Cncf checkov and bridgecrewCncf checkov and bridgecrew
Cncf checkov and bridgecrew
LibbySchulze
 
Infrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service FabricInfrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service Fabric
Saba Jamalian
 
Cloud Native 下的應用網路設計
Cloud Native 下的應用網路設計Cloud Native 下的應用網路設計
Cloud Native 下的應用網路設計
inwin stack
 
Bring Service Mesh To Cloud Native-apps
Bring Service Mesh To Cloud Native-appsBring Service Mesh To Cloud Native-apps
Bring Service Mesh To Cloud Native-apps
Thang Chung
 
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
VMware Tanzu
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
VMware Tanzu
 
DevOps Spain 2019. David Cañadillas -Cloudbees
DevOps Spain 2019. David Cañadillas -CloudbeesDevOps Spain 2019. David Cañadillas -Cloudbees
DevOps Spain 2019. David Cañadillas -Cloudbees
atSistemas
 
Achieving a Serverless Development Experience
Achieving a Serverless Development ExperienceAchieving a Serverless Development Experience
Achieving a Serverless Development Experience
Ivan Dwyer
 

What's hot (20)

Migrating to Cloud Native Solutions
Migrating to Cloud Native SolutionsMigrating to Cloud Native Solutions
Migrating to Cloud Native Solutions
 
Enterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweEnterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & Zowe
 
Containing your microservice sprawl
Containing your microservice sprawlContaining your microservice sprawl
Containing your microservice sprawl
 
Tectonic Summit 2016: Betting on Kubernetes
Tectonic Summit 2016: Betting on KubernetesTectonic Summit 2016: Betting on Kubernetes
Tectonic Summit 2016: Betting on Kubernetes
 
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
 
DevOps Spain 2019. Olivier Perard-Oracle
DevOps Spain 2019. Olivier Perard-OracleDevOps Spain 2019. Olivier Perard-Oracle
DevOps Spain 2019. Olivier Perard-Oracle
 
Java Application Modernization Patterns and Stories from the IBM Garage
Java Application Modernization Patterns and Stories from the IBM GarageJava Application Modernization Patterns and Stories from the IBM Garage
Java Application Modernization Patterns and Stories from the IBM Garage
 
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes StrategyTectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
Tectonic Summit 2016: Ticketmaster's Public Cloud & Kubernetes Strategy
 
Mendix Maker Meetup - London (2019-10-17)
Mendix Maker Meetup - London (2019-10-17)Mendix Maker Meetup - London (2019-10-17)
Mendix Maker Meetup - London (2019-10-17)
 
Microsoft Azure DevOps
Microsoft Azure DevOpsMicrosoft Azure DevOps
Microsoft Azure DevOps
 
Kubernetes Administration Certification Cost-Register Now(7262008866)
Kubernetes Administration Certification Cost-Register Now(7262008866)Kubernetes Administration Certification Cost-Register Now(7262008866)
Kubernetes Administration Certification Cost-Register Now(7262008866)
 
Modernize applications and reduce TCO with Windows containers on Azure Servic...
Modernize applications and reduce TCO with Windows containers on Azure Servic...Modernize applications and reduce TCO with Windows containers on Azure Servic...
Modernize applications and reduce TCO with Windows containers on Azure Servic...
 
Cncf checkov and bridgecrew
Cncf checkov and bridgecrewCncf checkov and bridgecrew
Cncf checkov and bridgecrew
 
Infrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service FabricInfrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service Fabric
 
Cloud Native 下的應用網路設計
Cloud Native 下的應用網路設計Cloud Native 下的應用網路設計
Cloud Native 下的應用網路設計
 
Bring Service Mesh To Cloud Native-apps
Bring Service Mesh To Cloud Native-appsBring Service Mesh To Cloud Native-apps
Bring Service Mesh To Cloud Native-apps
 
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
 
DevOps Spain 2019. David Cañadillas -Cloudbees
DevOps Spain 2019. David Cañadillas -CloudbeesDevOps Spain 2019. David Cañadillas -Cloudbees
DevOps Spain 2019. David Cañadillas -Cloudbees
 
Achieving a Serverless Development Experience
Achieving a Serverless Development ExperienceAchieving a Serverless Development Experience
Achieving a Serverless Development Experience
 

Similar to Microservices at Scale: How to Reduce Overhead and Increase Developer Productivity—Even with 100s of Services

The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
Gert Drapers
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
Decision Science Community
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
Moataz Mahmoud
 
DevOps kg.pptx
DevOps kg.pptxDevOps kg.pptx
DevOps kg.pptx
Kalpana Gangwar
 
Distributed teams
Distributed teamsDistributed teams
Distributed teams
Kush Shah
 
Distributed_teams
Distributed_teamsDistributed_teams
Distributed_teams
ParthShah587
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
G R VISHAL
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
Eklove Mohan
 
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudApplication Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Skytap Cloud
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?
Jean-Philippe Briend
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Introduction to 5w’s of DevOps
Introduction to 5w’s of DevOpsIntroduction to 5w’s of DevOps
Introduction to 5w’s of DevOps
Cygnet Infotech
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
Matt Ray
 
Transforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOpsTransforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOps
Nicolas (Nick) Barcet
 
What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE? What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE?
7Targets AI Sales Assistants
 
Past, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps InfrastructurePast, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps Infrastructure
Synergetics Learning and Cloud Consulting
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
Mesut Güneş
 
Devops
DevopsDevops

Similar to Microservices at Scale: How to Reduce Overhead and Increase Developer Productivity—Even with 100s of Services (20)

The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
 
DevOps kg.pptx
DevOps kg.pptxDevOps kg.pptx
DevOps kg.pptx
 
Distributed teams
Distributed teamsDistributed teams
Distributed teams
 
Distributed_teams
Distributed_teamsDistributed_teams
Distributed_teams
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
 
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudApplication Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Introduction to 5w’s of DevOps
Introduction to 5w’s of DevOpsIntroduction to 5w’s of DevOps
Introduction to 5w’s of DevOps
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Transforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOpsTransforming to OpenStack: a sample roadmap to DevOps
Transforming to OpenStack: a sample roadmap to DevOps
 
What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE? What is DevOps? What is DevOps CoE?
What is DevOps? What is DevOps CoE?
 
Past, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps InfrastructurePast, Present and Future of DevOps Infrastructure
Past, Present and Future of DevOps Infrastructure
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
Devops
DevopsDevops
Devops
 

More from DevOps.com

Modernizing on IBM Z Made Easier With Open Source Software
Modernizing on IBM Z Made Easier With Open Source SoftwareModernizing on IBM Z Made Easier With Open Source Software
Modernizing on IBM Z Made Easier With Open Source Software
DevOps.com
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
DevOps.com
 
Next Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and SnykNext Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and Snyk
DevOps.com
 
2021 Open Source Governance: Top Ten Trends and Predictions
2021 Open Source Governance: Top Ten Trends and Predictions2021 Open Source Governance: Top Ten Trends and Predictions
2021 Open Source Governance: Top Ten Trends and Predictions
DevOps.com
 
A New Year’s Ransomware Resolution
A New Year’s Ransomware ResolutionA New Year’s Ransomware Resolution
A New Year’s Ransomware Resolution
DevOps.com
 
Don't Panic! Effective Incident Response
Don't Panic! Effective Incident ResponseDon't Panic! Effective Incident Response
Don't Panic! Effective Incident Response
DevOps.com
 
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's CultureCreating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
DevOps.com
 
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with TeleportRole Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
DevOps.com
 
Deliver your App Anywhere … Publicly or Privately
Deliver your App Anywhere … Publicly or PrivatelyDeliver your App Anywhere … Publicly or Privately
Deliver your App Anywhere … Publicly or Privately
DevOps.com
 
Securing medical apps in the age of covid final
Securing medical apps in the age of covid finalSecuring medical apps in the age of covid final
Securing medical apps in the age of covid final
DevOps.com
 
How to Build a Healthy On-Call Culture
How to Build a Healthy On-Call CultureHow to Build a Healthy On-Call Culture
How to Build a Healthy On-Call Culture
DevOps.com
 
The Evolving Role of the Developer in 2021
The Evolving Role of the Developer in 2021The Evolving Role of the Developer in 2021
The Evolving Role of the Developer in 2021
DevOps.com
 
Secure Data Sharing in OpenShift Environments
Secure Data Sharing in OpenShift EnvironmentsSecure Data Sharing in OpenShift Environments
Secure Data Sharing in OpenShift Environments
DevOps.com
 
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
DevOps.com
 
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
DevOps.com
 
Hotels, Hookups and Video Conferencing: A Top 10 Countdown to 2020's Worst Da...
Hotels, Hookups and Video Conferencing: A Top 10 Countdown to 2020's Worst Da...Hotels, Hookups and Video Conferencing: A Top 10 Countdown to 2020's Worst Da...
Hotels, Hookups and Video Conferencing: A Top 10 Countdown to 2020's Worst Da...
DevOps.com
 
How IBM's Massive POWER9 UNIX Servers Benefit from InfluxDB and Grafana Techn...
How IBM's Massive POWER9 UNIX Servers Benefit from InfluxDB and Grafana Techn...How IBM's Massive POWER9 UNIX Servers Benefit from InfluxDB and Grafana Techn...
How IBM's Massive POWER9 UNIX Servers Benefit from InfluxDB and Grafana Techn...
DevOps.com
 
The Importance of Visibility and Security of Critical Applications in Cloud E...
The Importance of Visibility and Security of Critical Applications in Cloud E...The Importance of Visibility and Security of Critical Applications in Cloud E...
The Importance of Visibility and Security of Critical Applications in Cloud E...
DevOps.com
 
Pentest as a Service Impact 2020
Pentest as a Service Impact 2020Pentest as a Service Impact 2020
Pentest as a Service Impact 2020
DevOps.com
 
The DevSecOps Showdown: How to Bridge the Gap Between Security and Developers
The DevSecOps Showdown: How to Bridge the Gap Between Security and DevelopersThe DevSecOps Showdown: How to Bridge the Gap Between Security and Developers
The DevSecOps Showdown: How to Bridge the Gap Between Security and Developers
DevOps.com
 

More from DevOps.com (20)

Modernizing on IBM Z Made Easier With Open Source Software
Modernizing on IBM Z Made Easier With Open Source SoftwareModernizing on IBM Z Made Easier With Open Source Software
Modernizing on IBM Z Made Easier With Open Source Software
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
 
Next Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and SnykNext Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and Snyk
 
2021 Open Source Governance: Top Ten Trends and Predictions
2021 Open Source Governance: Top Ten Trends and Predictions2021 Open Source Governance: Top Ten Trends and Predictions
2021 Open Source Governance: Top Ten Trends and Predictions
 
A New Year’s Ransomware Resolution
A New Year’s Ransomware ResolutionA New Year’s Ransomware Resolution
A New Year’s Ransomware Resolution
 
Don't Panic! Effective Incident Response
Don't Panic! Effective Incident ResponseDon't Panic! Effective Incident Response
Don't Panic! Effective Incident Response
 
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's CultureCreating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
 
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with TeleportRole Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
 
Deliver your App Anywhere … Publicly or Privately
Deliver your App Anywhere … Publicly or PrivatelyDeliver your App Anywhere … Publicly or Privately
Deliver your App Anywhere … Publicly or Privately
 
Securing medical apps in the age of covid final
Securing medical apps in the age of covid finalSecuring medical apps in the age of covid final
Securing medical apps in the age of covid final
 
How to Build a Healthy On-Call Culture
How to Build a Healthy On-Call CultureHow to Build a Healthy On-Call Culture
How to Build a Healthy On-Call Culture
 
The Evolving Role of the Developer in 2021
The Evolving Role of the Developer in 2021The Evolving Role of the Developer in 2021
The Evolving Role of the Developer in 2021
 
Secure Data Sharing in OpenShift Environments
Secure Data Sharing in OpenShift EnvironmentsSecure Data Sharing in OpenShift Environments
Secure Data Sharing in OpenShift Environments
 
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
 
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
 
Hotels, Hookups and Video Conferencing: A Top 10 Countdown to 2020's Worst Da...
Hotels, Hookups and Video Conferencing: A Top 10 Countdown to 2020's Worst Da...Hotels, Hookups and Video Conferencing: A Top 10 Countdown to 2020's Worst Da...
Hotels, Hookups and Video Conferencing: A Top 10 Countdown to 2020's Worst Da...
 
How IBM's Massive POWER9 UNIX Servers Benefit from InfluxDB and Grafana Techn...
How IBM's Massive POWER9 UNIX Servers Benefit from InfluxDB and Grafana Techn...How IBM's Massive POWER9 UNIX Servers Benefit from InfluxDB and Grafana Techn...
How IBM's Massive POWER9 UNIX Servers Benefit from InfluxDB and Grafana Techn...
 
The Importance of Visibility and Security of Critical Applications in Cloud E...
The Importance of Visibility and Security of Critical Applications in Cloud E...The Importance of Visibility and Security of Critical Applications in Cloud E...
The Importance of Visibility and Security of Critical Applications in Cloud E...
 
Pentest as a Service Impact 2020
Pentest as a Service Impact 2020Pentest as a Service Impact 2020
Pentest as a Service Impact 2020
 
The DevSecOps Showdown: How to Bridge the Gap Between Security and Developers
The DevSecOps Showdown: How to Bridge the Gap Between Security and DevelopersThe DevSecOps Showdown: How to Bridge the Gap Between Security and Developers
The DevSecOps Showdown: How to Bridge the Gap Between Security and Developers
 

Recently uploaded

Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 

Recently uploaded (20)

Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 

Microservices at Scale: How to Reduce Overhead and Increase Developer Productivity—Even with 100s of Services

  • 1. Microservices at ScaleHow to Reduce Overhead and Increase Developer Productivity — Even with 100s of Services
  • 2. What we'll talk about • We'll focus on the development side of microservices • The benefits and challenges of microservice architectures • Particular challenges when dealing with complex applications • Common tactics for dealing with microservice development challenges • The opportunities provided by modern tooling and the Cloud Native ecosystem • How Garden approaches microservice development • Bonus: Effective strategies for integration/end-to-end testing
  • 3. About Garden • Founded in 2018 • Headquartered in Berlin, Germany (with users and customers around the globe) • We provide a development automation platform for cloud native applications • Open Core + Enterprise edition
  • 4. Why microservices? • Monoliths become bottlenecks for larger organizations • Microservices can map more naturally to your org structure, and allow independent development and deployment • Increased resilience and separation of concerns • More effective scaling and resource usage • Easier to drop in 3rd party code and services • Choose the ideal language/framework for each service
  • 5. The challenges • Cognitive overhead. How does the whole thing work together? What's handled where? How do I build and deploy each component? • Many distinct pipelines and toolchains. • Lots of time spent plumbing and configuring.
  • 6. The challenges • Difficult and slow to integration/end-to- end test whole systems. • Hard to spin up dev/test/preview environments. • New security challenges. • Governance becomes challenging. • Technology stack fragmentation.
  • 7. Each of these problems grows exponentially with the number of services.
  • 8. (picture of a spiral around a swerving line, depicting the erratic nature of progress)
  • 9. How do we cope today? • We accept the burden of ever-more configuration, pipelines etc. to maintain. • We avoid integration/e2e testing by leaning on mocks/stubs/fakes, contract testing. • Actual integ/e2e tests are done in shared staging environments, potentially in checkpoint pre-flight checks ahead of deployment. • Maintain separate inner-loop (i.e. local) development setups. • Rely heavily on GitOps or CI/CD for builds, deployments and tests. • Develop elaborate, bespoke internal tools for our organization.
  • 10. New technologies, new opportunities • Kubernetes provides a (mostly) portable way to define and deploy applications. • Declarative configuration and namespaces make it feasible to spin up production-like environments. • Service meshes enable secure communication across services. • Observability tools facilitate distributed debugging and troubleshooting. • Wide range of other tools available, for security, storage etc. • It is an absolute jungle though...
  • 11. Ah yes, the CNCF landscape...
  • 12. Poll: What best describes Kubernetes adoption at your organization?
  • 13. With our coping mechanisms in place, what problems remain?
  • 15. Our unsolved issues • Local dev environments don't scale, and may not be feasible. • Remote dev environments are promising, but hard to get going without losing immediate feedback, or at high cost. • Integration and end-to-end tests are often sidestepped or done late in the SDLC. • We cling to yesterday's workflows. • Too much plumbing overhead. • Lack of oversight over the full application or stack. • Application developers are often overwhelmed by level of complexity. • We need to solve previously solved problems for ourselves, over and over again.
  • 16. How can we address all those problems? • Standardize on a highly opinionated framework for all our services (usually not recommended). • Standardize on certain tools, at least VCS and CI, across all your applications (definitely recommended). • Develop and use better tools and abstractions, that are reusable across many scenarios. • Make it easy to spin up dev/test/preview environments, and to work with those. • Codify relationships between services, and use a dependency graph and caches to optimize build, deploy and test times.
  • 17. • Reduce friction between inner-loop development and CI/CD, by using the same configuration, tools and even caches across both. • Make it easy to spin up production-like environments for whole applications, both through automation and ad-hoc by developers and other stakeholders. • Leverage a dependency graph (DAG) to reduce the amount of work needed on every deployment, test run, whether in CI or during dev. The Garden Approach
  • 18. • Make configuration approachable and scalable by having every service describe itself, including how it's built, deployed and tested. • Enable customized abstractions, to improve governance and ease-of-use for application developers. • Use these environments in combination with other tools to much more thoroughly validate your work before deploying to production.
  • 20. Simple, distributed configuration • Each component describes itself— It's a distributed system, so your configuration shouldn't be monolithic. • Powerful templating syntax. • Define your own abstractions through custom templates.
  • 21. The Stack Graph • Codify all the build and runtime dependencies across your project. • Garden uses this to only build, deploy and test what's affected by your changes.
  • 22. Same tools for dev and CI • Run garden deploy or garden test just the same from your laptop and from CI. • Use the same cluster for both, and get a shared cache between all your developers and pipelines. • Waste less time debugging CI!
  • 23. • Garden Enterprise, built on top of Garden Core, includes: • Centralized environment management • Secrets management • User management (SSO / RBAC) • Direct integration with VCS • Automated environment cleanup (Q4 2020) A unified management layer.
  • 24. Achieving effective integ/e2e testing • Make it easy to run individual integ/e2e test suites without starting a whole pipeline. • Use application-level mechanics to isolate test data. • Create isolated "tenants" for each test suite run, that don't affect other workflows. This can be an organization, team, user, anything that can be deleted and won't mess with other parallel test runs. • Generate any mutable test data (or databases, tables etc.) on demand for each run. • Don't lump all tests in one suite. Split to different suites based on which dependencies that suite has. Or more simply, define one suite per service.
  • 25. In closing • We're using microservices because we have to, but it creates all sorts of complexity. Now the question is how we can do it more efficiently. • Modern tools and best practices can bring us not only the consistency and efficiency that we miss, but new opportunities. • By unifying tools and configuration across development and CI/CD, we can reduce wasted hours on configuration, maintaining custom scripts, and waiting for CI pipelines.
  • 26. Q&A
  • 27. Finally, a few bits of advice • Consider carefully which tools/services/frameworks are standardized across your org, and which are chosen individually by project/team. • Make it as easy as possible to deploy dev/test/preview environments. • Make those environments as production-like as is feasible. • Make it easy to understand your whole application, its architecture and dependency structure. • Reduce cognitive load for your application developers by providing abstractions. • Use observability tools for development and testing, not just production.
  • 28. Wrapping up • We'll send a follow-up email with more detail on how Garden fits into a day-to-day development workflow. • Please reach out if we can help or you'd like to discuss Garden Enterprise: garden.io/contact • Even if Garden isn't right for you, we're happy to talk because we learn something from it! • We're hiring! garden.io/careers