0% found this document useful (0 votes)
68 views

Application Development Using Containerization

The document provides details about Snehal Satish Kalke including educational background, achievements, and work experience. Snehal graduated top of the class in computer engineering and works in research and development focusing on analytics, middleware development, and databases. Additional details on academic qualifications and achievements are also included.

Uploaded by

snehal kalke
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views

Application Development Using Containerization

The document provides details about Snehal Satish Kalke including educational background, achievements, and work experience. Snehal graduated top of the class in computer engineering and works in research and development focusing on analytics, middleware development, and databases. Additional details on academic qualifications and achievements are also included.

Uploaded by

snehal kalke
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Snehal Satish Kalke

● Graduated at the top of the class from Ramrao Adik


Institute of Technology (RAIT) - Computer Engineering
- Batch of 2017.
● Working as a part of the research & development team
at Unotech Software Pvt Ltd.
● Experienced in working on multiple domains including
Analytics, Middleware Development, API development
and Basics of Databases.
● An integral team player, who motivates themselves and
their team continuously to work towards achieving the
goals in a timely fashion and in a manner consistent to
Website: https://goo.gl/Qe6KLh the standards of the organization.
GitHub: https://github.com/snehalkalke5
LinkedIn:https://www.linkedin.com/in/sneh
al-kalke-4b5090115/
Academic Background

College / School Degree CGPA/ Percentage

Ramrao Adik Institute of Bachelor of Engineering in CGPA 9.25


Technology Computer Science

Ramnivas Ruia Junior College HSC 83.83 %

Shivaji Vidyalaya SSC 96.18 %


Achievements
● Secured an Award For Excellence from Vidyalankar Dnyanapeeth Trust for
the year 2014 and 2015.
● Secured First Rank in school SSC examination in the year 2010-11.
● Secured First Place (in Mumbai region) in Mumbai Prantiya Rashtrabhasha
Examination in the year 2008.
● Obtained 13th rank (in Mumbai) in Middle School Scholarship Exam in the
year 2005.
APPLICATION DEVELOPMENT
USING
CONTAINERIZATION

Develop for the future


Overview
● Planning a Project
● Problems faced by developers
● Virtualization as a solution
● Containerization - A better solution
● Using Docker for Implementing Containerization
● Example
● Conclusion
THE PLAN
● Divide the work into units or
modules, and assign one or
more developers to each
module.
● Assign deadlines for each
module and for integration.
● Test each module
independently, their individual
integrations and a system end-
to-end test.
● Test deployment strategies.
● Rework the code in silo to fix
issues.
● REPEAT THE ABOVE.
THE PROBLEM

● Tracking down system-specific dependencies and environment variables.


● Separate, full-fledged environments for each phase of SDLC is very
expensive.
● Updating Individual Components and testing them without affecting the
environment.
● Reducing the time taken for infrastructure setup and focusing on
deliverables.
● Scaling the applications.
VIRTUALIZATION
● Ideally, there is a need for having multiple
setups for -
○ Each individual milestone to be
developed and unit-tested.
○ Integration testing of the milestones.
○ User Acceptance Testing.
○ Production
● Virtualize the hardware into multiple virtual
machines.
● Virtual machines are guest Operating
Systems installed over the base hardware.
● PROBLEM??
CONTAINERIZATION
● OS-level virtualization.
● Flexible: Even the most complex
applications can be containerized.
● Interchangeable: You can deploy updates
and upgrades on-the-fly.
● Portable: You can build locally, deploy to
the cloud, and run anywhere.
● Scalable: You can increase and
automatically distribute container replicas.
● Stackable: You can stack services
vertically and on-the-fly.
DOCKER
● Docker Engine - Open Source Component that provides the docker daemon
and utilities to create and run containers as services.
● Docker Hub - Holds a repository of Images, analogous to Git.
● Docker Compose - Provides cluster like deployment capabilities to the
containers created by utilities of Docker Engine
IMAGES AND CONTAINERS
● Containers are analogous to bare metal computer machines, that are allowed
to share resources with the host system - such as Disk Volumes, RAM and
CPU cores, even networks.
● Images are the software component that are loaded onto the container,
including, base Operating System, Libraries and Binaries and the application
binary and sources.
Example - Middleware Application Interface
Server Setup
● 1 middleware application server called Hydra
● 1 instance of OTRS Service Desk
● 1 instance of MongoDB cluster - consisting of 9 nodes.
● All set up on a base image of CentOS 7 operating system.
● Network setup to assign static IPs and Port Forwarding into the host system.
Benefits
● Reduces OS complexity down to one system.
● Reduces disk and RAM utilization down enough to be managed on a single
workstation.
Setting up OTRS and Middleware Server
● Download Dockerfile for OTRS.
● Download Dockerfile for Middleware Server.
● Build images for both
○ cd hydra && sudo docker build -t “hydraimage:v0” .
○ cd otrs && sudo docker build -t “otrsimage:v0” .
● Start a container for both
○ docker run -itd --name “otrscontainer” --privileged otrsimage /sbin/init
○ docker run -itd --name “hydracont” --privileged hydraimage /sbin/init
● Connect to OTRS and obtain their IP for configuration on middleware
○ docker exec -it otrscontainer bash
■ ip r
● Make changes to Middleware container and commit the changes to image
○ docker commit hydracont snehalkalke666/hydraimage:v1
Setting up MongoDB cluster using Compose
● Create a docker-compose.yml file
● Install docker-compose
○ sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-
`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
○ sudo chmod +x /usr/local/bin/docker-compose
● Start the cluster with one click
○ docker-compose up
Conclusion
How did this help us?

● Reduced my setup time.


● Helped initiate new members to development.
● Rapid Prototyping.
● Separation of Concerns.
● Improve our processes.
100%
The improvement in my back-office to client-side deployment ease.

Reduction in my squabbles with infrastructure team.

Transferring Knowledge.
THANK YOU

You might also like