GitOps
Declarative Continuous DeploymentThis 50-minute video explores GitOps as an approach to Continuous Deployment for cloud-native applications. Keyhole Software Principal Architect, Jaime Niswonger, leads the lecture.
Recording
This video was recorded December 2020 at a Keyhole Software internal employee Lunch & Learn event.
GitOps Recording
GitOps Fundamentals and Basic ImplementationsGitOps Video Overview
GitOps provides a declarative approach for improving the management of application delivery.
Keyhole Software Principal Consultant Jaime Niswonger discusses basic GitOps fundamentals and various implementations in a Kubernetes environment. He covers GitOps best practices that unify deployment, management, and monitoring for containerized clusters and applications.
Though focused on Kubernetes, the broad concepts apply to other environments. Jaime includes his own experiences and what he has seen working with companies across various industries.
- Imperative CD Intro and Demo
- Declarative CD Intro
- GitOps Basic Principles
- ArgoCD Intro
- Declarative CD with ArgoCD
- Using Helm
Related GitOps Resources
- It’s important to thoroughly consider both the benefits and drawbacks of microservices architecture before you implement it. It’s also important to implement robust testing strategies...
- In this post, I'll discuss how I’m currently working to migrate a suite of apps from Docker Swarm to Kubernetes.The client chose this migration to...
- Keyhole Software gives readers an in-depth code walkthrough and tutorial for how to integrate Avaya Agent for Desktop using React and SignalR.This integration allows the...
- A new trend of creating applications is emerging called Jamstack. No, this isn’t slapping together your favorite flavor of jelly (grape is the best) with...
- Welcome to the fourth and final installment of Creating an FHIR API with GCP. So far, we’ve covered a lot!We discussed the differences between Google...
- This is Part 3 of our series on creating an FHIR API using Google Cloud’s offering. In the last installment, we began implementing an FHIR...
- Welcome back to our series, Creating an FHIR API. This is Part 2 in our 4-part series on standing up an FHIR using GCP. In...
- Data interoperability is one of the hardest problems in Healthcare IT. The most popular approach is to exchange HL7v2 messages between systems. These pipe-delimited messages...
- A 35-minute discussion for application developers considering a multi-cloud approach, including potential advantages, pain points, and tradeoffs to be aware of.
- The purpose of this demo is to show you how easy it is to leverage Power Apps to quickly create an internal Attestation page. Power...
- In this white paper, Keyhole Software offers guiding principles as experts in developing custom applications that increase the probability of success in embracing a multicloud infrastructure....
- A one-hour discussion of Continuous Delivery with GitOps (using Kubernetes) with key concepts and real-time examples featuring trunk-based development and feature flags.
- Amazon Lightsail allows a developer to build applications and websites fast, with very little cost, using pre-configured cloud resources on AWS. You can create a...
- Developing custom applications is one of the hardest professional endeavors, and making them secure is even harder. Malicious actors are constantly changing tactics and strategies,...
- A 55-minute dive into the "Serverless" framework, an open-source tool that aims to simplify building, packaging, and deploying serverless applications across multiple cloud providers and...
- In this post, I'll show you how to use the new, web-based interface in Cloudflare to quickly configure a tunnel to your local resources for...
- This is my take on working with Kendo Grid in a Vue 3 project. While I have not explored the grid functionality to the nth...
- Kubernetes, or k8s, is an important container orchestration platform. In this blog, I'll describe creating a workable Kubernetes cluster implemented on a stack of four...
- The steps described in this blog post allow for the adding of a Logic App on Azure to append rows to an Excel file. It...
- Back in 2015 and 2016, I wrote two blogs that went step by step to develop a microservice/Netty architecture with fully working code called Whirlpool.A...
- This presentation explores a Terraform-based approach to Infrastructure as code. Infrastructure is becoming more and more important for us as developers to understand and develop;...
- In this post, l explain how we used Visual Studio Code’s Development Container feature as a stepping stone in our long-term effort to achieve Collaborative...
- We are excited to announce that Keyhole Software is a Red Hat Ready Partner.This collaboration with Red Hat indicates Keyhole Software’s commitment to providing superior...
- In this blog, we utilize the strengths of Docker containers to quickly spin up two separate containers that we can utilize for our software development...
- Recently, while working for a large healthcare client in New York, I ran into an interesting problem that had slim literature on how to solve...
- Microservices has become a catch-all term in the industry used to describe anything from architecture patterns to actual service implementations.With such a broad spectrum, it...
- In this post, I will be introducing three strategies that can help Node developers who wish to loosen their code. First, we’ll cover microservices with...
- On my last two projects, I decided to give Azure Data Studio a try to see how it measured up to SSMS. Azure Data Studio...
- GitKraken is a graphical user interface for Git built on top of the Electron framework - much like the popular Visual Code editor is. GitKraken...
- GitOps provides a declarative approach for improving the management of application delivery.In this 50-minute video, Keyhole Principal Consultant Jaime Niswonger discusses basic GitOps fundamentals and...
- I have found myself in the following scenario many times throughout my career. Everyone is ready to get the project started. You know what you...
- Infrastructure as Code (or IaC) is the process of using code and versioning in the same way you do your source code to manage your...
- This is a tutorial for how to use the VS Code Remote-Containers extension to containerize your development environment. First, I will discuss my reasons for separating...
- Azure Service Bus is a message-queueing technology. In this introductory blog, you will learn what Azure Service Bus is and when to use it, see...
- In this post, we will set up continuous deployment using Azure’s Deployment Center. Continuous Deployment is used to shorten the release cycle and quickly get...
- Every long-term project will outlive at least some of the technologies it was originally built with. For example, a project I have been involved with...
- When it comes to the science of genomics, Amazon’s AWS is by far the platform of choice for most organizations. But, just like in the...
- Push notifications are a vital feature for today’s enterprise mobile applications. Why are they so important? They allow the business to communicate with its users...
- Many IT budgets are consumed by maintaining existing applications and resources, and getting out from under the weight of these existing applications can be daunting—schedule...
- Git has many features, but it’s likely that you only use a small subset on a daily basis. While git tends to handle things intelligently...
- This is a perfect opportunity for us to explore cloud serverless offerings as the ultimate contact-less development option. While COVID-19 continues to make face-to-face collaboration...
- Recording Details This 55-minute video features Keyhole Principle Consultant David Pitt in May 2020 at the Hyperledger KC User Group sponsored by Keyhole Software. Copyright Keyhole...
- We are excited to announce that Keyhole Software has achieved the Microsoft Gold Competency status.Joining this elite tier of Microsoft Partners signifies that Keyhole stands...
- The Keyhole team is proud to announce the publishing of a new white paper: Tracking Lab Results Better with Blockchain Technology.There are many viable use...
- The Keyhole Labs team has announced that the Keyhole Fabric API Gateway has been accepted into Hyperledger Labs.Hyperledger® Labs is a community-based innovation space gathering...
- So you want to host a web application on Azure with minimal overhead, but how is this done? Azure makes it possible by running an...
- Join us for a remote Hyperledger meetup over the lunch hour! We're choosing to host a virtual meeting due to COVID-19 and hope that you’ll...
- We are excited to announce Keyhole Software’s partnership with Microsoft to sponsor Azure App Modernization and Innovation Day on April 15, 2020.During this free community...
- We are excited to announce Keyhole Software’s partnership with Microsoft to sponsor Azure App Modernization and Innovation Day on April 15th, 2020.During this free community...
- We are pleased to announce that Keyhole Software is a Gold Sponsor of the 2020 Blockchain KC Conference! Our very own principal consultant and managing...
- The last few years have seen a lot of movement to bring applications that don't require manual intervention from the mainframe to Unix, Linux, Windows...
- This 60-minute video features Keyhole Principle Consultant David Pitt in December 2019 at the Hyperledger KC User Group sponsored by Keyhole Software. Copyright Keyhole Software,...
- The Keyhole Labs team is proud to announce the release of the Byzantine API Gateway, a new addition to our Byzantine Tools initiative. The Byzantine API...
- When the Microservices approach became popular a few years ago, many companies rushed to build their own microservices or to convert their legacy applications into...
- The Azure cloud platform is vast and it can be difficult to determine the best option given unique requirements. This video discusses six options within...
- Join us for the fourth learning event of the new Hyperledger Kansas City Meetup group - this time over the lunch hour!Hyperledger Fabric a general-purpose...
- Keyhole Software is excited to announce our very own David Pitt will providing a technical workshop at the University of Arkansas Blockchain Hackathon on November...
- Facial recognition is both amazing and horrifying. Some amazing things it can do is the ability to find missing children or seniors, using your face...
- The Keyhole team is excited to share an internal educational video that is now available to the public. In our first-ever video release, we discuss...
- I am working on a project that leverages both Azure Functions as well as Cosmos DB. In trying to get both of these components wired...
- This blog is about my dalliance with Elm; a purely functional, statically typed language that has type inference. It compiles to JavaScript. Functional programming is...
- The big three cloud providers (AWS, Azure, and Google Cloud, in that order) have their various strengths and areas of expertise. Most large organizations though...
- AWS SQS (Simple Queue Service) can provide developers with flexibility and scalability when building microservice application(s). In this quick start tutorial, we will demonstrate how...
- I'm a big fan of Amplify. I'm also a big fan of TypeScript. Amplify is not built with TypeScript, and to use it effectively, sometimes...
- Part of the Solid Foundations Learning SeriesThis is an in-depth learning series focused on a specific application: a JavaScript-based suite of single-page applications optimized for...
- In my previous blog post, I showed running a Spring Boot Java application in AWS Lambda. I discussed the pros and cons of using Java...
- Part 5 of the Solid Foundations Learning Series This is an in-depth learning series focused on a specific application: a JavaScript-based suite of single-page applications optimized for...
- There are two ways to create React components, using functions or classes. A common question when learning React is often “When do I use which?”...
- The Keyhole Labs team has announced that the Byzantine Config has been accepted into Hyperledger Labs.Hyperledger® Labs is a community-based innovation space gathering people who...
- In our prior segments of this series, we addressed being able to add in pages to the application and have them automatically registered with the...
- Remember when Netflix first came out with its suite of distributed components? It included Eureka for service discovery, Hystrix for circuit breaking, and Zuul for...
- I’ve been in the software development business for a long time and I can’t tell you how many login screens with authentication logic I have...
- This is an in-depth learning series focused on a specific application: a JavaScript-based suite of single-page applications optimized for use in a microservice environment. We...
- This is an in-depth learning series focused on a specific application: a JavaScript-based suite of single-page applications optimized for use in a microservice environment. We focus...
- Part of the Solid Foundations Learning Series This is the introductory post to an in-depth series of articles that will tell the story of why and...
- As organizers of the new official Hyperledger Kansas City Meetup, the Keyhole Software team is excited to host the third meetup of the group on...
- Microservices? Yeah, you’re doing it wrong.Microservices is a silver bullet, magic pill, instant fix, and can't-go-wrong solution to all of software’s problems. In fact, as...
- We are proud to announce that Keyhole Software has earned its status as an Amazon Web Service Consulting Partner.Keyhole Software is now a Standard Tier...
- Blockchain is all the buzz now. And for good reason! A distributed public ledger that is extremely secure through encryption?! Imagine the millions of applicable...
- The Keyhole Labs team has announced the release of Byzantine Tools, a series of blockchain open source projects to enhance Hyperledger blockchain networks.Keyhole Labs is a...
- Blockchain has gotten the software world buzzing about its potential applications in different business areas. With the US spending 17.9% of its GDP on healthcare...
- Keyhole Labs would like to announce the name change of our open source tool for Hyperledger Fabric blockchain networks. Previously known as the Keyhole Software Blockchain...
- As organizers of the new official Hyperledger Kansas City Meetup, the Keyhole Software team is excited to host the second meetup of the group scheduled for Tuesday,...
- Have you ever received endless notifications from the latest application you just downloaded? For example, a bank application that tells you your balance is less...
- As Keyhole consultants, we are exposed to a plethora of technology stacks and implementations from client project to client project. Particularly with our enterprise clients,...
- ProblemI was pushing a new Docker image tag for each application code commit, and the admins of the private registry were getting annoyed at how...
- My favorite new technology as a developer is serverless computing. The convenience and cost make it a very compelling choice for running options in the...
- The Keyhole Software team is excited to announce that we are the new organizers of the official Hyperledger Kansas City Meetup group.This meetup group will...
- I am assisting a client that is migrating from a monolithic legacy application to a modern Microservice stack with Spring REST. We are helping to...
- We are proud to announce the new release of a Hyperledger Fabric Blockchain Browser open source web application. This application utility allows developers and operators...
- We are excited to announce the next free public Keyhole Software educational event in Omaha: Blockchain for the Enterprise in Action.This Breakfast Boost event is...
- When developing in React, using a type system (like Typescript or Flow) can be a great help. You can be sure that your props and...
- The Keyhole Labs team has announced the release of an open source tool for Hyperledger Fabric blockchain networks: KHS Blockchain Browser.The KHS Blockchain Browser allows users to...
- Has your project gotten to the point when big data sets and/or time-consuming calculations have begun to affect performance? Or are you struggling to optimize...
- The power of GraphQL lies in its flexibility. That is especially the case regarding resolvers, where any local or remote data can be used to...
- From some of my previous posts, you can get the idea that I promote the idea of developing maintainable code rapidly. So I was pretty...
- In general terms, a blockchain is an immutable transaction ledger in a distributed network of participating peers. Its data includes a string of transaction records...
- I am a Spring/Java developer (primarily) and an advocate of unit testing.There is often a debate over what constitutes a unit test, an integration...
- Angular CLI 6 is here! With it, the Angular team has made it much easier to create libraries.In this article, we show step by...
- We are excited to announce the Summer 2018 Keyhole Education Series!This series consists of three educational Breakfast Boost events open to the public. The presentations...
- Earlier this month my friend Ryan introduced us to Getting Started with Xamarin Forms and Prism. In that post, Ryan started a mobile application to...
- In a previous post, we discussed the basics of GraphQL and how it can be a great REST API alternative. In this one, we’ll see...
- The basic premise of data transfer and involves requesting and receiving lists. This is simplistic, but it gets to the root of why we’ve developed...
- In the last few years, React has continuously gained popularity for the development of web applications. At Keyhole, we have several blogs talking about React...
- The JUnit team continues to make great progress in adding new features and enhancements to the JUnit 5 framework. We already have a second significant...
- The typical deployment scenario for a Spring Boot application in AWS involves running the Java application on an EC2 instance 24 hours a day. Of...
- One issue that we face day to day as developers is speed of development. One of the coolest things to me in the ever-changing landscape...
- Bitcoin is hot -- and what an understatement that is. While the future of cryptocurrency is somewhat uncertain, blockchain, the technology used to drive Bitcoin,...
- Use Redux! Use MobX! Just use `setState`! Redux is functional! Mobx is reactive! `setState` is built-in! But Redux has so much boilerplate! But MobX is more difficult...
- We are excited to announce Keyhole's partnership with Microsoft to sponsor Azure Dev Days, a one-day workshop in Kansas City on Wednesday, April 25, 2018. This...
- In this blog, I share an example of a real-world, agile enterprise modernization project that benefited from a User Story Map.I’m the team lead for...
- The Keyhole team is proud to announce the publishing of a new white paper: Blockchain For The Enterprise. While Bitcoin is on the minds of the...
- Many of the companies that we work with use various cloud providers (such as Google, Amazon and Microsoft) for IT Service Delivery. This has created...
- This article is part of my blog series on automated testing promoting my new Pluralsight course Effective Automated Testing with Spring.Automated testing is an essential...
- I have worked with several different organizations in my career on initiatives to rewrite legacy applications. A common theme for each project was that the...
- We are excited to announce the next free public Keyhole Software educational event: Building Your Evil(?) Empire with Azure Functions.This Breakfast Boost event is a...
- This post is a continuation of our hands-on OpenShift Quick Start blog series.In the first post we introduced OpenShift & its features. In part two,...
- This post is a continuation of our hands-on OpenShift Quick Start blog series. In the first post we introduced OpenShift, and in part two, you worked...
- Our previous blog in the series introduced RedHat’s OpenShift solution that provides a way for enterprise teams to implement their own PaaS. Essentially, it sits...
- For the last few years, Docker containers have been all the rage in the DevOps world. After all, what’s not to like? They allow you...
- Recently I needed web/access logs from a NetScaler appliance. The client wanted me to explore NetScaler Web Logging (NSWL) as a possible solution.To make...
- When I heard that the Struts Open Source framework played a role in the recent Equifax hack, I wanted to do some research to understand...
- I recently worked to develop a software platform that relied on Spring Boot and Docker to prop up an API. Being the only developer on...
- We at Keyhole have been helping our clients adopt JavaScript-based single-page applications for over five years. We have been impressed with the adoption and advancement...
- A Lesson In ROI: Scratch vs. Adapt Existing Angular CodeOn a recent client project, I needed to develop an Angular front-end for a form that...
- We have all been there: some new technology comes out and we know it would improve our maintainability. But we can't use it. We already...
- We are excited to announce that Keyhole Software has achieved the status of Microsoft Silver Competency Partner.Joining this elite tier of Microsoft Partners represents that...
- This article is part of a series of articles about modern tooling and techniques for building distributed systems in DotNet.In our first article, we...
- A tool that helps the journey of learning Angular is the Angular CLI. The CLI is a useful tool that can help set up and...
- This is going to be the first post in a series of articles about modern tooling and techniques for building distributed systems. In this post,...
- With the explosion of the internet of things (IoT), many companies are competing to create the best smart home ecosystem for consumers.Amazon Echo, for...
- While acknowledging that I still have much to learn about Spring Batch, I’d like to share my well-learned lessons in the world of restartability, including...
- If you are heading down the path of a Microservices style of architecture, one tenant you will need to embrace is automation. Many moving parts...
- We're excited to announce the release of a new, free white paper on the Microservices software architecture style.Microservices is an architectural pattern gaining steam...
- One of the least glamorous aspects of implementing a Microservices architecture is the security. It's not fun or cool when compared to things like the...
- A coworker came to me with a problem. The client he was working with would be building hundreds of single-page applications and all would need...
- We have consultants who specialize in moving old to new, renovating dilapidated code bases, and designing brighter futures for enterprises who have been vendor-locked for...
- In this updated blog post, we’ve built an employee directory using Angular 2 with unit tests, gone over some differences between Angular 2 and version...
- Keyhole Software has announced that it will host a Microservices and DevOps educational Breakfast Boost event on January 25, 2017. This presentation will demonstrate an...
- Handlebars.js is a popular templating engine based on the Mustache template language. In this blog, we will explore how Handlebars is a dynamic template creation...
- The Keyhole Labs team is excited to announce that GrokOla now offers API governance features including API documentation and real-time monitoring.GrokOla is a knowledge documentation...
- In part two of this series, we create a microservice architecture using JHipster’s available options for doing so. There is quite a bit more work...
- I introduce the process I went through to diagnose the bug and determine the correct integration test solution to fix it the right way. In...
- So, you want to stay on the leading edge of technology, but feel overwhelmed by all the moving parts. You’re in luck! jHipster aims to...
- At Keyhole, we have published several blogs about Microservices. We've talked about architectural patterns used in a Microservices environment such as service discovery and circuit...
- I had some time before my next project started up, so David Pitt asked me to research and write a blog on Service Fabric. It sounded terrifying....
- Introduction Update! Whirlpool now uses the "just released" Netty version 4.1.3. The great news about this is the upgrade required zero code changes, just update the...
- Arguably one of the most difficult Microservices patterns to apply and implement is the bounded context.The bounded context concept originated in Domain-Driven Design (DDD) circles....
- I recently spoke at the DeveloperWeek 2016 conference in San Francisco, California about JavaScript Debugging Patterns. This conference was an amazing opportunity to see and...
- Or How I Learned to Stop Worrying and Love the HATEOASREST has become the defacto, or at least vogue, solution to implementing web services. This...
- Service Fabric is a massively progressive step for Microsoft. At the core, it is a distributed systems platform used to build scalable and reliable applications....
- It’s time to make decisions about how to use the 2016 IT budgets. You, the CIO, may have already decided which prepackaged software, cloud services,...
- Your application just launched into production after 6+ months of development and bug fixes. In true Agile fashion, you and the team released your MVP...
- CSS naming can be one of the most challenging things in creating large-scale style systems in an application. There have been a lot of great...
- Keyhole Software has released a schedule of upcoming educational events that are open to the public. Keyhole is hosting two free Breakfast Boost events to advise members...
- For too many reasons to count, it is nearly a guarantee that your production software systems will fail in some way.We attempt to QA our...
- In the last several years, there have been new requirements and expectations placed on enterprise applications that have dramatically increased application code complexity. Users want...
- Developing a large BackboneJS application presents a unique design problem. As developers, we like to organize our code so it is understandable, logical, and predictable. However,...
- Recently Keyhole wrote the white paper “Predicting The Future Of Development.” The white paper recommends enterprises move away from the Monolithic-based architectures that “have been a...
- This happened to me...Twas the night before beta launch... I installed a new node module for a last minute feature and everything went haywire when...
- What is Spring Integration? The popular definition (via Google), JavaWorld.com says: “Spring Integration is an enterprise integration framework that provides out-of-the-box implementation of the patterns in the now-classic...
- Keyhole Software has scheduled its next educational event open to the public. Keyhole is hosting a free Microservices Breakfast Boost event to educate the appdev public...
- A Discussion of Architectural Styles to Mitigate Technology Shift: Microservices and Single-Page ApplicationsIf you're in the enterprise, it is common to wonder how long your current...
- Here at Keyhole, we are very fond of Spring Batch. In many Java Enterprise environments, there is still a big need for automating moving data...
- When I was tasked with using SignalR to implement the real-time updating of data on a project I was working on, I was excited. Namely...
- My local development feedback loop between code change and runnable container was annoyingly long on a Maven-based project I was recently working on. I wanted...
- I was on a project recently where the team was faced with a daunting list of scheduling-related backlog stories. When looking at the entire feature, about...
- It's rare that a piece of software as new as Docker is readily adopted by startups along with huge, well established companies. dotCloud, the company...
- Now that Angular 1.3 has been officially released, I thought I would talk about some of the new features that developers would like to know,...
- While pulling down an existing Backbone.js project that I was helping with, I felt confident enough with JavaScript that I figured I could start cranking...
- I wanted to take some time to put together a summary of some popular dependency injection (DI) frameworks for Java. This is a high-level overview...
- Single Page Applications are quickly gaining traction as a way to implement rich, robust, and mobile friendly web-based applications. Essentially, this requires a shift in...
- This is the second blog in a two-part series on scaling PHP applications. The first blog in the series focused on replacing Apache+mod_php with Nginx+PHP-FPM. This...
- This is the first blog in a two-part series on scaling PHP applications. Part one will focus on replacing Apache while part two will go...
- Keyhole Software is delighted to announce our sponsorship of the Chicago CloudCamp Roof Deck Social! This event provides a free opportunity to get your cloud questions answered...
- I attained my IT degree (B. S. in Computer Science) 12+ years ago at a traditional midwestern college, so the education was fairly well rounded....
- During the development of a fairly large JavaScript-based web application using Backbone.js, it became increasingly difficult manage the numerous View.js and Template.js files. Those familiar...
- The Keyhole team has had recent engagements that involve applying HTML5 technology to create rich client web applications. In order to explore and validate application...
- In Part One of this series, I reviewed the basic design goals of a Data Access Layer (DAL), those being:Contain all of the information about...
- Have you ever been stuck on a problem, some seemingly un-explainable production malfunction in the code? You’ve stepped though it with the debugger, run enumerable test...
- Today, I'd like to talk about the data access layer (DAL). I'll start with a brief review: the motivation behind the DAL, the design principles...
- If you're thinking that you can prevent end-user demand for mobility, just remember this: when PCs were first introduced, IT attempted to hold them at...
- Overview This is the second post in a series written on Dependency Injection for Android Development. In this blog, I will discuss how to take advantage of...
- Overview For many years now, Object Oriented developers have relied on various Dependency Injection frameworks while developing anything form desktop to web applications. For both Java...
- I ran into a design decision on one my engagements. Consider an abstract class implementation that references another (delegate) object. Convenience methods are in the primary class...
- If you want to go surfing but you live smack dab in Kansas, it could be a challenge. (Unless you want to go paddle in...