Azure for Architects
eBook - ePub

Azure for Architects

Ritesh Modi

Partager le livre
  1. 358 pages
  2. English
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et Android
eBook - ePub

Azure for Architects

Ritesh Modi

DĂ©tails du livre
Aperçu du livre
Table des matiĂšres
Citations

À propos de ce livre

Your one stop guide to making the most out of Azure CloudAbout This Book‱ Get familiar with the different design patterns available in Microsoft Azure‱ Develop Azure cloud architecture and a pipeline management system‱ Get to know the security best practices for your Azure deploymentWho This Book Is ForIf you are Cloud Architects, DevOps Engineers, or developers who want to learn key architectural aspects of the Azure Cloud platform, then this book is for you. Prior basic knowledge of the Azure Cloud platform is good to have.What You Will Learn‱ Familiarize yourself with the components of the Azure Cloud platform‱ Understand the cloud design patterns‱ Use enterprise security guidelines for your Azure deployment‱ Design and implement Serverless solutions‱ See Cloud architecture and the deployment pipeline‱ Understand cost management for Azure solutionsIn DetailOver the years, Azure cloud services has grown quickly, and the number of organizations adopting Azure for their cloud services is also gradually increasing. Leading industry giants are finding that Azure fulfills their extensive cloud requirements.This book will guide you through all the important and tough decision-making aspects involved in architecturing a Azure public cloud for your organization. The book starts with an extensive introduction to all the categories of designs available with Azure. These design patterns focus on different aspects of cloud such as high availability, data management, and so on.Gradually, we move on to various aspects such as building your cloud structure and architecture. It will also include a brief description about different types of services provided by Azure, such as Azure functions and Azure Analytics, which can prove beneficial for an organization. This book will cover each and every aspect and function required to develop a Azure cloud based on your organizational requirements.By the end of this book, you will be in a position to develop a full-fledged Azure cloud.Style and approachThis hands-on guide to the Azure Cloud platform covers different architectural concepts and implementations necessary for any enterprise scale deployment.

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramĂštres et de cliquer sur « RĂ©silier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez rĂ©siliĂ© votre abonnement, il restera actif pour le reste de la pĂ©riode pour laquelle vous avez payĂ©. DĂ©couvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptĂ©s aux mobiles peuvent ĂȘtre tĂ©lĂ©chargĂ©s via l’application. La plupart de nos PDF sont Ă©galement disponibles en tĂ©lĂ©chargement et les autres seront tĂ©lĂ©chargeables trĂšs prochainement. DĂ©couvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accĂšs complet Ă  la bibliothĂšque et Ă  toutes les fonctionnalitĂ©s de Perlego. Les seules diffĂ©rences sont les tarifs ainsi que la pĂ©riode d’abonnement : avec l’abonnement annuel, vous Ă©conomiserez environ 30 % par rapport Ă  12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement Ă  des ouvrages universitaires en ligne, oĂč vous pouvez accĂ©der Ă  toute une bibliothĂšque pour un prix infĂ©rieur Ă  celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! DĂ©couvrez-en plus ici.
Prenez-vous en charge la synthÚse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte Ă  haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accĂ©lĂ©rer ou le ralentir. DĂ©couvrez-en plus ici.
Est-ce que Azure for Architects est un PDF/ePUB en ligne ?
Oui, vous pouvez accĂ©der Ă  Azure for Architects par Ritesh Modi en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Computer Science et Cloud Computing. Nous disposons de plus d’un million d’ouvrages Ă  dĂ©couvrir dans notre catalogue.

Informations

Année
2017
ISBN
9781788398732
Édition
1
Sous-sujet
Cloud Computing

DevOps on Azure

Software development is a complex undertaking comprising of multiple processes, tools and involves people from different departments. They all need to come together and work in a cohesive manner. With so many variables, the risks are high while delivering to the end customers. One small omission or misconfiguration and the application might come crashing down. This chapter is about adopting and implementing practices that reduce this risk considerably and ensure that high quality software can be delivered to the customer again and again.
Before getting into the details about DevOps, let's understand problems faced by software companies that are addressed by DevOps.
  • Organizations are rigid and do not welcome change
  • Rigid and time-consuming processes
  • Isolated teams working in silos
  • Monolithic design and big bang deployments
  • Manual execution
  • Lack of innovation
In this chapter, we will go detail about the following:
  • DevOps
  • DevOps practices
  • Configuration management
  • Continuous integration
  • Continuous deployment
  • Continuous delivery
  • Visual Studio Team Services
  • DevOps preparation
  • DevOps for PaaS solution
  • DevOps for virtual machine (IaaS) based solutions
  • DevOps for container (IaaS) based solutions
  • Azure automation
  • Azure tools for DevOps

What is DevOps?

Today there is no consensus in the industry regarding the definition of DevOps. Every organization has formulated their own definition of DevOps and have tried to implement it. They have their own perspective and think they have implemented DevOps if they have their automation in place, configuration management enabled, by using agile processes or any other combination.
DevOps is about the delivery mechanism of software systems. It is about bringing people together, making them collaborate and communicate, working together towards a common goal and vision. It is about taking joint responsibility, accountability, and ownership. It is about implementing processes that foster collaboration and a service mindset. It enables delivery mechanisms that bring agility and flexibility within the organization. Contrary to the popular belief, DevOps is not about tools, technology, automation. These are enablers that help in collaboration, implemention of agile processes and faster and better delivery to the customer.
There are multiple definitions available on the internet for DevOps and they are neither wrong nor incorrect. DevOps does not provide a framework or methodology. It is a set of principles and practices that, when employed within an organization, engagement, or project, achieves the goal and vision of both DevOps and the organization. These principles and practices do not mandate any specific process, tools and technologies and environment. DevOps provides the guidance which can be implemented through any tool, technology, and process, although some of the technology and processes might be more applicable to achieve the vision of DevOps principles and practices.
Although DevOps practices can be implemented in any organization that provides services and products to customers, going forward in this book, we will look at DevOps from the perspective of software development and the operations department of any organization.
So, what is DevOps? DevOps is defined as:
It is a set of principles and practices bringing both developers and operations teams together from the start of the software system for faster, quicker, and efficient end-to-end delivery of the software system to the end customer, again and again in a consistent and predictable manner reducing time to market, thereby gaining competitive advantage.
Read out loudly the preceding definition of DevOps and if you look at it closely, it does not indicate or refer to any specific processes, tools or technology. It is not prescribing any particular methodology or environment.
The goal of implementing DevOps principles and practices in any organization is to ensure that the demands of stakeholders (including customers) and expectations are met efficiently and effectively.
The customer's demands and expectations are met when:
  • Customer gets the features they want
  • Customer gets the feature when they want
  • Customer gets faster updates on features
  • Quality of delivery is high
When an organization can meet the above expectations, customers are happy and remain loyal to the organization. This in turn increases the market competitiveness of the organization which results in a bigger brand and market valuation. It has a direct impact on the top and bottom line of the organization. The organization can invest further on innovation and customer feedback, bringing about continuous changes to its system and services to stay relevant.
The implementation of DevOps principles and practices in any organization is guided by its surrounding ecosystem. This ecosystem is made of the industry and domains the organization belongs to.
DevOps is based on a set of principles and practices. We will look into details about these principles and practices later in this chapter. The core principles of DevOps are the following:
  • Agility
  • Automation
  • Collaboration
  • Feedback
The core DevOps practices are the following:
  • Continuous integration
  • Configuration management
  • Continuous deployment
  • Continuous delivery
  • Continuous learning
DevOps is not a new paradigm, however it is gaining a lot of popularity and traction in recent times. Its adoption is at its highest level and more and more companies are undertaking this journey. I purposely mentioned DevOps as a journey because there are different levels of maturity within DevOps. While successfully implementing continuous deployment and delivery are considered as the highest level of maturity in this journey, adopting source code control, agile software development is considered as a beginning.
One of the first thing DevOps talks about is breaking the barriers between the developers and the operations team. It brings about the close collaboration aspect between multiple teams. It is about breaking the mindset that the developer is responsible for writing the code only and passing it on to operations for deployment once it is tested. It is also about breaking the mindset that operations have no role to play in development activities. Operations should influence the planning of the product and should be aware of the features coming up as release. They should also continually provide feedback to the developers on the operational issues such that they can be fixed in subsequent releases. They should influence the design of the system for better operational working of the system. Similarly, the developers should help the operations in deployment of the system and solve incidents when they arise.
The definition talks about faster, quicker, and efficient end to end delivery of systems to stakeholders. It does not talk about how fast, quick, or efficient the delivery should be. It should be fast or quick enough depending on the organization domain, industry, customer segmentation, and more. For some organizations, fast enough could be quarterly while for others it could be weekly. Both types are valid for DevOps point of view and they can deploy relevant processes and technologies to achieve the same. DevOps does not mandate it. Organizations should identify the best implementation of DevOps principles and practices based on their overall project, engagement, and organization vision.
The definition also talks about end-to-end delivery. It means that from the planning and delivery of the system to the services and operations should be part of the DevOps implementation. The processes should be such that it allows for greater flexibility, modularity, and agility in the application development life cycle. While organizations are free to use the best fit process--Waterfall, Agile, Kanban, and more, typically, organizations tend to favor agile processes with iterations-based delivery. This allows for faster delivery in smaller units which are far more testable and manageable compared to large big delivery.
DevOps talks about end customers again and again in a consistent and predictable manner. This means that organizations should continually deliver to customers with newer and upgraded features using automation. We cannot achieve consistency and predictability without the use of automation. Manual work should be reduced to none to ensure a high level of consistency and predictability. The automation should also be end to end, to avoid failures. This also indicates that the system design should be modular allowing faster delivery as they are reliable, available, and scalable. Testing plays a great role in consistent and predictable delivery.
The end result of implementing the before-mentioned practices and principles is that the organization is able to meet the expectations and demands of customers. The organization is able to grow faster than the competition and further increase the quality and capability of their product and services through continuous innovation and improvement.

DevOps practices

DevOps consists of multiple practices each providing distinct functionality to the overall process. The following figure shows the relationship between them. Configuration management, continuous integration, and continuous deployment form the core practices that enables DevOps. When we deliver software services combining these three services, we achieve continuous delivery. Continuous delivery is a capability and maturity of an organization dependent on the maturity of configuration management, continuous integration, and continuous deployment. Continuous feedback at all stages forms the feedback loop that helps in providing superior services to the customers. It runs across all DevOps practices. Let's deep dive into each of these capabilities and DevOps practices:

Configuration management

Business application and services need an environment ...

Table des matiĂšres