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.
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 ratings0% 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.
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.