DevOps and Oracle Cloud
Introduction to DevOps :
- DevOps is the union of people (Developers and Admins), process ( Developing code, Deploying it, Monitoring ) and products (Code, Application, Tools etc) to enable the continuous delivery of products/applications to the end users
Fig: DevOps is Intersection of Development, Operations and QA
- DevOps helps to create an environment where application development, testing, and release can happen fast and quick so that one can start and then speed up application development process and delivery based on the company’s requirements.
Fig: Stages in a DevOps tool chain.
Plan-> Create-> Verify-> Package-> Release-> Configure-> Monitor
Adopting DevOps in your Organization
- At present, Application development teams and the IT operations ( Sys Admins, Database Admins, Network and Application Admins ) team work independent of one another.
- The goal of the development team is to deliver the code & update its new features quickly and that of Operations/Admin’s team is to make sure the applications are stable and error free.
- DevOps helps us to break down this separation of working. Now, Developers and Admins/Operations work together towards a common goale to deliver applications in an efficient and speedy manner without disturbing the environment.
- However, for implementing DevOps in a company, we need organizational transformation and understanding of working culture in that organization.
- We need a Small shift in not just technology and processes, but also the culture of the organization. And this is where the heart of the matter lies—that DevOps is not just about implementing the right process, right tools and software, but understanding the working methods of a company and how DevOps would suit/fit that company.
- With the combination of right Automation tools for Development, Testing, Deployment and Monitoring, a successful environment has to be created to check the benefits of DevOps.
- Apple was the first company to develop the DevOps team.
- e-commerce companies like Amazon, eBay followed this and now almost every product based company is trying to implement DevOps team to reduce the time to market. I have been eager for quite a while to check how DevOps would fit 4i Apps!
- After introducing DevOps, these companies achieved bi-weekly release cycle targets which used to be a month before applying DevOps in their Organization.
Oracle cloud and DevOps
Fig: Cloud Infrastructure
- With the availability of cloud, one can access necessary resources like containers, OCPUs, IPs, Memory, OS, Middleware, Database, Development servers etc from the cloud through Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS) on a pay-per-use model and Tools for developing applications quickly with a lesser cost.
- Surveys reveal that more than half of all the application producers are using the cloud for their Application Development and Deployment. We can save time and expenses for these resources when configured on the cloud compared to on a premise environment which is readily available from the Data Centre’s present across the world.
- Irrespective of the number of development teams, one can access the Developer cloud service, securely straight away from the cloud for the entire development process.
- One can smoothly integrate Developer cloud service environment with other PaaS components such as JCS and DBCS for deployments and storage (IaaS) of your application.
- With the help of dash boards present in Developer cloud service, one can maintain multiple codes in parallel for several versions maintained by different teams and keep track of each code towards the finished product.
- Teams can review dashboards and analyze build status, tasks, metrics and stay informed of the latest information. This helps to produce quality applications on time.
Fig: Prominent Developer Cloud Service Features and Workflow
Tools for DevOps
- Oracle Developer cloud service comes up with all the tools we need to set up, analyse build, test, deploy, monitor in a fast way with the Infrastructure and Platform.
- Tools for DevOps can be categorized based on the Automation we choose. Oracle’s and third-party tools like Git, Hudson, Chef, Docker, Maven, Ant, Jenkins etc help us in doing so
Fig: Popular tools available for DevOps
- Docker: Docker is a software container platform. Admin uses Docker to run and manage apps in isolated containers to get better compute density. One can ship new features faster, securely on Linux and Windows.
- Chef: Chef is used to managing the task of configuring and maintaining servers in the form of Infrastructure as a code. It can integrate with cloud-based platforms to automatically provision and configure new machines.
Infrastructure as code (IaC)
- Git: It is a tool used for source code management in application development.
Version control system
- Jenkins is an automation server written in Java. It helps to automate application development process with continuous integration covering all aspects of continuous delivery. It is a server-based system that runs in containers.
Automated Build tool
- Hudson: Hudson is a continuous Integration tool written in Java, which runs in a container such as Apache Tomcat or the GlassFish application server.
Development life cycle :
- We can move forward with the initial code to the final product release using Oracle Developer Cloud service to create and administer the configurations of our code, integrate, test, build and deploy for all stages of development.
- Once we develop the application in Oracle Developer Cloud Service, we can deploy them on Oracle Java cloud service/Weblogic server. It provides easy set up for either test or production environment.
Prerequisites for DevOps :
- We need an understanding with Application or configuration lifecycle in IT operations of a company.
- Familiarity with Linux Administration
- Experience of Developing, Testing or Deploying applications in an enterprise.
- Python/Ruby/Perl /Shell scripts coding.
- Configuration Management using Chef and other tools.
- Adaptation to New technology and culture.
- Today’s fast-moving world makes DevOps definitely needed for business and Companies that are willing to be strong in order to respond rapidly changing customer and business needs and demands.
- DevOps helps us to achieve continuous delivery through continuous integration and continuous monitoring of applications that are updated with latest business requirements with cloud technologies and Automation tools mentioned above.
- DevOps helps us understand how a company can gain real business benefits and bring advantage by delivering products/applications continuously from development to production.
- It would be quite interesting for me personally to check how DevOps would fit 4i Apps culture and Technology!
Author: Myself Pradeep, working at 4i Apps Solutions Pvt Ltd for the past two years as Oracle Fusion Middleware Admin/Oracle Cloud Admin.Internet of Things, Cloud Computing, DevOps is my favored technologies.I love reading Autobiographies and watching combat sports is my favorite pastime