Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

#ATAGTR2018 Presentation "Performance Testing and Monitoring of Containerized Microservices" by Harshala Nagarkar.

14 views

Published on

Harshala Nagarkar who has a very solid back ground on performance testing, took a Session on "Performance Testing and Monitoring of Containerized Microservices" at Global Testing Retreat #ATAGTR2018

please refer our linkedin post for session details
https://www.linkedin.com/pulse/performance-testing-monitoring-containerized-harshala-alliance/









Published in: Technology
  • Be the first to comment

  • Be the first to like this

#ATAGTR2018 Presentation "Performance Testing and Monitoring of Containerized Microservices" by Harshala Nagarkar.

  1. 1. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) #ATAGTR2018 Performance Testing and Monitoring of Containerized Microservices Harshala Nagarkar 27th September 2018
  2. 2. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) Containerization Containerization is the process of hosting an application or microservice inside of a virtual container, rather than a virtual machine.  Software images are source code / metadata packages which describe a single software component.  A package (container) is stored/retrieved from a registry(public or private) and can be “played using a container run time(Docker Daemon).  Docker is open source but can be commercialized and is used in conjunction with orchestration engines and scripting interfaces (CLIs)  Docker containers run on Linux only (process isolated)  Multiple containers can be played on a single virtual machine offering economies of scale in deploying and managing software via containerization
  3. 3. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) What are Containers? Containers are a technology that let you deploy an application and its dependencies as an isolated unit that is abstracted from the underlying hardware. A container provides the application with everything it needs to run, including dedicated resources such as CPU, memory, and networking. Multiple applications (or multiple copies of an application) can run on the same server at the same time, each within its own container—a feature called multi-tenancy. Virtual Machines vs Containers . Compared to VMs, containers are lighter weight, consume fewer server resources, and are quicker to deploy and run. The figure below shows a server running virtual machines and one running containers. Let's walk through the differences
  4. 4. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) The table below summarizes some of the key differences between VMs and containers. Virtual Mahines (VMs) Containers Require a copy of the operating system for each VM Share a copy of the operating system with other containers Consume more server resources per application Consume fewer server resources per application Can be created and started within minutes Can be created and started within seconds Make security simpler, because each application uses a separate kernel Make security more challenging, because applications share the same kernel Are better for running multiple applications on multiple servers Are better for running multiple copies of the same application on a server Virtual Machines vs Containers
  5. 5. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) Containers can provide many improvements over our current environment. Among them:  Agile application creation and deployment: Increased ease and efficiency of container image creation compared to VM image use.  Continuous development, integration, and deployment: Provides for reliable and frequent container image build and deployment with quick and easy rollbacks (due to image immutability).  Dev and Ops separation of concerns: Create application container images at build/release time rather than deployment time, thereby decoupling applications from infrastructure.  Environmental consistency across development, testing, and production: Runs the same on a laptop as it does in the cloud.  Resource isolation: Predictable application performance.  Resource utilization: High efficiency and density Why Containers?
  6. 6. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) Definition Wikipedia defines Docker as "an open-source project that automates the deployment of software applications inside containers providing an additional layer of abstraction and automation of OS- level virtualization on Linux“ Benefits it allows users to package an application with all of its dependencies into a standardized unit for software development Unlike virtual machines, containers do not have the high overhead and hence enable more efficient usage of the underlying system and resources Overview of Docker Containers and Kubernetes
  7. 7. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) KUBERNETES-  Kubernetes is an orchestration engine for containers. It supports Docker and other container formats.  A platform for automating container operations such as deployment, scheduling and scalability across a cluster of nodes. It can run on-premise, hybrid, or public cloud infrastructure.  Other orchestration engines include Swarm, Apcera, Mesos, ECS, Rancher ...etc. Kubernetes provides specific capabilities like:  Create / Manage and deploy Kubernetes clusters via scriptable interfaces  Deploy and monitor containers onto clusters  Backup and restoration of the cluster to a known state  Scaling of the container deployment (auto scaling)  Update the cluster and container version with new versions of software  Debug the running state of the Cluster and Containers  Service association with a deployment with intrinsic load balancing Overview of Docker Containers and Kubernetes Cont..
  8. 8. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) This architecture of Kubernetes provides a flexible, loosely-coupled mechanism for service discovery. Like most distributed computing platforms, a Kubernetes cluster consists of at least one master and multiple compute nodes. The master is responsible for exposing the application program interface (API), scheduling the deployments and managing the overall cluster. Each node runs a container runtime, such as Docker or rkt, along with an agent that communicates with the master. A pod is a collection of one or more containers. The pod serves as Kubernetes’ core unit of management. Pods act as the logical boundary for containers sharing the same context and resources. Kubernetes Architecture
  9. 9. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) • As with any technology shift, adoption of containers necessitates the ability to monitor their health and understand impact on performance. Common container issues arising from misconfiguration and capacity management can have critical impact on services. • To provide visibility and insight into containerized environments, there are numerous tools which can help in monitoring the environment. To name a few - Instana, TruSight, Dynatrace. Instana Monitoring Instana automatically discovers and monitors Docker containers. Container monitoring will:  provide realtime insights into metadata, configuration, metrics  watch the health of each container and alert on issues  enable service discovery leveraging container information (see Service Configuration)  place this insight within the context of the rest of your infrastructure/services Performance Monitoring & Troubleshooting
  10. 10. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) Instana sends alerts based on Events. Events can be associated with error stack traces or general behaviour, and are created when Instana's own algorithms for the entity type detect erroneous behaviour. There are three major event types:  Issues  Incidents  Changes Incidents Tab- To view alerts and other events, click on the Incidents tab in Instana. The below image shows an Issue event being highlighted. Instana Monitoring Cont..
  11. 11. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) After finding the issue or incident, you can go to the application Dashboard to view stats and see related stack traces Instana Monitoring Cont..
  12. 12. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) Clicking on Traces Touching (touching the service) or Traces Starting (originating with the service) in the dashboard will bring up the stack traces for the application. Instana Monitoring Cont..
  13. 13. #ATAGTR2018 As a author of this presentation I/we own the copyright and confirm the originality of the content. I/we allow Agile testing alliance to use the content for social media marketing, publishing it on ATA Blog or ATA social medial channels(Provided due credit is given to me/us) THANK YOU!

×