Software Engineering

Software Engineering

1635 bookmarks
Newest
How is software developed at Amazon? - High Scalability -
How is software developed at Amazon? - High Scalability -

"How is software developed at Amazon? Get a couple of prime pizzas delivered and watch this excellent interview with Ken Exner, GM of AWS Developer Tools. It's notable Ken is from the tools group, because progress in an industry is almost always made possible by the development of better tools.

The key themes from the talk: decomposition, automation, and organize around the customer."

How is software developed at Amazon? - High Scalability -
Chaos Engineering Observability | Humio
Chaos Engineering Observability | Humio

"In this practical eBook, the author Russ Miles explains how Observability and Chaos Engineering go hand-in hand, since the fundamental process of running chaos experiments is built around the live observability of the engineered chaos testing. The eBook will will help you learn how to test and observe the health and resiliency of your systems and security controls, in real-time, by bringing observability to chaos engineering.

"

Chaos Engineering Observability | Humio
How We Prepared New York Times Engineering for the Midterm Elections
How We Prepared New York Times Engineering for the Midterm Elections
"Our mission was to organize a cross-team effort to ensure that election news and interactive content is stable, performant, always up-to-date and displayed as the newsroom intends for our readers. We assembled over 20 teams that have a hand in ensuring our election coverage is reliably served across all of our platforms. With so many teams to manage, we created an election leadership team that was led by a Directly Responsible Individual (DRI), a deputy DRI and two program managers."
How We Prepared New York Times Engineering for the Midterm Elections
Home | OpenSCAP portal
Home | OpenSCAP portal
"The OpenSCAP ecosystem provides multiple tools to assist administrators and auditors with assessment, measurement, and enforcement of security baselines. We maintain great flexibility and interoperability, reducing the costs of performing security audits."
Home | OpenSCAP portal
Airbnb's Migration From Monolith to Services
Airbnb's Migration From Monolith to Services

"Services should own both reads and writes to their own data. If several services need access to the same data, this is done via the owning service's API. Services should address a specific concern. For Airbnb, this was about trying to find the right granularity when creating services. They wished to avoid services having too much functionality, becoming monoliths in their own right, while also avoiding such fine-grained services that there would be a "polylith" or distributed monolith. Avoid duplicate functionality by using shared services and libraries. Data mutations should publish via standard events."

Airbnb's Migration From Monolith to Services
Accelerate - IT Revolution
Accelerate - IT Revolution
"For years, we’ve been told that the performance of software delivery teams doesn’t matter—that it can’t provide a competitive advantage to our companies. Through four years of groundbreaking research, Dr. Nicole Forsgren, Jez Humble, and Gene Kim set out to find a way to measure software delivery performance—and what drives it—using rigorous statistical methods. This book presents both the findings and the science behind that research."
Accelerate - IT Revolution
Why Do Cloud Migrations Fail? - Container Solutions
Why Do Cloud Migrations Fail? - Container Solutions
"I am going to stick to the facts, and bring to you, in under 1500 words, 100 of which I’ve wasted on this introduction, some of the key reasons why migrations to cloud and Cloud Native fail. Starting with executives who have lost the ability to function and ending with the widespread problem of mixing up cause and effect, we’ll do a quick safari through five common failures."
Why Do Cloud Migrations Fail? - Container Solutions
Architecture and Design InfoQ Trends Report - January 2019
Architecture and Design InfoQ Trends Report - January 2019

"Notable changes since we last reviewed this topic include "microservices" moving into the late majority, but our internal discussions also highlighted that the closely related themes of "correctly designing distributed systems", and designing for reactivity and fault tolerance are not so far along the adoption curve. We may well be approaching the bottom of the microservice “trough of disillusionment” in respect to the Gartner Hype Cycle.

We have also speculated that there are areas of architecture that will never move along the adoption curve to early majority or late majority, and unfortunately, they include several highly-effective patterns -- such as event-sourcing/CQRS-based or Actor model-based systems -- which can provide highly effective solutions for certain organisations and business problems."

Architecture and Design InfoQ Trends Report - January 2019
The State of Microservices Maturity
The State of Microservices Maturity

"In July 2018, leaders of the O'Reilly Software Architecture Conference conducted a survey on microservices maturity to assess just how far organizations have come with this technology, including the practices they follow and the challenges they face along the way.

The responses we received are summarized in this report."

The State of Microservices Maturity
DevOps and Cloud InfoQ Trends Report - February 2019
DevOps and Cloud InfoQ Trends Report - February 2019
"This article provides a summary of how we currently see the “cloud computing and DevOps” space, which focuses on fundamental architectural patterns, realisation of patterns in technology frameworks, and the design processes and skills that a software engineering must cultivate."
DevOps and Cloud InfoQ Trends Report - February 2019
Service Catalog and Kubernetes
Service Catalog and Kubernetes
"The Service Catalog in Kubernetes needs to overcome some of its current limitations before being widely adopted and used safely in production. In the meantime, other projects inside and outside the Kubernetes community are being created either as complements or competitors to the Service Catalog and the Open Service Broker API."
Service Catalog and Kubernetes
Reaching for the Stars with Ansible Operator – Red Hat OpenShift Blog
Reaching for the Stars with Ansible Operator – Red Hat OpenShift Blog

"In this post I will show you how to use Roles published to Ansible Galaxy as an Operator to manage an application in Kubernetes. Reusing a Role in this way provides an example of how to create an Operator that simply installs an application with the flexibility to expand and customize the behavior organically as requirements dictate.

I will leverage both the Ansible Operator and the k8s module to demonstrate how you can use Ansible to create Kubernetes native applications. Ansible Operator, included in the Operator SDK, allows you to package your operational knowledge (how you install and maintain your application) in the form of Ansible Roles and Playbooks. Your ability to manage objects in Kubernetes when writing these Roles and Playbooks can be improved by the new k8s module."

Reaching for the Stars with Ansible Operator – Red Hat OpenShift Blog
MPL - Modular Pipeline Library
MPL - Modular Pipeline Library
"The modular pipeline library (MPL) we created is a highly-flexible shared library for a Jenkins Pipeline that enables easy sharing of best practices across the entire company. It has a clear modular structure, an advanced testing framework, multi-level nesting, a pipeline configuration system, improved error handling, and many other useful components."
MPL - Modular Pipeline Library
hjacobs/kubernetes-failure-stories: Compilation of public failure/horror stories related to Kubernetes
hjacobs/kubernetes-failure-stories: Compilation of public failure/horror stories related to Kubernetes

" Kubernetes is a fairly complex system with many moving parts. Its ecosystem is constantly evolving and adding even more layers (service mesh, ..) to the mix. Considering this environment, we don't hear enough real-world horror stories to learn from each other! This compilation of failure stories should make it easier for people dealing with Kubernetes operations (SRE, ops, platform/infrastructure teams) to learn from others and reduce the unknown unknowns of running Kubernetes in production."

hjacobs/kubernetes-failure-stories: Compilation of public failure/horror stories related to Kubernetes
Terraform For Teams | Atlantis
Terraform For Teams | Atlantis

Atlantis is an application for automating Terraform via pull requests. It is deployed as a standalone application into your infrastructure. No third-party has access to your credentials.

Atlantis listens for GitHub, GitLab or Bitbucket webhooks about Terraform pull requests. It then runs terraform plan and comments with the output back on the pull request.

When you want to apply, comment atlantis apply on the pull request and Atlantis will run terraform apply and comment back with the output.

Terraform For Teams | Atlantis
Eight Application Design Principles to Cope with OpenShift Maintenance Operations – Red Hat OpenShift Blog
Eight Application Design Principles to Cope with OpenShift Maintenance Operations – Red Hat OpenShift Blog

1: Always run at least 2 pods 2: Spread your application pods evenly across nodes 3: Define a pod disruption budget 4: Define a descheduler policy 5: Do not use local/host path storage 6: Design your application so that it tolerate losing pods 7: It shouldn’t matter which pod receives a request 8: Capacity considerations

Eight Application Design Principles to Cope with OpenShift Maintenance Operations – Red Hat OpenShift Blog
crossplaneio/crossplane: An Open Source Multicloud Control Plane
crossplaneio/crossplane: An Open Source Multicloud Control Plane
"Crossplane is an open source multicloud control plane. It introduces workload and resource abstractions on-top of existing managed services that enables a high degree of workload portability across cloud providers. A single crossplane enables the provisioning and full-lifecycle management of services and infrastructure across a wide range of providers, offerings, vendors, regions, and clusters. Crossplane offers a universal API for cloud computing, a workload scheduler, and a set of smart controllers that can automate work across clouds."
crossplaneio/crossplane: An Open Source Multicloud Control Plane
redhat-developer/odo: OpenShift Do - Fast, iterative OpenShift development
redhat-developer/odo: OpenShift Do - Fast, iterative OpenShift development
"OpenShift Do (Odo) is a CLI tool for developers who are writing, building, and deploying applications on OpenShift. With Odo, developers get an opinionated CLI tool that supports fast, iterative development which abstracts away Kubernetes and OpenShift concepts, thus allowing them to focus on what's most important to them: code."
redhat-developer/odo: OpenShift Do - Fast, iterative OpenShift development
Kubernetes Operator Development Guidelines for improved Usability
Kubernetes Operator Development Guidelines for improved Usability
"Our study of existing community Operators from this perspective led us to come up with Operator development guidelines that will improve overall usability of Operators. The primary goal of these guidelines is : cluster admin should be able to easily compose multiple Operators together to form a platform stack; and application developers should be able to discover and consume Operators effortlessly."
Kubernetes Operator Development Guidelines for improved Usability
GitHub - GoogleContainerTools/krew:
GitHub - GoogleContainerTools/krew:

"krew is a tool that makes it easy to use kubectl plugins. krew helps you discover plugins, install and manage them on your machine. It is similar to tools like apt, dnf or brew.

For kubectl users: krew helps you find, install and manage kubectl plugins in a consistent way. For plugin developers: krew helps you package and distribute your plugins on multiple platforms and makes them discoverable."

GitHub - GoogleContainerTools/krew:
GitHub - heptio/ark: Heptio Ark is a utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes. Brought to you by Heptio.
GitHub - heptio/ark: Heptio Ark is a utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes. Brought to you by Heptio.
"Heptio Ark is a utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes"
GitHub - heptio/ark: Heptio Ark is a utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes. Brought to you by Heptio.
GitHub - operator-framework/awesome-operators: A resource tracking a number of Operators out in the wild.
GitHub - operator-framework/awesome-operators: A resource tracking a number of Operators out in the wild.

"Operators are Kubernetes native applications. We define native as being both managed using the Kubernetes APIs via kubectl and ran on Kubernetes as containers. Operators take advantage of Kubernetes’s extensibility to deliver the automation advantages of cloud services like provisioning, scaling, and backup/restore while being able to run anywhere that Kubernetes can run.

This list is built by the community. Have you built or are you using an Operator that is not listed? Please send a pull request and we will add that Operator to the list."

GitHub - operator-framework/awesome-operators: A resource tracking a number of Operators out in the wild.