Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mobile DevOps

You're reading from   Mobile DevOps Deliver continuous integration and deployment within your mobile applications

Arrow left icon
Product type Paperback
Published in Mar 2018
Publisher Packt
ISBN-13 9781788296243
Length 376 pages
Edition 1st Edition
Languages
Arrow right icon
Authors (2):
Arrow left icon
Rohin Tak Rohin Tak
Author Profile Icon Rohin Tak
Rohin Tak
Jhalak Modi Jhalak Modi
Author Profile Icon Jhalak Modi
Jhalak Modi
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Introduction FREE CHAPTER 2. Working with Code Repository Systems 3. Cross-Platform Mobile App Development with Xamarin 4. Writing Your First Android Application with Xamarin 5. Implementing Automatic Testing Using Xamarin 6. Configuring TeamCity for CI/CD with Xamarin 7. CI/CD for Android with Visual Studio Team Services 8. Deploying Applications on AWS 9. Monitoring and Optimizing Application 10. Debugging the Application 11. Case Studies 12. Other Books You May Enjoy

Introduction to DevOps

DevOps is derived from two different words: development and operations. So as the word suggests, it describes a set of practices in a process while developing software and managing operations tasks.

DevOps as a term was first coined in 2008 by Andrew Shafer and Patrick Debois, who became two of its chief proponents, and since 2009 the term has been widely used and promoted with the goal of unifying the process of software development and operations.

DevOps is not just a set of practices, but also a way of working in the software development industry; it's a cultural change in the way development and operations work together.

Delivering technology to your customers at speed, and aligned to their needs, is key to future growth; this is a practice and can be achieved using DevOps. Adopting DevOps can create a continuous delivery ecosystem that improves the quality and velocity of delivery with all the attendant benefits.

In the traditional method, developers write the code as per the requirements, in any local environment. Once the application is ready, the QA team test the application in an environment that is similar to their production environment.

Once testing is successful and the requirements have been met, the product is released to the operations team for deployment. As both teams are working independently, there is a high chance that the deployment of a version of an application may take a long time and may not work as expected.

However, in DevOps, the process is quite different. Here, developers, QA, and operations collaborate and use various tools for continuous development, integration, delivery, and monitoring, which helps fill a big gap and expedite the process.

In a way, each and every tool works independently but tightly integrated with each other. A faster and automatic release to operations enables stakeholders to quickly respond to changes and meet requirements.

In the past, software development used to be a totally separate process from operations. Releases used to be loosely integrated with the actual development process, thus sometimes creating differences in the way the development environment and the release or production environment worked.

Developers used to finish their development independently from operations, and then operations used to take care of the release and post-release tasks for the project.

This way of working used to work great when the waterfall-style software development model was popular, when every step was sequential, and releases used to be a long process.

In today's world, where agile is the new and popular software development method, more frequent releases are the delivery goals, and only an integrated environment gives that flexibility with the required stability and service quality.

Cultural aspects of DevOps

The biggest cultural difference DevOps brings is pulling together different roles/people into a specific team with the same delivery goal.

People get to do what they are good at and get instant feedback. DevOps enables quick solutions in the case of a technical glitch and contributes to team health, individual satisfaction, and time efficiency and management.

For example, a process that used to take months is now executed in minutes. It turns environment provisioning from a new problem into a delight, at the press of a button.

DevOps has given us the facility and flexibility to invent and focus on actual business needs, instead of managing hours and weeks and months of operational tasks.

Sites such as Amazon, Facebook, LinkedIn, and Twitter are known to do deployments many times a day (sometimes every minute). To deploy that often, they can't break what is already running; they have to complement what is already there.

DevOps helps you to focus on industry logic and what is actually required, instead of maintaining, scaling, clusters, deployment, and much more.

DevOps, in a way, represents and promotes a change in IT culture, focusing on fast and frequent delivery by adopting agile development, simplifying practices in the context of the software development life cycle, including both development and operations.

DevOps focuses on people and culture, and seeks to improve collaboration and integration between development and operations teams. DevOps implementations utilize technologies that ensure integration and quick feedback, and thus ensure quality, particularly by using software process automation tools that can leverage an increasingly programmable and highly dynamic infrastructure from a development and operations life cycle point of view.

Before DevOps

To really understand the benefits and differences of using DevOps, we must have an idea of how things used to work before DevOps. As shown here, operations used to not be integrated with the rest of the development cycle:

After DevOps

In the DevOps way of working, operations are involved in the development process from the initial stages. They have a better understanding of issues that might arise later and can work in the beginning to avoid them during the production stage. Developers get quick feedback and can act on the issues suggested by operations, and vice versa.

You have been reading a chapter from
Mobile DevOps
Published in: Mar 2018
Publisher: Packt
ISBN-13: 9781788296243
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at R$50/month. Cancel anytime