Cloud Computing Fundamental Concepts

by Feb 5, 2024#Cloud

Printer Icon
f

Table of Content

  1. Advantages of Cloud Computing
  2. Virtualization
  3. Virtual Infrastructure
    1. Cloud Architecture—Cloud Infrastructure
      1. Containerization
      2. Agile DevOps—CI/CD Pipeline
      3. Cloud Computing Deployment Models
      4. Cloud Computing Services—Cloud Computing Stack
    2. Cloud-Native Apps
    3. Krasamo

    Cloud Computing is an IT environment where applications run and resources are shared across networks—using computer servers, virtualization, or containers—with on-demand provisioning of resources.

    Advantages of Cloud Computing

    • Speed
    • Productivity
    • Reliability
    • Performance
    • Security
    • Lower Costs

    Virtualization

    Virtualization technology uses software to share physical hardware within secure virtual environments which can run in multiple operating systems. A software layer called hypervisor (server virtualization software) is used to coordinate the server and virtual machines’ resources, processes, applications, and workloads. Virtualization is a technology that powers cloud computing.

    Virtual Infrastructure

    Virtual infrastructure is the sharing of servers and physical resources across the IT infrastructure, creating virtual services that allow businesses to leverage resources more efficiently. Virtual infrastructures are composed of servers, hosts, and virtual machines running on hosts.

    Virtual infrastructures have advantages such as cost savings, IT infrastructure scalability, optimized resource management, quick implementation of solutions, and efficient software development operations. Virtual infrastructures manage virtual machines (guests) with their own operating systems.

    Cloud Architecture—Cloud Infrastructure

    Krasamo supports service-based cloud architectures optimized in a modular way with loosely couple services or microservices that provide independence. In addition, cloud infrastructure can be set up to allow enterprises to have fully automated deployment operations and continuous integration and deployment (CI/CD).

    Containerization

    Containerization is a popular technology that has become the foundation for cloud-native app development as well as an alternative to virtualization.

    Containerization is the software or “container” packaging of applications, files, libraries, and dependencies abstracted from host operating systems to run on any infrastructure and support development across environments.

    Agile DevOps—CI/CD Pipeline

    Cloud architecture design for business is fundamental, as profits depend on the timely delivery of products. An organization’s technology infrastructure must be aligned with the company culture, management style, and teams in order to best support the evolution.  Krasamo develops agile custom-built cloud architectures and DevOps team structures for fast software releases and implementations.

    DevOps teams use tools and processes to work in continuous integration and continuous delivery (CI/CD) to release applications and deploy services in a structured cloud environment.

    The code is continuously integrated with repositories to work on new builds and releases simultaneously. Testing is also performed continuously to solve bugs or delays in the initial stages.

    Cloud Computing Deployment Models

    • Public Cloud. Public clouds offer on-demand computing services provided by third parties that own and administer the hardware with elastic and scalable IT resources. Public clouds provide a wide availability of services that lead to higher performance and security. Leading public cloud market share in PaaS and IaaS include:
      • AWS
      • Microsoft Azure
      • Google Cloud Platform (GCP)
      • IBM Cloud
      • Alibaba Cloud
      • Salesforce
      • Oracle
      • RackSpace
    • Private Cloud. Private clouds are computing services within an environment dedicated to only one organization. Hosted either on site or at a cloud provider data center, a private cloud provides a high level of control, security, and performance.
    • Hybrid Cloud. A hybrid cloud is an IT architecture that provides portability across public and private cloud environments.

    Cloud Computing Services—Cloud Computing Stack

    • Infrastructure-as-a-Service (IaaS). The IaaS service provides cloud infrastructure computing resources on a pay-as-you-go model in which the user scales capacity up or down according to needs.
      • Servers. The server (machine) is hosted in the cloud and rented in the public cloud. There are also bare-metal servers dedicated to single clients and hosted on private clouds.
      • Hypervisors: Server Virtualization Software.
        A hypervisor is a software that serves the interface between virtual machines and physical hardware. Hypervisors are installed directly on the hardware of the server (bare-metal hypervisors) or installed on top of the operating system (hosted hypervisor). The idea is to run several virtual machines from a physical machine. Xen Project offers one of the most reliable hypervisors due to its versatility, lean architecture, and security features.
      • Virtual Machines (VM). Virtual machines are the software that runs on the hypervisor as a guest machine replicating or emulating the functionality of underlying hardware (host machine). The operating system is managed and executed by the hypervisor. Virtualized hardware resources are made available to run on multiple virtual machines that can operate independently, optimizing usage and distribution.
        • VMware. VMware is the leading server virtualization platform, offering products for managing cloud infrastructures.
        • Hyper-V. Hyper-V is a native hypervisor for hardware virtualization that creates virtual machines that run on multiple operating systems.
        • Kernel-based Virtual Machine (KVM). KVM is open-source virtualization software that provides core virtualization infrastructure and processor module, with kernel components in mainline Linux.
      • Containers. Containers are lightweight software used to develop and deploy applications that run on operating systems independently. A containerization engine (Docker) is used to create isolated OS environments in the same host machine that can be shared with other containers. Containers are extremely portable and provide scalability to application needs, running in parallel and layers with other containers and orchestrated simultaneously.
        • Docker Engine. An open-source containerization technology used to build and run container-based applications.
        • Red Hat OpenShift. A containerization platform used to orchestrate and manage a Docker container using Kubernetes in multi-cloud deployments.
      • Kubernetes (k8s). Kubernetes is an open-source software used for deploying, scaling, and managing container-based applications. Kubernetes provides APIs that control containers running on virtual machines based on resource utilization. Containers allow moving workloads to any cloud infrastructure. Kubernetes is written in Go programming language. There are a number of Kubernetes certified service providers (KCSP). In addition, each of the leading cloud providers offers fully managed Kubernetes services:
        • Amazon Elastic Kubernetes Service (EKS)
        • Azure Kubernetes Services (AKS)
        • Google Kubernetes Engine (GKE)
      • Operating Systems. Linux’s open-source operating system in its various distributions has become the default solution in cloud computing environments. Red Hat Enterprise Linux is a standard OS that allows users to scale applications across all types of environments, including bare-metal, virtual, and containers. Main Operating systems are:
        • Red Hat Enterprise Linux
        • Ubuntu
        • CentOS
        • Debian
        • Windows Server
      • Network Infrastructure and Security. Network infrastructure solutions allow organizations to deploy hybrid infrastructures while keeping on-premise systems running. Integrating on-premise environments with cloud services brings operational consistency, control, and visibility, increasing the performance and security of applications delivered to locations. Latency, capacity, availability, and security can be optimized by leveraging functionality such as traffic management (network buffering, protocol optimization, compression, caching), load balancing, SSL offload, and firewalling. Virtual private clouds (VPC) provide security and improved connectivity between data centers by setting up subnets, security groups, IP ranges, route tables, and network gateways.
      • Cloud Storage Services. Cloud providers offer hybrid storage that uses gateways to transfer data and connect on-premise applications to clouds, as well as move data and file backups. Easy integration with embedded security and low-latency performance allow on-premise applications to work with data in the cloud. Once data is moved to the cloud and backup workflows are optimized, a new door opens to an array of services that power the enterprise digital transformation process.
    • Platform-as-a-Service (PaaS). The PaaS service provides a cloud environment to support the software development lifecycle, without spending money on hardware, software, hosting, and provisioning. PaaS contains the services from IaaS as well as additional services.
      • Server Development Frameworks. This type of software is used by developers to build applications and allow control of the development process. Examples include:
        • Java Spring Framework. VMWare Spring is an open-source application development framework for the Java Platform.
        • Apache Tomcat. The Apache Tomcat (also called Tomcat Server) is a popular open-source software for the implementation of Java servlet programs that run on web servers or applications.
        • Payara Platform. The Payara Platform is a cloud-native platform for running Jakarta EE and MicroProfile applications in any cloud environment. It works with serverless systems, microservices, and reactive systems. Running applications with the Payara Platform in the cloud can take the approach of building a traditional domain deployment with IaaS capabilities and virtual machines or building a scalable deployment using containers and Kubernetes clusters.
      • IoT Platforms. IoT platforms include the middleware or software provided by public cloud or industry-specific built-in solutions to manage the complexities of a specific project. Considerations in IoT projects include connectivity protocols, interoperability, device types, software stack, etc.
      • Analytics Services and Tools. Data streaming from many sources—in large amounts with differing qualities—presents a challenge for the enterprise. Determining an appropriate data access, management, and implementation strategy (with the right tools) is an important business decision.
      • Data Lake. A data lake is a data storage repository of raw data in its native format (structured, semi-structured, or unstructured). Raw data is structured and models configured when the user is ready to access the data. A data lake provides flexibility and data availability, allowing smaller queries that result in faster and more relevant datasets.
      • Data Warehousing. Data warehousing is a highly structured repository of data that has been modeled with a purpose for real-time analytics, ad-hoc analysis, operational reporting, and data monetization.
      • Cloud Data Platforms. Cloud data platforms control resources of data across infrastructures.
        • Snowflake. Snowflake is a multi-cloud data platform solution that connects data across the organization to build a modern data architecture without the complexity. This platform runs workloads with elasticity, scalability, and performance. Snowflake provides data storage, multi-cluster computing, data sharing, data lake, data replication, and analytics services. It also provides data warehouse as a service (also known as SaaS, which is described in greater detail later).
    • Function-as-a-Service (FaaS). In the FaaS service model, the operational infrastructure is managed by a platform and executed on demand, with data deployed in containers.
      • Serverless Computing. Serverless computing is a cloud-native development model that allows to build and run apps without managing servers. Server components and resources are provisioned by a public cloud service provider and are driven by events. Public cloud providers include AWS Lambda, Azure Functions, Google Cloud Functions, and IBM Cloud Functions, to name a few.
    • Backend-as-a-Service (BaaS). The BaaS model provides developers with a link of applications to the back end, including cloud-provider services such as encryption, user authentication, database management, usage data, remote updating, push notifications, and hosting.
      • Firebase. Firebase is an app development platform built on Google infrastructure with all the tools to build a successful app. Firebase handles all the details of the backend infrastructure, including managing and monitoring with a web console in order to track analytics, databases, crash reports, messaging, etc.
    • Software-as-a-Service (SaaS). SaaS is a cloud subscription-based computing model in which a software application runs on the SaaS provider’s servers and is accessed via the web or vendor APIs. With this model, the user does not have to install or download any software. Cloud-based SaaS apps are the largest market segment in public cloud services. Popular examples include:
      • NetSuite
      • Salesforce
      • Tableau

    Cloud-Native Apps

    Krasamo builds web-based and mobile cloud-native apps that are adaptive, responsive, and scalable. Apps are delivered faster with development lifecycles deployed in cloud environments. The agile methodologies and approach of the DevOps teams allows monitoring of continuous integration and continuous deployment (CI/CD).

    Krasamo

    Krasamo is a software development company with expertise in mobile app development, IoT, firmware, cloud computing, software-as-a-service projects, cloud deployment services, cloud architecture, and data mining. Contact our cloud team for an exploratory no-obligation call.

    About Us: Krasamo is a mobile-first Cloud Computing and consulting company focused on the Internet-of-Things and Digital Transformation.

    Click here to learn more about our cloud consulting services.

    RELATED BLOG POSTS

    Cloud Adoption Efforts Drive High Performance

    Cloud Adoption Efforts Drive High Performance

    Cloud adoption enables the right technologies and processes in cloud environments required to operate efficiently in the digital world. In addition, a modern operating model with the correct implementation of cloud services creates real competitive advantages.