Table of Contents

What is Modern Application Development

Modern application development approach that enables you to innovate rapidly by using cloud-native architectures with loosely coupled microservices, managed databases, AI, DevOps support, and built-in monitoring.

app-mod-data
Elements that make up the modern application environment

Key Design Factors

  • Utilize systems fully leverage the cloud service model using PaaS compute infrastructure and managed services.
  • Systems should continue to run as infrastructure scales in or out without worrying about the back- end infrastructure because those elements are fully managed.
  • Systems and Services should have auto scaling, self-healing, and monitoring capabilities.
  • Modern Design is highly effective in part due to the standard practices Application method, which is a set of principles that developers follow to construct applications optimized for modern cloud environments.

Critical Considerations for Modern Design

  • Communication — How front ends communication with back-end services, and how back-end services communicate with each other.
  • Resiliency — How services in your distributed architecture respond in less-than-ideal scenarios due to the in-process, out-process network communications of microservices architecture.
  • Distributed Data — How do you query data or implement a transaction across multiple services?
  • Identity — How does your service identify who is accessing it and their designated permissions?

What are Microservices?

Microservices are built as a distributed set of small, independent services that interact through a shared fabric or container.

micro-svc

Agility with Microservices

  • Each microservice has an autonomous lifecycle and can evolve independently and deploy frequently.
  • Each microservice can scale independently, enabling services to scale to meet demand. Those microservices are then packaged a container image, those images are stored in container registry. When needed you transform the container into a running container instance, to utilize the stored microservices.

Benefits of Containers

  • Provide portability and guarantee consistency across environments.
  • Containers can isolate microservices and their dependencies from the underlying infrastructure.
  • Smaller footprints than full virtual machines (VMs). That smaller size increases density, the number of microservices, that a given host can run at a time.
container-dia
Cloud native solutions also increase application speed and agility via well designed network infrastructure

Automation Benefits

  • Infrastructure and Code (IaC) avoid manual environment creation and delivers stable configuration to rapidly scale.
  • Application code development leverages CI/CD technologies to increase efficiency and quality of the final product.

Integrations

Why is integration needed, and how is it accomplished?

Integration is needed to integrate applications by connecting multiple independent systems. The four core cloud services to meet integration needs are:

  • Publish and manage application programming interfaces (APIs).
  • Create and run integration logic, typically with a graphical tool for defining the workflow’s logic.
  • A method for applications and integration technologies to communicate in a loosely coupled way via messaging.
  • A technology that supports step logic communication via events

CI/CD Methodology

Blue/Green Deployment Pattern

This is a method of continuous deployment that is commonly used to reduce downtime. This is where traffic is transferred from one instance to another. In order to include a fresh version of code, we must replace the old code with a new code version. 

The new version exists in a green environment and the old version exists in a blue environment. After making changes to the previous version, we need a new instance from the old one to execute a newer version of the instance.

dev-ops-process

Tools Technologies and Services Used

Container | Orchestration | Pod Hosts

Apache Tomcat®

Tomcat 10 Software The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta

Read More »

Docker

Docker makes development efficient and predictable Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable

Read More »

Kubernetes

Production-Grade Container Orchestration Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. Vendor Website

Read More »

Nomad by HashiCorp

Orchestration Made Easy A simple and flexible scheduler and orchestrator to deploy and manage containers and non-containerized applications across on-prem and clouds at scale. Vendor

Read More »

Docker Containers

Nexus 3 – Image Repository

Server Description A Dockerfile for Sonatype Nexus Repository Manager 3, starting with 3.18 the image is based on the Red Hat Universal Base Image while earlier versions

Read More »

Application Monitoring

PagerDuty

Orchestrate the right response for every incident. Protect revenue and improve customer experiences by resolving critical incidents faster and preventing future occurrences. Bring major incident

Read More »

Datadog

Application Monitoring and log processing Modern Infrastructure Monitoring Complete visibility into infrastructure performance with effortless deployment, minimal maintenance, and unparalleled breadth of coverage. Vendor Website

Read More »

API Resources

WSO2 API Manager

Open-source Platform for Building and Managing APIs One complete platform for building, integrating, and exposing your digital services as managed APIs in the cloud, on-premises,

Read More »

Automation Tools

Ansible

Red Hat® Ansible® Automation Platform is a foundation for building and operating automation across an organization. The platform includes all the tools needed to implement

Read More »

Packer by HashiCorp

Images as code Packer standardizes and automates the process of building system images. Create one workflow for images across multiple clouds and private infrastructure. Vendor

Read More »

Rundeck by PagerDuty

Runbook automation With runbook automation, engineers can standardize operating procedures, define automated jobs incorporating other existing automation, and safely delegate these processes as APIs and

Read More »

Terraform Enterprise

Cloud Automation Terraform Enterprise is our self-hosted distribution of Terraform Cloud. It offers enterprises a private instance of the Terraform Cloud application, with no resource limits

Read More »

CI/CD Platforms

Jenkins

CI/CD Platform The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.

Read More »

Cloud Complience and Management

AWS CloudTrail

Overview AWS CloudTrail monitors and records account activity across your AWS infrastructure, giving you control over storage, analysis, and remediation actions.

Read More »

AWS CloudWatch

Overview Amazon CloudWatch collects and visualizes real-time logs, metrics, and event data in automated dashboards to streamline your infrastructure and application maintenance.

Read More »

AWS Control Tower

Overview AWS Control Tower simplifies AWS experiences by orchestrating multiple AWS services on your behalf while maintaining the security and compliance needs of your organization.

Read More »

AWS Organizations

Overview AWS Organizations lets you create new AWS accounts at no additional charge. With accounts in an organization, you can easily allocate resources, group accounts,

Read More »

AWS Service Catalog

Overview AWS Service Catalog lets you centrally manage deployed IT services, applications, resources, and metadata to achieve consistent governance of your infrastructure as code (IaC)

Read More »

CloudCheckr

Take Control of Your Cloud CloudCheckr brings visibility and intelligence to help you lower costs, maintain security and compliance, and optimize resources. Manage your single

Read More »

Directory Services

AWS Directory Service

Amazon Service AWS Directory Service for Microsoft Active Directory, also known as AWS Managed Microsoft AD, activates your directory-aware workloads and AWS resources to use

Read More »

AWS IAM Identity Center

Amazon Service AWS IAM Identity Center (successor to AWS Single Sign-On) helps you securely create or connect your workforce identities and manage their access centrally

Read More »

OpenDJ

LDAPv3 compliant directory service OpenDJ is an LDAPv3 compliant directory service, which has been developed for the Java platform, providing a high performance, highly available,

Read More »

Drawing Tools

LucidChart

Diagram your people, processes, and systems Take advantage of powerful features that will help your team communicate complex ideas while collaborating in real time.

Read More »

Developer Interfaces

Visual Studio Code

Developer Interface Visual Studio Code is a streamlined code editor with support for development operations like debugging, task running, and version control. It aims to

Read More »

Developer Launguages

Python

Overview Python is a programming language that lets you work quickly and integrate systems more effectively Vendor Website

Read More »

Event Logging and Visualization

Grafana Loki

Overview With Grafana Logs, you can send logs in any format, from any source so it’s really easy to add to your existing infrastructure and

Read More »

Kibana

Overview Kibana is a free and open user interface that lets you visualize your Elasticsearch data and navigate the Elastic Stack. Do anything from tracking

Read More »

Logstash

Overview Logstash is a free and open server-side data processing pipeline that ingests data from a multitude of sources, transforms it, and then sends it to

Read More »

Identity-based networking

Consul by HashiCorp

Identity-based networking Consul uses service identities and traditional networking practices to help organizations securely connect applications running in any environment. Vendor Website Key Features Discover

Read More »

Proxies

Fabio Reverse Proxy

Fabio is an HTTP and TCP reverse proxy Configures itself with data from Consul. Traditional load balancers and reverse proxies need to be configured with

Read More »

HAProxy

HAProxy Kubernetes Ingress Controller This is the documentation for the HAProxy Kubernetes Ingress Controller and the HAProxy Enterprise Kubernetes Ingress Controller. Both give you a way to route

Read More »

Managed Secrets - Part of Zero Trust Framework

Vault by HashiCorp

Manage Secrets & Protect Sensitive Data Secure, store and tightly control access to tokens, passwords, certificates, encryption keys for protecting secrets and other sensitive data

Read More »

Message Brokers

RabbitMQ

Open source message broker RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be

Read More »

Project Management - Collboration

TOPdesk

ITSM SOFTWARE ITSM software brings your IT services together in one place, so it’s easy to share knowledge, answer questions and solve problems. You’ll give

Read More »

Remote Access Tools

VPN Remote Access – Development

Overview Secure remote access is a game changer for and hybrid workforces. But to truly take advantage of those benefits, it’s imperative that your organization develops

Read More »

Repositories

Bitbucket Cloud

Code & CI/CD, built for teams using Jira What is Bitbucket? With best-in-class Jira integration, and built-in CI/CD, Bitbucket Cloud is the native Git tool

Read More »

Thanks for your submission