Cloud Automation & Optimization

Joe Alongi
6 min readJan 15


Tasks, jobs, software, and precedence of these processes become the effectual application of technology over a given solution. The identification of the matter at hand is knowing innately the process, which is often relative to the work of the Subject Matter Expert (SME) applied over the focus of the Software Engineer (SWE) and technical expertise at work.

Honing existing technology, syncing data sources, and developing new technology infrastructure, software, and storage is a modern path forward in the ever-evolving technical landscape. Procedure and process become avenues for technology to develop pathways unified with the transaction and systematic goals.

As the globe moves on to increase technological synchronous continuity, we must work to further advance the ability of these systems to behave autonomously in nature.

Technology with Functionality

Operations carried out on computers in machine environments drove the core evolution of the primary subject of computer science through modern times.

Aside from the people and the programs developed for users, the transfer and synthesis of data were often performed from an on-premise server to another on-premise server.

The cloud as a spectrum has brought to light many of the more feasible and tangible methods of performing large software connectivity challenges with a shift to interconnected and performant distributed computing hardware.

Where functionality was once a computer in service of functions at a single location, now can be many distributed computers working in tandem across the globe.

Cloud Functions play an important role in unifying the technological work of many moving to the cloud. Performance and accessibility as a key focus of the migration functions with enhanced computational power thrives in the modern world.

Runtime environments that come to mind as great solutions are IBM Cloud Functions, Google Cloud Functions, and Amazon Web Services Lambda Functions, all in their respective journey provide pre-configured and serverless environments for computing.

The precedence of these effective cloud-based functions is the ability to create processes known as functions with varying programming languages and simply set them up with only a few lines of code. What took a lot of time and preparation in the past, to create the technical environment, can now be done in a few minutes.

The primary benefit of these functions is the interconnectivity between these functions, cloud services, and data APIs for quickly and efficiently processing information to other services.

Native Containerization

Technological advancement often relies on the environment, in this sense, the technical architecture and infrastructure that exists in the space where the software is being developed.

Where the cloud has ventured to provide more affordable and flexible adaptation of on-premise installations, native containerization lends itself to simplistic configuration.

Often technology is stifled by the availability of budget and then the technical environment itself. Native containerization acts as an intermediary on the behalf of the developer to maintain and provision the environments in the cloud and deploy containerized code.

Containers are configured versions of code that have individual resource allocations and are optimized to run the programmed software within a specifically configured environment using programed images.

Containerization is the process of the written and compiled code with the programed images combined to create a runtime suitable for the software application within multiple container engines.

In most circumstances, containerization requires runtimes like Mesos or Kubernetes with configured servers, ingresses, load balancers, and services to connect the applications. In native deployments, these services are configured with the cloud provider to simplify the deployment complexity and leverage the technology.

You can find these services through IBM Cloud Code Engine, Google Cloud Knative, and Amazon Web Services Fargate. These technologies are inspired by the open-source Knative technologies, which incorporate Kubernetes services & jobs into a serverless platform.

As a focused set of technologies that simplify Kubernetes deployments, full applications can be deployed within containers to create a connective set of serverless microservices. Enabling these applications to run with auto-scaling performance focuses on the development quality of the particular software and its interconnective properties to create functional services.

Kube Scale Effects

When large applications are deployed into the cloud with thousands to millions of users, network impacts, server scaling, and software performance become a predominant focus.

Where scale impacts software is when concurrency exceeds a baseline value of the system and the compute available to function. Many users accessing one application with a base set of resources will eventually overwhelm and slow the program.

If the program takes 1 GB of RAM and 1GHz of CPU in an environment with a dedicated set of 4GB and 4GHz that environment can support up to four users; as that user number scales, the efficiency of the program diminishes.

Kubernetes shines in being an engine capable of supporting manual, systematic, and algorithmic scaling of containerized software to support concurrency. Along with the core systems, frameworks, and APIs in place that are inherent to Kubernetes, numerous open-source applications connect and enabled systems to extend beyond their core use case.

Runtimes capable of delivering performant Kubernetes clusters with integrated cloud services can also be found on IBM Cloud Kubernetes Service, Google Kubernetes Engine, and Amazon Web Services Elastic Kubernetes Service.

Kubernetes enables full-service management, scheduling, adaptation, and multiple server configurations. For large-scale deployments, many open-source frameworks and managed deployment services can enable further synergy between the platform and scaling applications. Service meshes, API gateways, and Secret managers are among the most popular add-on Kubernetes technologies.

Automation & Optimization

Through the many software runtimes and engines available on the cloud, creating performant environments has never been more prominent in the automation space. Millions of data points across the required applications of software bind together the functional agility of the intended automation.

Beyond the gathered, structured, and planned autonomy — are effective applications of the infrastructures that enable the cloud services to perform at their clearest maxima. Furthering the automation from initial cloud functionality to developed systems can bridge the gap of services at the scale required to impart effect on the expanse of redundant tasks.

The logic required for these tasks becomes constants, variables, and remarks dedicated to the environments for improving the awareness of the system. Functions are the actual logical steps of tasks within the systems and environments that perform the tasks.

Where automation takes place is shifting, and how optimization takes place is shifting, though the core underlying principles of the tasks, their objective, and the outcomes still exist prominently in the sphere of interest.



Joe Alongi

Advisory Application Developer @IBM — JavaScript, Java, Kubernetes, and Cloud Native. (These Views Are My Own)