<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Camille Clayton</title>
    <description>The latest articles on DEV Community by Camille Clayton (@camclay).</description>
    <link>https://dev.to/camclay</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F77135%2F480e55b7-9bf3-4213-b4eb-970d905e6c9c.jpeg</url>
      <title>DEV Community: Camille Clayton</title>
      <link>https://dev.to/camclay</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/camclay"/>
    <language>en</language>
    <item>
      <title>Notes from BackstageCon 2022</title>
      <dc:creator>Camille Clayton</dc:creator>
      <pubDate>Thu, 03 Nov 2022 15:58:18 +0000</pubDate>
      <link>https://dev.to/camclay/notes-from-backstagecon-2022-2o0k</link>
      <guid>https://dev.to/camclay/notes-from-backstagecon-2022-2o0k</guid>
      <description>&lt;p&gt;All talks available on this &lt;a href="https://www.youtube.com/playlist?list=PLj6h78yzYM2OKySsTuiip3BqmdYZQRnSf" rel="noopener noreferrer"&gt;Youtube Playlist&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hosts - Suzanne Daniels - Spotify, DevRel, Martina Iglesias Fernandez - Roadie, CTO&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Opening Remarks - Suzanne Daniels
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Happy Developers Make Happy Code&lt;/li&gt;
&lt;li&gt;Devs are spending less than 30% of their time writing code&lt;/li&gt;
&lt;li&gt;Backstage Stats

&lt;ul&gt;
&lt;li&gt;1,500+ Contributors&lt;/li&gt;
&lt;li&gt;3,200+ Project Forks&lt;/li&gt;
&lt;li&gt;400+ Adopters&lt;/li&gt;
&lt;li&gt;7,300+ Discord Members&lt;/li&gt;
&lt;li&gt;13,000+ contributions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Development started at Spotify in 2014, open source since 2020

&lt;ul&gt;
&lt;li&gt;Recently moved to CNCF Incubator status&lt;/li&gt;
&lt;li&gt;0 released&lt;/li&gt;
&lt;li&gt;Passed security audit&lt;/li&gt;
&lt;li&gt;&lt;a href="https://backstage.io/blog/2022/08/23/backstage-security-audit" rel="noopener noreferrer"&gt;https://backstage.io/blog/2022/08/23/backstage-security-audit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  10x the Effectiveness of Dev Teams with Backstage - David Tuite, CEO, Roadie
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Last 15 yrs brought great strides in eng effectiveness

&lt;ul&gt;
&lt;li&gt;Microservices&lt;/li&gt;
&lt;li&gt;CI/CD&lt;/li&gt;
&lt;li&gt;IDEs&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Cost is fragmentation&lt;/li&gt;

&lt;li&gt;Next 15 yrs about defragmentation&lt;/li&gt;

&lt;li&gt;Great code only matters if people knows it exists&lt;/li&gt;

&lt;li&gt;Backstage allows engineers to know about the great code, and use it instead of building new code from scratch repeatedly&lt;/li&gt;

&lt;li&gt;Templates allow teams to get started with new things quickly&lt;/li&gt;

&lt;li&gt;Need to organize with other teams like Sec and Infra, Backstage enables this&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Building for Developer Happiness - Dave Zolotusky, Principal Engineer, Spotify
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Devs are essentials&lt;/li&gt;
&lt;li&gt;Every business is now a software business&lt;/li&gt;
&lt;li&gt;Rising complexity to develop and scale

&lt;ul&gt;
&lt;li&gt;DevSecFinOps&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Devs at Spotify tell us that they're happy in their jobs, and they stay longer than the industry average&lt;/li&gt;

&lt;li&gt;Effectiveness = f(Productivity, Happiness)

&lt;ul&gt;
&lt;li&gt;Unhappy Devs don't do their best work, and deliver bad code&lt;/li&gt;
&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7lo1optz4zzrapoop429.png" alt="Slide of white text on black background stating Effectiveness = f(Productivity, Happiness)"&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Developers should be able to choose the right tool for the right job, and Backstage can help nudge to use the right tools, and reduce friction&lt;/li&gt;

&lt;li&gt;Goal to make it a critical part of every devs daily workflow&lt;/li&gt;

&lt;li&gt;Spotify wants to continue to share how they&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Spotify Plugins for Backstage&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Available for all adopters&lt;/li&gt;
&lt;li&gt;Open Sourcing homegrown and newly built plugins&lt;/li&gt;
&lt;li&gt;Freemium model&lt;/li&gt;
&lt;li&gt;This will be a paid solution&lt;/li&gt;
&lt;li&gt;Highlights list&lt;/li&gt;
&lt;li&gt;Soundcheck

&lt;ul&gt;
&lt;li&gt;Ensure quality, reliability and alignment of software architecture throughout your org.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;RBAC

&lt;ul&gt;
&lt;li&gt;Use roles to control access to actions and data in Backstage&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Skill Exchange

&lt;ul&gt;
&lt;li&gt;Build a marketplace for short-term learning and growth opportunities in R&amp;amp;D&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Pulse

&lt;ul&gt;
&lt;li&gt;Track metrics that matter and identify gaps in your engineering practices and tools.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Insights

&lt;ul&gt;
&lt;li&gt;Measure usage of Backstage in your organization&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5jcm2gognsjwh0o5y6xz.png" alt="Slide detailing the info on Soundcheck, RBAC, Backstage, Pulse and Insights"&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Providing a Curated Experience for Developers with Backstage - Valentina Alaria, Sr. Director, VMware Tanzu
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Why do we care about Developer Experience?

&lt;ul&gt;
&lt;li&gt;Business depend on DevEx, they depend of developer productivity&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Orgs that have higher dev productivity are fundamentally more effective

&lt;ul&gt;
&lt;li&gt;Able to support bigger and greater innovation&lt;/li&gt;
&lt;li&gt;Able to react to situations, more effectively&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Enterprise Golden Path

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://engineering.atspotify.com/2020/08/how-we-use-golden-paths-to-solve-fragmentation-in-our-software-ecosystem/" rel="noopener noreferrer"&gt;https://engineering.atspotify.com/2020/08/how-we-use-golden-paths-to-solve-fragmentation-in-our-software-ecosystem/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Curated yet Customizable is key to offering order, best practices, and predefined solutions to help devs be consistent, and focus on new functionality vs frequent rebuilding and hunting for tools&lt;/li&gt;

&lt;li&gt;Paraphrase - "All about being able to enable security end to end, while reducing burden on developers"

&lt;ul&gt;
&lt;li&gt;It means that you can support various LOB (Lines of Business) needs without having to rebuild every workflow for each team&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;How can we enable coordination between teams, especially dev and ops&lt;/li&gt;

&lt;li&gt;VMWare found themselves at a fork in the road, between an in house solution or an integrated version of Backstage&lt;/li&gt;

&lt;li&gt;Initial Backstage releases didn't fit their needs, but development on the product rapidly matured, and so they joined the community&lt;/li&gt;

&lt;li&gt;Backstage now powers VMWare Tanzu Application Platform&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Evolution of Backstage Backends - Patrik Oldsberg &amp;amp; Johan Haals, Spotify
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Patrick&lt;/li&gt;
&lt;li&gt;Johan - sick, replacement Charles&lt;/li&gt;
&lt;li&gt;Focus on how Backstage Backends, is changing&lt;/li&gt;
&lt;li&gt;During open sourcing, switch to all Node.JS&lt;/li&gt;
&lt;li&gt;No initial backend plugins&lt;/li&gt;
&lt;li&gt;Goal to enable elaborate plugins, but provide consistent patterns of development

&lt;ul&gt;
&lt;li&gt;Simpler Installation&lt;/li&gt;
&lt;li&gt;Fewer Breaking Changes&lt;/li&gt;
&lt;li&gt;Less Code&lt;/li&gt;
&lt;li&gt;Recognizable&lt;/li&gt;
&lt;li&gt;Easy to evolve and extend&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Current: lots of copy and paste&lt;/li&gt;

&lt;li&gt;New system enables lightweight customizations, while having baked in templating and access for common usage patterns&lt;/li&gt;

&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk8avmyotq3yakrw6arsr.png" alt="Diagram with Title Building Blocks. Diagram holds Backend at the top, Services at the middle, and then an interconnected bottom layer of Plugins, Extension Point and Modules."&gt;&lt;/li&gt;

&lt;li&gt;New model allows sharing of "factories" that can be customized but by default allow it to work between different systems without modification&lt;/li&gt;

&lt;li&gt;This new model will require a migration&lt;/li&gt;

&lt;li&gt;New plugin platform is available now &lt;a href="https://backstage.io/link?new-backend" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://backstage.io/link?new-backend" rel="noopener noreferrer"&gt;https://backstage.io/link?new-backend&lt;/a&gt;
&lt;/li&gt;

&lt;li&gt;No specific timeline but hoping to launch early next year&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Building an Internal Developer Platform with Backstage Plugins - Taras Mankovski, The Frontside Software, Inc
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Era of DevX - Proactive Investment in DX

&lt;ul&gt;
&lt;li&gt;Even 5 years ago, there was little enthusiasm for improving DevX&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;DX Leads to value&lt;/li&gt;

&lt;li&gt;How do we continue to develop the community around backstage&lt;/li&gt;

&lt;li&gt;Leads DX Consulting company - Frontside

&lt;ul&gt;
&lt;li&gt;Backstage Professional Services Partner&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;New Plugin Demo&lt;/li&gt;

&lt;li&gt;Internal Developer Platform Tools

&lt;ul&gt;
&lt;li&gt;Allows dev to download a tool that allows them to use a Backstage Instance via CLI&lt;/li&gt;
&lt;li&gt;Customized for specific instance to enable seamless login and usage&lt;/li&gt;
&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1oei4e5c4690wzgabr3d.png" alt="Slide showing Internal Developer Platforms (IDP) as the title. Mid text "&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Live demo&lt;/li&gt;

&lt;li&gt;Backstage App is not an IDE&lt;/li&gt;

&lt;li&gt;Provides limited use cases

&lt;ul&gt;
&lt;li&gt;Discovery&lt;/li&gt;
&lt;li&gt;Templating&lt;/li&gt;
&lt;li&gt;Doesn't support getting runtime information from other sources&lt;/li&gt;
&lt;li&gt;Outside of the existing Kubernetes integration&lt;/li&gt;
&lt;li&gt;Cannot manage secrets&lt;/li&gt;
&lt;li&gt;Need to manually control them via different systems and tools&lt;/li&gt;
&lt;li&gt;Cannot manage releases&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Dream tool, allows integrated flows between Backstage and IDEs

&lt;ul&gt;
&lt;li&gt;Give developers the option to choose the right tool, to help eliminate noise, and reduce friction&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;"Internal Developer Platforms are a combination of all tools that developers use to run their software."&lt;/li&gt;

&lt;li&gt;Future Ideal State

&lt;ul&gt;
&lt;li&gt;Environments exist in Backstage&lt;/li&gt;
&lt;li&gt;Different cards following existing UI, showing which deployments exist for a specific user/team&lt;/li&gt;
&lt;li&gt;Easily see how it connects to Git and various levels (prod/dev/staging)&lt;/li&gt;
&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frihe2e3kvi6hj2jahr6h.png" alt="Slide title: IDP DX Features: Environments. DX stands for Developer Experience. Mid line: "&gt;&lt;/li&gt;
&lt;li&gt;Secrets Management&lt;/li&gt;
&lt;li&gt;Releases&lt;/li&gt;
&lt;li&gt;Logs&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Goal: How to make a Heroku-like DX on IDPs&lt;/li&gt;

&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkxvq0brmot4lfmuuv4vx.png" alt="Slide title: Last missing piece of Heroku-like DX on IDPs. Mid line: "&gt;&lt;/li&gt;

&lt;li&gt;Code for IDP will be available tomorrow

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://frontside.com/backstage" rel="noopener noreferrer"&gt;https://frontside.com/backstage&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn3eu3iftlsxm6gjgwg9y.png" alt="Slide: Resolvers, IDP specific implementation of each feature, then shows a diagram of the Platform Backend Plugin, and how it connects to Platform API, CLI binaries, resolvers and various plugins and adapters."&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Enabling Developer Experience Journey in U.S. Bank - Ravikumar Tadikonda &amp;amp; Poonam Garg, U.S. Bank
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Lead DevX and DevOps Platform at US Bank&lt;/li&gt;
&lt;li&gt;5th largest Bank in the US, operate globally&lt;/li&gt;
&lt;li&gt;Mission: make it easier to create and manage modern best-of-class software products&lt;/li&gt;
&lt;li&gt;What should we tackle first

&lt;ul&gt;
&lt;li&gt;Our developer and engineer experience, as they constantly faced challenges in building and maintaining solutions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Common Engineering Challenges

&lt;ul&gt;
&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flgxodfxkpv9grr79v5og.png" alt="Slide title: Common Engineering Challenges, and then unchained diagram, showing Day to Day multiple systems, Process, Onboarding New Team Members, Friction, Time to Onboard and Compliance."&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Attempted to build a custom inhouse solution&lt;/li&gt;

&lt;li&gt;After that didn't succeed, they retro'd what they could improve and how that could be possible

&lt;ul&gt;
&lt;li&gt;Key: provide a single pane of glass experience&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Comprehensive Approach:

&lt;ul&gt;
&lt;li&gt;How do we enable devs to create and manage&lt;/li&gt;
&lt;li&gt;Discover and Reuse&lt;/li&gt;
&lt;li&gt;Insight and Control&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Concerns that the environment is highly regulated industry&lt;/li&gt;

&lt;li&gt;Created user personas

&lt;ul&gt;
&lt;li&gt;Engineers&lt;/li&gt;
&lt;li&gt;Auditors&lt;/li&gt;
&lt;li&gt;Managers&lt;/li&gt;
&lt;li&gt;Compliance and risk control owners&lt;/li&gt;
&lt;li&gt;Building a platform that can be extended to support future roles&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;How is Backstage part of our journey?

&lt;ul&gt;
&lt;li&gt;Focus on Create and Manage at this stage&lt;/li&gt;
&lt;li&gt;Blueprints/templates&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;High level architecture

&lt;ul&gt;
&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5lglfi36hyvhfkg7x57y.png" alt="Slide title: High-level architecture. Showing Developer Experience Platform at the top along with core capabilities, and below the expanded multipath experience of a developer attempting to accomplish the high level goal of deploying new code."&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Q&amp;amp;A

&lt;ul&gt;
&lt;li&gt;Rec: Karl Haworth - American Airlines Backstage Implementation - &lt;a href="https://www.youtube.com/watch?v=0hdWil6cXw0" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=0hdWil6cXw0&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Manages 1000s of internal applications and even more sub services&lt;/li&gt;
&lt;li&gt;Have to use approved Open Source libraries and versions&lt;/li&gt;
&lt;li&gt;Cataloging is key to successful management at US Bank&lt;/li&gt;
&lt;li&gt;How do you manage catalogue accuracy while aggregating multiple catalogs?&lt;/li&gt;
&lt;li&gt;System is not 100% comprehensive&lt;/li&gt;
&lt;li&gt;Use entity providers to sync asynchronous

&lt;ul&gt;
&lt;li&gt;Backstage first then down to custom tools&lt;/li&gt;
&lt;li&gt;Vice versa for other tools&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Longterm goals to just be Backstage&lt;/li&gt;

&lt;li&gt;How did you get started with Backstage?&lt;/li&gt;

&lt;li&gt;Took one demo java app and it took about a month to create the first template from that app&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Leading Architectural Change with Backstage - Andy Hoffman, Caribou
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;DevOps manager at Caribou, FinTech&lt;/li&gt;
&lt;li&gt;Caribou's Story

&lt;ul&gt;
&lt;li&gt;Main concern 2 years ago was Cashflow&lt;/li&gt;
&lt;li&gt;Originally named MotoReFi&lt;/li&gt;
&lt;li&gt;Ruby Monolith&lt;/li&gt;
&lt;li&gt;10X Growth during the Pandemic thru July 22&lt;/li&gt;
&lt;li&gt;Need to step back and decompose complexity growth&lt;/li&gt;
&lt;li&gt;Moved to K8s + ArgoCD&lt;/li&gt;
&lt;li&gt;Where to go from here?&lt;/li&gt;
&lt;li&gt;Regulated industry&lt;/li&gt;
&lt;li&gt;Culture is metrics driven, experimental, and psych safety focused&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Understanding Obstacles

&lt;ul&gt;
&lt;li&gt;"It's impossible to guarantee any engineer you hire will understand or have experience with the full tech stack at your company."&lt;/li&gt;
&lt;li&gt;Custom Shop to Assembly Line&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;How Dev Expectations have changed

&lt;ul&gt;
&lt;li&gt;This shift has happened in the last 3 years very quickly&lt;/li&gt;
&lt;li&gt;Must have friction remove&lt;/li&gt;
&lt;li&gt;Need to develop to a polished level internal applications&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;K8s is getting a bad rep

&lt;ul&gt;
&lt;li&gt;Complexity and overhead isn't worth it from devs&lt;/li&gt;
&lt;li&gt;K8s is making the apps less stable&lt;/li&gt;
&lt;li&gt;New Services take too long to stand up&lt;/li&gt;
&lt;li&gt;Copypasta everywhere and too much YAML&lt;/li&gt;
&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feqodhc8grhivv8v0bq4q.png" alt="Slide title: Fear of: K8s is Hard - Because of it's Unknown Learning Curve, Naming - Unintuitive Architectures, Takes Too Long - Unclear Scope, Slows Us Down - Unfamiliar Patterns."&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Naming is Hard

&lt;ul&gt;
&lt;li&gt;As apps become distributed, how do you name your functions and apps&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Infra and Sec teams are slowing us down

&lt;ul&gt;
&lt;li&gt;K8s minimal sec footprint can hinder wide open dev practices&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Anti Pattern of Distributed Monoliths is arising

&lt;ul&gt;
&lt;li&gt;All components are needed for any single component to work&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Cloud Native Platforms around Backstage

&lt;ul&gt;
&lt;li&gt;Backstage can reduce complexity&lt;/li&gt;
&lt;li&gt;DevOps used to enable knowledge sharing&lt;/li&gt;
&lt;li&gt;Backstage eliminates the need for DevOps/Infra/Automation team in a lot of cases&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;ANTLERS - Automatic Normalized Toolchain for Launching Easily Releasable Systems&lt;/li&gt;

&lt;li&gt;Didn't have room to internally scale

&lt;ul&gt;
&lt;li&gt;Hired Roadie to build out their Backstage and ANTLERS&lt;/li&gt;
&lt;li&gt;Call the system the Barn&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Architecture

&lt;ul&gt;
&lt;li&gt;Hard to know where you'll end up, but it's easy to know where you will start&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Simple &amp;amp; Intuitive Architecture == Simple &amp;amp; Intuitive Scaffolder Implementation&lt;/li&gt;

&lt;li&gt;Define Scope and Boundaries early

&lt;ul&gt;
&lt;li&gt;Be intentional about onboarding as it will lead to positive experiences&lt;/li&gt;
&lt;li&gt;Rocky onboarding will leave a bad taste&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Dove into Argo

&lt;ul&gt;
&lt;li&gt;Provisions all of the infra as part of the ArgoCD implementation&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;World of Pain is when a DevOps engineer doesn't think through about conventions when templating YAML&lt;/li&gt;

&lt;li&gt;Registering Resources at the Domain Level, sign off at levels driven by eng org&lt;/li&gt;

&lt;li&gt;Git driven governance&lt;/li&gt;

&lt;li&gt;Leverage Helm + Backstage Scaffolder&lt;/li&gt;

&lt;li&gt;Maturity Model -&amp;gt; Focus on Lifecycle Management including building in time for known upgrades as systems become routine&lt;/li&gt;

&lt;li&gt;"How do we ask other teams to accept change, without acknowledging their suffering"&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is This Tech Insights Anyways? - Jussi Hallila &amp;amp; Irma Solakovic, Roadie
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tech Insights Plugin&lt;/li&gt;
&lt;li&gt;2 Core Engineers who developed it&lt;/li&gt;
&lt;li&gt;Searching for an automated way to keep things organized and understand the relative value and usage (software quality)&lt;/li&gt;
&lt;li&gt;Introduced Scorecards to measure the quality of software

&lt;ul&gt;
&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffi7xfuvdmyj0161pm886.png" alt="Slide Title: Measure the Quality of Software with Scorecards, and then shows an image of a demo app scoring 75%"&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Focused on visualizing what matters most

&lt;ul&gt;
&lt;li&gt;EX Snyk critical vulns over time&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Identify teams that need the most support

&lt;ul&gt;
&lt;li&gt;Low quality ratings across related apps visualizes a previously hidde struggle&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Automated nudges via Slack/ChatOps&lt;/li&gt;

&lt;li&gt;
&lt;a href="https://roadie.io/backstage/plugins/tech-insights/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://roadie.io/backstage/plugins/tech-insights/" rel="noopener noreferrer"&gt;https://roadie.io/backstage/plugins/tech-insights/&lt;/a&gt;
&lt;/li&gt;

&lt;li&gt;Backstage directly supports SQLite and Postgres&lt;/li&gt;

&lt;li&gt;Facts

&lt;ul&gt;
&lt;li&gt;Data retrieved from external sources&lt;/li&gt;
&lt;li&gt;Data already in Backstage&lt;/li&gt;
&lt;li&gt;Can be customized to query against any database but designed around the SQLite or Postgres&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Calculations

&lt;ul&gt;
&lt;li&gt;Checks - Boolean/True or False&lt;/li&gt;
&lt;li&gt;Aggegations, Accumulations and Indicators&lt;/li&gt;
&lt;li&gt;Visualize data from databases and retrieved facts&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Visualizations

&lt;ul&gt;
&lt;li&gt;Scorecards&lt;/li&gt;
&lt;li&gt;Graph Cards&lt;/li&gt;
&lt;li&gt;Aggregate visualizations&lt;/li&gt;
&lt;li&gt;Others&lt;/li&gt;
&lt;li&gt;Initiatives, migrations and other tech insights

&lt;ul&gt;
&lt;li&gt;Ex: Tracking how teams are doing on migrations like Helm2 to Helm3&lt;/li&gt;
&lt;li&gt;They used Python2 to Python3&lt;/li&gt;
&lt;li&gt;Link: &lt;a href="https://www.youtube.com/watch?v=K3xz6VAbgH8" rel="noopener noreferrer"&gt;How to get an overview of your tech health (Tech Insights plugin) in Backstage (Demo)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;li&gt;How to Use Tech Insights now

&lt;ul&gt;
&lt;li&gt;Create fact retrievers&lt;/li&gt;
&lt;li&gt;Create checks&lt;/li&gt;
&lt;li&gt;Configure the app to display scorecards based on checks&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Open to contributions?&lt;/li&gt;

&lt;li&gt;Available on Hosted Backstage at Roadie.com&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Measuring Developer Happiness: Analytics for Backstage - Eric Peterson, Spotify
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a class="mentioned-user" href="https://dev.to/iameap"&gt;@iameap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Worked at Tableau for 8 years, been doing Backstage for 2 years, lives in Rural Sweden&lt;/li&gt;
&lt;li&gt;DevX Story

&lt;ul&gt;
&lt;li&gt;The Review, Build, Feedback Loop&lt;/li&gt;
&lt;li&gt;Time spent waiting for either peer or CI/CD feedback between builds&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Translating the DX into Data in Backstage&lt;/li&gt;

&lt;li&gt;Show the grammar of Backstage so you can visualize your own devs stories&lt;/li&gt;

&lt;li&gt;Backstage Analytics Architecture

&lt;ul&gt;
&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F80kv9nwf644vgewpkb8w.png" alt="Slide title: Backstage Analytics Architecture. Bullet Points: Event-based system, Plugins fire events using core API, Apps provide an implemntation, Which translates and forwards to an analytics platform or service. Half of slide devotes to matching diagram."&gt;&lt;/li&gt;
&lt;li&gt;Subject -&amp;gt; Noun&lt;/li&gt;
&lt;li&gt;Action -&amp;gt; Verb&lt;/li&gt;
&lt;li&gt;Attributes -&amp;gt; Adjectives&lt;/li&gt;
&lt;li&gt;Context -&amp;gt; Adverbs&lt;/li&gt;
&lt;li&gt;Extension-Derived Context&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Works out of the box, if you use the core createPlugin function in your plugins&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  How We Scaled Catalog Ingestion to Hundreds of Thousands of Entities - Damon Kaswell, HP Inc.
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;200K objects needed to be ingested from a single provider&lt;/li&gt;
&lt;li&gt;How do you make data objects you have no control over, searchable?&lt;/li&gt;
&lt;li&gt;HP has just about everything new and everything old in terms of tech stack&lt;/li&gt;
&lt;li&gt;Backstage kept getting slower as their usage increased&lt;/li&gt;
&lt;li&gt;V1 - mostly out of the box Backstage:

&lt;ul&gt;
&lt;li&gt;Catalog Processors emitting locations, read by other Catalog Processors&lt;/li&gt;
&lt;li&gt;Recursion!&lt;/li&gt;
&lt;li&gt;No control or schedule around ingestion&lt;/li&gt;
&lt;li&gt;Locations polluting the catalog&lt;/li&gt;
&lt;li&gt;Entities would eventually show up, but took a long time, and wasn't reliable&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;V2 - Backstage with Entity Providers

&lt;ul&gt;
&lt;li&gt;Still lots of overlap and recursion&lt;/li&gt;
&lt;li&gt;Didn't resolve slowness, and may have made it worse&lt;/li&gt;
&lt;li&gt;Did have benefits in ability to clear orphaned resources automatically&lt;/li&gt;
&lt;li&gt;Esp users who are no longer active&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftfnz10fmbkxsyt325snh.png" alt="Slide Title: Catalog Processors vs Entity Providers. Neither meets our scaling needs out of the box. Catalog Processor, Pros list: Simple to implement, meature feature, one-stop shop for entity ingestion. Cons list: Leaves behind orphaned entities, creates long delays in entity ingestion, better for entity "&gt;&lt;/li&gt;

&lt;li&gt;Both design patterns fail to meet scaling needs out of the box&lt;/li&gt;

&lt;li&gt;Started running into DB Concurrency issues with V2&lt;/li&gt;

&lt;li&gt;Solution

&lt;ul&gt;
&lt;li&gt;Incremental Entity Providers&lt;/li&gt;
&lt;li&gt;Built in incremental backoff&lt;/li&gt;
&lt;li&gt;Data Sources must support pagination&lt;/li&gt;
&lt;li&gt;Optimizing the processing loops&lt;/li&gt;
&lt;li&gt;Commiting to front loading all async operations into the Incremental Entity Provider, and banned them from Catalog Processors&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Success in decreasing the the running average from 4+ hours in mid July to about a half hour for an entity to be found and scheduled, to then be ingested

&lt;ul&gt;
&lt;li&gt;Longest they ever saw was over 1 day&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Newest iteration in dev is ingesting new entities in about 15 minutes

&lt;ul&gt;
&lt;li&gt;With a full challenge of ingesting all resources from zero!&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Looking to open sourcing it in November of this year&lt;/li&gt;

&lt;li&gt;How can the Backstage community focus not just on making tools that get new teams from 0 to 1 quickest, but solutions that will work in 2+ years

&lt;ul&gt;
&lt;li&gt;Enterprise functional deployments&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwx9kzpstcxhal1pl7lv7.png" alt="Summary, How we made Backstage catalog ingestion scale. Incremental entity Providers: more flexible scheduling, more resilient, more manageable, able to handle large data sources. Reconfigured processors: no asynchronous operations, processing an entity now takes milliseconds. What we learned: The advice new adopters receive needs to be optimized for scaling out of the box, The design solution you use on day 1 should still work on day 700, lag in processing is cumulative, if there's lag with 1,000 entities, there will be much more lag with 100,000, Backstage can absolutely scale to handle these loads, it's a powerful platform."&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  A Picture is Worth a Thousand Words: Bring Data Visualization in Backstage - Olivier Liechti, Avalia Systems
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Deep dive demo into visualizing data with Vega.JS and D3.JS and how this can be used inside of Backstage&lt;/li&gt;
&lt;li&gt;Similar to Tech Insights, but need deep understanding of D3.JS and Vega.JS, if skill is already there should be seamless&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What We Learned During Our Journey in Using Backstage at DAZN - Marco Crivellaro, DAZN
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;DAZN - Italian Media Company&lt;/li&gt;
&lt;li&gt;Dev Success provides support to 700+ devs in their org&lt;/li&gt;
&lt;li&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxt5nhwzgq18u10dfhej9.png" alt="Slide Title: So many questions. Bullet points: which team owns a given service? What does such service do? Where can we find the code? Where is it deployed to? What are its dependencies?"&gt;&lt;/li&gt;
&lt;li&gt;The dazn-manifest&lt;/li&gt;
&lt;li&gt;Started to integrate with Backstage in early 2021&lt;/li&gt;
&lt;li&gt;Start small and build piece by piece

&lt;ul&gt;
&lt;li&gt;Can get way too deep in the plugin ecosystem&lt;/li&gt;
&lt;li&gt;Get to the core of your needs, and get 1 thing working, and then the next&lt;/li&gt;
&lt;li&gt;Don't try and launch every plugin, as devs will dive deeper than you&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;They focused on Software Catalog -&amp;gt; Tech Docs and are now working on Scaffolder&lt;/li&gt;

&lt;li&gt;Don't be afraid to get your hands dirty&lt;/li&gt;

&lt;li&gt;Could be painful though

&lt;ul&gt;
&lt;li&gt;Custom integrations can be a rabbit hole&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Don't let Backstage become your single source of truth

&lt;ul&gt;
&lt;li&gt;Hinderance to disaster recovery if you lose backstage&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Lightning Talks
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Talking in Backstage: How to Navigate the Business and Engineering Vocabulary - Jorge Lainfiesta, Roadie
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Why? Language is hard&lt;/li&gt;
&lt;li&gt;Developed Course: Introduction to Backstage - &lt;a href="https://www.classcentral.com/course/introduction-to-backstage-developer-portals-made--110320" rel="noopener noreferrer"&gt;https://www.classcentral.com/course/introduction-to-backstage-developer-portals-made--110320&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Adopting Backstage is an org-encompassing initiative

&lt;ul&gt;
&lt;li&gt;Creates a lot of possibility, but will need to work through a lot of org wide friction&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Terms

&lt;ul&gt;
&lt;li&gt;Doers - Get the work of backstage running&lt;/li&gt;
&lt;li&gt;Sponsors - Communicate and vouch for the need during the building phase&lt;/li&gt;
&lt;li&gt;Users - Interact with backstage and provide a reason for it to exist&lt;/li&gt;
&lt;li&gt;Backstage is a platform for making developer portals&lt;/li&gt;
&lt;li&gt;Developer Portal - A self-service one-stop shop&lt;/li&gt;
&lt;li&gt;Discoverability - How easy it is to find something&lt;/li&gt;
&lt;li&gt;Software Catalog - a structured collection of all software assets&lt;/li&gt;
&lt;li&gt;Not just a list!&lt;/li&gt;
&lt;li&gt;Can have 100s of 1000s of entities that are searchable and consumable in Backstage&lt;/li&gt;
&lt;li&gt;Entities - a unit of information stored in a catalog&lt;/li&gt;
&lt;li&gt;Search - a way of discovering across sources&lt;/li&gt;
&lt;li&gt;Plugins - your Backstage features&lt;/li&gt;
&lt;li&gt;New features are added by building internal or integrating external plugins&lt;/li&gt;
&lt;li&gt;Self service - allows you to access or build something without needing to start a communication process&lt;/li&gt;
&lt;li&gt;Open Source - Not Free&lt;/li&gt;
&lt;li&gt;Community - Power&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Building and Contributing Our First Plug-In at TELUS - Isaiah Thiessen, TELUS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Over 80 open source plugins in Backstage since launch ~ 2 years ago&lt;/li&gt;
&lt;li&gt;How he developer his first plugin&lt;/li&gt;
&lt;li&gt;Creator of the Backstage &lt;a href="https://github.com/backstage/backstage/pull/11754" rel="noopener noreferrer"&gt;Dynatrace plugin&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Fell in love with how good the Backstage plugin docs were&lt;/li&gt;
&lt;li&gt;Backstage Storybook - &lt;a href="https://backstage.io/storybook/?path=/story/plugins-examples--plugin-with-data" rel="noopener noreferrer"&gt;https://backstage.io/storybook/?path=/story/plugins-examples--plugin-with-data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Learned how to use React as a backend dev&lt;/li&gt;
&lt;li&gt;Combined Frontend Components -&amp;gt; Backstage Backend Proxy -&amp;gt; API&lt;/li&gt;
&lt;li&gt;Worked with Tellus' Open Source office to get it shipped&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Medium Services Manifesto</title>
      <dc:creator>Camille Clayton</dc:creator>
      <pubDate>Wed, 23 Feb 2022 13:23:28 +0000</pubDate>
      <link>https://dev.to/camclay/medium-services-manifesto-4am</link>
      <guid>https://dev.to/camclay/medium-services-manifesto-4am</guid>
      <description>&lt;p&gt;This page is an ode to the middle, properly scaled, efficient, and manageable systems. It pays homage to building services that will be useful, profitable, and won't leave you crying at midnight.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who I am&lt;/strong&gt;: I am &lt;a href="https://www.linkedin.com/in/camilleclayton/"&gt;Camille Clayton&lt;/a&gt;. I have 8 years of system design and engineering experience, sprinkling in application development, user training, documentation writing, and some other twists and turns. Through this article, I hope to share a bit about building human-centered systems, question the status quo of monolith vs. microservices, and share a bit of love for well-rounded systems!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Is Unique About a Medium System&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A defining characteristic is a system with essential business functions, value, and known boundaries regarding maximum user input and interaction. It will have known and manageable external constraints. This does not apply to public user-facing apps with an unbounded maximum of users and need to scale under unexpected load; see the &lt;a href="https://en.wikipedia.org/wiki/Slashdot_effect"&gt;Slashdot effect&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A medium system may need to scale dramatically, but it’s usually during planned or known times, like financial systems during tax season.&lt;/li&gt;
&lt;li&gt;A medium system may have once been a large-scale system, especially in government, finance, scientific research, and other early computing adopting industries. As user levels and logic needs stay relatively static, these industries may not need major system resource increases, especially for internal systems.
&lt;/li&gt;
&lt;/ul&gt;




&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Know Your Environment&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you aren't at the scale of Google or Amazon, where you're registering millions and possibly billions of transactions per second, you can likely get away with a simpler design pattern. This will save you time, energy and headaches.&lt;/li&gt;
&lt;li&gt;If you are near that scale or actively facing scaling problems, read Google or Amazon’s whitepapers on their design choices. There are clear reasons why these large, complex, and global scale systems exist; it will also exemplify times and opportunities to use them. Ex: CDNs (Content Delivery Networks).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Be Willing to Sacrifice&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Not every service, piece of code, or server stood up will be useful in one or more years down the road.&lt;/li&gt;
&lt;li&gt;Work to develop a process to sunset services, deprecate systems, and annotate documentation when these items are no longer in use.&lt;/li&gt;
&lt;li&gt; Keeping your system lean enables you to develop new features more easily and minimize the amount of upgrading and patching for under or unused systems.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Design the Systems You Need&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; It's easy to be fascinated by new tooling, paradigms, and technologies, but the reality is most software already has a solution.&lt;/li&gt;
&lt;li&gt;By relying on known technologies, and ones you and your team are comfortable with, you will significantly reduce your internal friction and ramp up time. In the long term, this gives you a runway for future innovation.&lt;/li&gt;
&lt;li&gt;Dan McKinley talks more about relying on foundational technologies in their essay &lt;a href="https://mcfunley.com/choose-boring-technology"&gt;"Choose Boring Technologies"&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Choose a Queueing Service&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand its quirks and set up alerts, and never let anyone enable a second queuing service.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;You Don't Need 2 Databases&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you're deciding on whether to expand your schema or add a second database, you likely have a different need. In that case, you should hire a DBA or a Data Consultant.&lt;/li&gt;
&lt;li&gt;Unless you're writing millions of transactions a second, and need the ability to have data be desynchronized to get additional speed of writes, you're better off reevaluating your current schema. &lt;/li&gt;
&lt;li&gt;You should look at optimization technologies like &lt;a href="https://redis.io/"&gt;Redis&lt;/a&gt;, or management technologies including &lt;a href="https://flywaydb.org/"&gt;Flyway&lt;/a&gt; or &lt;a href="https://liquibase.org/"&gt;Liquibase&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Automation is Essential&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The longer your team takes to decide on an automation platform, or if they split into multiple platforms, the longer each revision to infrastructure and code will take.&lt;/li&gt;
&lt;li&gt;Automation is a keystone for the functionality or dysfunctionality of your teams. Automation platforms should be boring foundational tools that enable you to to create higher-level products with expected repeatability quickly. &lt;/li&gt;
&lt;li&gt;If your tooling is not repeatable, this should be prioritized and cleared as a roadblock.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Everything You Add Will Need to Be Maintained&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whenever a system, service, app, or site is being developed, questions need to be asked. Who will maintain this new thing? What team will it be dedicated to, and will it be shared amongst development groups? Will it be owned by a platform team? &lt;/li&gt;
&lt;li&gt;This should be decided early on, documented, and sent out via email with positive confirmation. &lt;/li&gt;
&lt;li&gt; Deciding these things after something has been implemented can devolve into months-long turf wars that no one wants or needs.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Know Your Users&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Listen to your users. Figure out what they’re using and if they have any pain points.&lt;/li&gt;
&lt;li&gt;Happy users will let you test new systems out and innovate accordingly. Unhappy users will keep you pinned down and reworking until it's right.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Work With Your Stakeholders&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In consulting, this is usually an external role. In medium to large companies, this is usually internal, and it goes by many names, whether it's a Product Manager, Project Manager, Application Owner, and more. Regardless, this person or persons holds the keys between your system and end users. Having this individual on your team’s side is vital to keeping focused, clear objectives and aligning your business and teams for success.&lt;/li&gt;
&lt;li&gt; If you're an engineer, an architect, or otherwise involved in the day-to-day of building and maintaining a system, developing a good working relationship with this person is crucial. This will allow you to get  buy-in for the hard stuff, refactoring and removing tech debt, and the ability to innovate beyond changing the colors of buttons.&lt;/li&gt;
&lt;li&gt;Invest in your stakeholders work happiness, as they hear from management and users directly. They often know of additional aggregate pain points, even if they don't bring them up at every sprint review. Even if you can't work on them today, sorting out the longer-term issues can often help you prevent them from becoming active fires down the road. It can allow you to find ways to incrementally mitigate them if there's time between sprints.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Share Your On-Call Rotation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Historically, on-call was the responsibility of Ops folks. In the 2010s, there have been blog posts and thinkpieces that Devs should be part of the rotation or if SREs should guide in the formation of rotations. In working through various rotations since 2014, I've come to the simpler conclusion: everyone should be part of the rotation including non-technical managers and analysts.&lt;/li&gt;
&lt;li&gt;I call this the &lt;strong&gt;Town Crier Method&lt;/strong&gt;, and my key insight is that if everyone is getting woken up for issues, it's more likely for issues to get long-term resolutions. This even includes folks who can't directly resolve the issue but can help with contacting additional engineers and documenting the incident. No one wants to be responsible for a non-functional system.&lt;/li&gt;
&lt;li&gt;There is also additional camaraderie to be found when a wider group helps resolve issues. It visualizes to stakeholders and non-technical team members these critical incidents, in a clear and immediate manner.&lt;/li&gt;
&lt;li&gt;Thirdly, the larger an on-call rotation is, the lighter the impact is on everyone's free time yearly. The difference between a 10 and 20-person weekly rotation with a primary and backup is being on-call for 36 days a year, instead of 72.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@marvelous?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Marvin Meyer&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/networking?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>appdev</category>
      <category>devops</category>
      <category>cloud</category>
      <category>architecture</category>
    </item>
    <item>
      <title>How to Replace Oracle JRE with Amazon Coretto JRE on Windows Desktops</title>
      <dc:creator>Camille Clayton</dc:creator>
      <pubDate>Mon, 23 Dec 2019 18:46:22 +0000</pubDate>
      <link>https://dev.to/camclay/how-to-replace-oracle-jre-with-amazon-coretto-jre-on-windows-desktops-7im</link>
      <guid>https://dev.to/camclay/how-to-replace-oracle-jre-with-amazon-coretto-jre-on-windows-desktops-7im</guid>
      <description>&lt;h1&gt;
  
  
  2019 is coming to a close, and this quick guide will get your JRE cleared up for the next decade
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://www.infoworld.com/article/3284164/oracle-now-requires-a-subscription-to-use-java-se.html"&gt;Starting in 2018, Oracle began charging for Java SDK and JRE licenses for business use.&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;If you as a freelancer or your company, are using the Java Runtime Environment (JRE), but not the Java Development Kit(JDK), you may have been unaware of this change. Not to worry, multiple companies and projects are offering compatible versions of JRE and JDK.&lt;/p&gt;

&lt;p&gt;The main player in this space is the &lt;a href="https://openjdk.java.net/projects/"&gt;OpenJDK project&lt;/a&gt;, but there are others including &lt;a href="https://aws.amazon.com/blogs/opensource/amazon-corretto-8-generally-available/"&gt;Amazon Coronetto&lt;/a&gt;, which we'll walk through using today.&lt;/p&gt;




&lt;p&gt;To download the latest version of Amazon Coretto's JRE 8 head to this &lt;a href="https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html"&gt;link&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;From that page download the zip file that corresponds with your version of Windows, either x64 or x86. Most people need x64 but if you don't know which to choose, here's &lt;a href="https://support.microsoft.com/en-us/help/15056/windows-32-64-bit-faq"&gt;how to find out&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Going forward the instructions will be for x64, but should be very similar if you chose x86.&lt;/p&gt;

&lt;p&gt;Extract the zip file to C:\Program Files\Java, this will extract a folder named jre8.&lt;/p&gt;

&lt;p&gt;Now go to your Start Menu, and find Java, and then choose Configure Java.&lt;/p&gt;

&lt;p&gt;It will open a window, and you should then choose the third tab that says Java.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--crH4Fflt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tebpmx6yaqr4zqhbjynd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--crH4Fflt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tebpmx6yaqr4zqhbjynd.png" alt="Java Configure Window showing Tabs in the Window"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then click the View button.&lt;/p&gt;

&lt;p&gt;On the next window under User choose Find.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---89aMg2K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/d9crqe09isifk5ee7flk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---89aMg2K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/d9crqe09isifk5ee7flk.png" alt="Java Runtime Environment Settings View Window with User and System Options"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate to C:\Program Files\Java\jre8\  then choose Next and it should find bin\javaw.exe, and then choose Finish.&lt;/p&gt;

&lt;p&gt;Back on the View Window, unclick the older Oracle JRE versions.&lt;/p&gt;

&lt;p&gt;Choose Ok.&lt;/p&gt;

&lt;p&gt;You can then test using a Java applet or program, to see if the JRE is working.&lt;/p&gt;

&lt;p&gt;Hopefully this document helps you out, if you have any questions feel free to find me on &lt;a href="https://twitter.com/camofclay"&gt;Twitter @camofclay&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>java</category>
      <category>jre</category>
      <category>oracle</category>
      <category>windows</category>
    </item>
  </channel>
</rss>
