Skip to main content
main-content

Über dieses Buch

Build large-scale, mission-critical hardened applications on the Azure cloud platform. This 2nd edition provides information on the newer features in Azure, such as Linux extensions and supporting Azure Services such as HDInsight and SQL Server on Linux. Updated with new applications Hardening Azure Applications also discusses Scale Sets (VMSS), a major upgrade that enables autoscaling and seamlessly makes machines ready for high availability.

The authors take you step by step through the process of evaluating and building applications with the appropriate hardness attributes. After a small introduction to cloud computing, you will learn about various cloud and hardened cloud applications in detail. Next, you will discover service fundamentals such as instrumentation, telemetry, and monitoring followed by key application experiences. Further, you will cover availability and the economics of 9s. Towards the end, you will see how to secure your application and learn about the modernization of software organisations, a new topic in this edition.

After reading this book, you will master the techniques and engineering principles that every architect and developer needs to know to harden their Azure/.NET applications to ensure maximum reliability and high availability when deployed at scale.

What You Will Learn

Use techniques and principles to harden Azure/.NET applications

Secure your applications on Azure

Create a scale set on Azure

Work with service fundamentals such as instrumentation, telemetry, and monitoring

Who This Book Is For

Developers and IT professionals who are working on Azure applications.

Inhaltsverzeichnis

Frontmatter

Chapter 1. Introducing the Cloud Computing Platform

Abstract
This chapter introduces two of the most widely used cloud platforms—Amazon Web Services and Microsoft Azure.
Suren Machiraju, Suraj Gaurav

Chapter 2. Cloud Applications

Abstract
In the previous chapter, we discussed the cloud platforms currently on offer and the applicability of these platforms for your application. In this chapter, I will cover the details of these cloud platforms. Later in the chapter, I will map generic application types and characteristics to the platforms. I will also cover deployment options: public cloud, private cloud, and a combination of the two—a hybrid cloud best suited for the design and deployment of your application. The chapter will conclude with guidance on the pros and cons of each deployment approach, and criteria for selecting the most appropriate platform for your application.
Suren Machiraju, Suraj Gaurav

Chapter 3. Hardened Cloud Applications

Abstract
In the previous chapters, we examined the capabilities of two cloud platforms—Microsoft Azure and Amazon Web Services—and took a quick tour of application classifications. In this chapter, I will tie it all together by showing you how to host a “hardened” application on the cloud platform. However, before we venture into how to harden an application, let us get a better understanding of why it is important to harden an application and then review the features of a hardened application.
Suren Machiraju, Suraj Gaurav

Chapter 4. Service Fundamentals: Instrumentation, Telemetry, and Monitoring

Abstract
Running your application as a service on a vendor cloud platform data center poses a different set of challenges than running it on your own data center. With your own data center, you have physical and administrative access to the hardware and operating system, so you can troubleshoot with relative ease, including live debugging as required.
Suren Machiraju, Suraj Gaurav

Chapter 5. Key Application Experiences: Latency, Scalability, and Throughput

Abstract
Developers often lose sight of the application experience because it is not related to application hardening. Additionally, some of the measures that we take to harden the application could be detrimental to the user experience; e.g., active-active disaster recovery across geographically distant data centers could result in poor transaction processing and significantly degrade the overall performance of the end-to-end solution. So, before we plunge into the world of hardening your application, let us review the following application experiences: latency, scalability, and throughput.
Suren Machiraju, Suraj Gaurav

Chapter 6. Failures and Their Inevitability

Abstract
In previous chapters, we reviewed the incredible demands imposed on your cloud applications. Customers expect your application to be available, reliable, and responsive every time they log in. While these are great goals to strive for, given the complexity of most applications, failures are inevitable. In this chapter, you will learn how the most sophisticated cloud vendors are learning from their failures, and, more importantly, the techniques used to identify failure areas and deal with those inevitable failures. Dealing with failure quickly will definitely lead to success.
Suren Machiraju, Suraj Gaurav

Chapter 7. Failures and Recovery

Abstract
In the previous chapter, we discussed the inevitability of failures. As I explained, a well-designed and hardened application is all about early failure detection and quick recovery from those inevitable failures.
Suren Machiraju, Suraj Gaurav

Chapter 8. High Availability, Scalability, and Disaster Recovery

Abstract
In previous chapters, we touched upon the core tenets of cloud services and how to apply them to designing and building a hardened application. This chapter covers the most important aspects of hardened applications, which directly impact user experience and, ultimately, the commercial success of your cloud application. These three aspects are as follows:
Suren Machiraju, Suraj Gaurav

Chapter 9. Availability and Economics of 9s

Abstract
Your customers depend on your cloud application to complete tasks. Even the smallest amount of downtime at an inopportune moment could mean a customer is not able to complete a task, which ultimately leads to a loss in revenue for you and, more importantly, the erosion of the customer’s confidence. Therefore, you must ensure that your cloud application is available when your customers need it. However, a high level of availability requires a significant investment of time and effort.
Suren Machiraju, Suraj Gaurav

Chapter 10. Securing Your Application

Abstract
In previous chapters, we discussed the benefits of the cloud platform and outlined how to leverage the cloud platform to harden your application so as to be able to scale out or up, and so it is perpetually available to your customers to conduct business
Suren Machiraju, Suraj Gaurav

Chapter 11. The Modernization of Software Organizations

Abstract
The previous chapters covered the fundamental shift brought forward by cloud platforms, especially regarding the time and cost involved in marketing your application. This evolution has caused software organizations and groups to re-evaluate the process of developing, testing, and releasing software in relatively short cycles. Software and IT organizations are also leveraging cloud-based tools to bring significant efficiencies to the process of developing, testing, and managing releases. As a result, IT organizations are being forced to implement far-reaching changes and modernize their organizational structure and processes. In this chapter, you will learn how to modernize your organization and put the right processes in place. You will also be advised regarding your choice of cloud tools so as to be more productive and get ahead in the Cloud Era.
Suren Machiraju, Suraj Gaurav

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise