Skip to main content

Posts

AWS Cloud Computing

Before the inception of Cloud Computing platforms, businesses predominantly relied on servers, databases, hardware, software, and other peripherals to take their businesses online. Companies had to buy these components to ensure that their website or applications reached the users. Besides, businesses also needed a team of experts to manage the hardware and software, and to monitor the infrastructure. While this approach was practical, it came with its unique issues, like the high cost of setup, complex components, and limited storage space, to name a few. Cloud Computing was created to address these problems. Cloud Computing is a network of remote servers hosted on the internet for storing and retrieving data. The cloud provides a number of IT services such as servers, databases, software, virtual storage, and networking, among others. In layman’s terms, Cloud Computing is defined as a virtual platform that allows you to store and access your data over the internet without any limit...

VMware Tutorial

VMware is building a rich and diverse ecosystem around the virtual appliance model based on four key elements: • A VMware Ready Virtual Appliance Program which is an ecosystem initiative that enables customers to identify virtual appliances that follow best practices and are optimized for VMware Infrastructure. • A robust authoring tool for configuring, packaging and updating production-ready virtual appliances. • A large and diverse marketplace where vendors can list their virtual appliances online for customers to discover, download, evaluate and purchase. • A reliable, robust and proven virtualization platform for deploying and managing virtual appliances The growing use of virtualization, along with standardization efforts, new appliance-optimized operating systems, and the emergence of cloud computing, are all driving rapid adoption of virtual appliances. However, for virtual appliances to gain permanent traction, a healthy and diverse ecosystem must evolve to provide a rich...

Kubernetes Tutorial

Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available. The name Kubernetes originates from Greek, meaning helmsman or pilot. K8s as an abbreviation results from counting the eight letters between the "K" and the "s". Google open-sourced the Kubernetes project in 2014. Kubernetes combines over 15 years of Google's experience running production workloads at scale with best-of-breed ideas and practices from the community.

CI / CD introduction

CI and CD are two acronyms used in modern development practices and DevOps. CI stands for continuous integration, a fundamental DevOps best practice where developers frequently merge code changes into a central repository where automated builds and tests run. But CD can either mean continuous delivery or continuous deployment. Continuous integration: Developers practicing continuous integration merge their changes back to the main branch as often as possible. The developer's changes are validated by creating a build and running automated tests against the build. By doing so, you avoid integration challenges that can happen when waiting for release day to merge changes into the release branch. Continuous integration puts a great emphasis on testing automation to check that the application is not broken whenever new commits are integrated into the main branch. Continuous delivery is an extension of continuous integration since it automatically deploys all code changes to a testing...

Version Control- Git

Version Control System is how one tracks changes, modifications, and updates to source files over time. Creating a history of changes for a project over time. Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. Version control software keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members. Used for: Documentation Code Configuration Collaboration Other Names Include: Source Control Management (SCM) Version Control Software Revision Control Software

Docker - Containerization

Container is a sandboxed process on your machine that is isolated from all other processes on the host machine. That isolation leverages kernel namespaces and cgroups, features that have been in Linux for a long time. Docker has worked to make these capabilities approachable and easy to use. To summarize, a container: is a runnable instance of an image. You can create, start, stop, move, or delete a container using the DockerAPI or CLI. can be run on local machines, virtual machines or deployed to the cloud. is portable (can be run on any OS) Containers are isolated from each other and run their own software, binaries, and configurations. Container Image: When running a container, it uses an isolated filesystem. This custom filesystem is provided by a container image. Since the image contains the container’s filesystem, it must contain everything needed to run an application - all dependencies, configuration, scripts, binaries, etc. The image also contains other configuration for t...

DevOps & Linux

DevOps is a field which takes skills from Software Development and Operations Engineering to create and run applications more effectively. Development + Operations == Better Services DevOps defines 5 key pillars of success: Reduce organizational silos Accept failure as normal Implement gradual changes Leverage tooling and automation Measure everything System Administator will Responsible for systems (typically servers) running code, applications, and services Keeping applications running (they crash, sometimes a lot) Updates, Security Monitoring, Logging Automates significant amounts of work with infrastructure This enables a small team to administer hundreds or thousands of servers Involved in infrastructure architecture and decisions Can be involved in QA/Development work as well.