What this book covers
Chapter 1, Understanding Cloud Computing – Demystifying the Cloud, explains basic concepts related to cloud computing. These concepts will serve as the strong foundation for the whole book. You will learn about various components and service models of cloud computing and how they relate to each other. This chapter will also explore the benefits of using managed services versus unmanaged services.
Chapter 2, Global Infrastructure behind Cloud Platforms – What Is the Cloud Made Of?, explores the global infrastructure powering the cloud. Cloud service providers maintain data centers and related infrastructure all over the world to deliver services to their customers spread across the globe. After going through this chapter, you will have a better understanding of which factors to consider while selecting a location to host your application and services.
Chapter 3, Computing – In Cloud We Trust, Everything Else We Compute, explains how the cloud is all about virtualization and automation. In this chapter, you will learn about virtualization basics and how AWS offers virtual servers in the cloud. You could get started quickly by using preconfigured images and customize the configuration to suit your application or business need.
Chapter 4, Storage – Where should I keep My Data and Maybe Publish It?, looks at how the cloud offers multiple storage options, with different approaches and functionalities. We’ll cover block storage (to provide our virtual servers with the disks they need) and other options, such as file storage, which can be simultaneously accessed from many computers. We’ll also look at object storage, which is a simpler way to store just objects without the need for a full filesystem… but with the ability to publish those files to the internet without needing a server.
Chapter 5, Networking – So, How Do I Get Inside, Outside, and Across the Cloud?, details how most services in the cloud will be located inside networks managed by the cloud provider, and we’ll probably keep some other networks on our on-premises locations. So, how can we connect and access cloud services? How do we get inside, outside, or maybe across the cloud network? Can we connect several networks together, even if some are on-premises? We’ll cover some of these options and introduce the security aspects, which will be fully covered in subsequent chapters.
Chapter 6, Databases – To SQL or Not to SQL for So Many Records…, explains that a database is another fundamental service in IT. The cloud offers multiple database types (relational and non-relational), and for generic or specialized purposes (documents, graphs, in memory, ledger, etc.). This chapter will cover how using a database as a managed service allows the user to concentrate only on the data – no need to worry about hardware, operating systems, or any other unneeded aspect.
Chapter 7, Identity and Access Management – Who Am I and What Can I Do?, looks at how cloud computing provides flexible ways for authentication and authorization of users and applications. This chapter will explain the security controls around identity and access management. These controls can be applied at various levels and allow/deny service access based on different criteria defined in the security policy. Cloud security is based on the principle of least privilege and role-based access.
Chapter 8, Monitoring – Is Big Brother Watching?, shows that once the services are configured to run in the cloud, we have to monitor them. This way, we can see whether they are properly designed, and also anticipate changes. This chapter will focus on how monitoring allows us to decide whether we’re providing the right level of service according to the demand, and see whether all the components behave in the expected way.
Chapter 9, Scalability – I Scale to the Moon and Back, discusses how most services in the cloud provide an inherent level of scalability. This is defined as the ability of a service to adapt automatically to the changing load. This way, the service will add resources to guarantee stable performance, even when the demand grows, and reduce resource consumption when the demand decreases, to save costs. Scalability is especially useful when it is automatic, with no human intervention. This chapter will cover how you define some rules, and the cloud scales the resources for you.
Chapter 10, Automation – Look, My Infrastructure Is in Code!, uses the definition of IT as “the technology that makes computers work for humans, and not the opposite.” Following that definition, we’ll try to create and operate all the services in an automated way, not depending on risky and costly human interaction. In the cloud, there are multiple options, based on writing code, scripts, or declaring tasks in a declarative language. The management of the infrastructure using these techniques is often referred to as “Infrastructure as Code.” This chapter will cover some of the most used ones.
Chapter 11, Decoupled Architectures – in Space and Time, focuses on the concept of removing tight coupling in IT. You will understand the related definition of decoupled architecture and when to use it. Then, you will learn how to use it and its benefits in the cloud. This chapter will also focus on synchronous and asynchronous ways of communication between different services.
Chapter 12, Containers – Contain Yourself and Ship Some Containers, offers an overview of the container world in IT, starting with the basics (web services and microservices concepts) and ending with the benefits that IT architectures based on containers can provide. You will also understand the impact that containers have on the way development teams operate and are organized. You will also learn about various ways to run containerized workloads.
Chapter 13, Serverless – So, Where Are My Servers?, offers an explanation of what the serverless concept means in IT and what a serverless architecture looks like. You will learn when it’s better to go for a serverless strategy compared to a server-based one, but also when the opposite is true. In this chapter, we also clarify how the pay-as-you-go pricing model works and why it is considered one of the main benefits of serverless architectures.
Chapter 14, Caching – Microseconds Latency: Why Are We Always in a Rush?, explains what caching means in IT, and why and when architects and developers would need it for their architectures and applications. You will also learn about the most popular caching strategies.
Chapter 15, Blockchain – Who Watches the Watchmen?, explores the blockchain world and all the concepts around it, including hash chains and properties such as the immutability and verifiability of a ledger database. You will learn about using a blockchain platform over a ledger database, as well as how these technologies could be used in today’s world.
Chapter 16, What the Future Holds, focuses on the advantages of the cloud. The previous chapters have described a good number of services, technologies, and analogies, but this chapter proposes some new paths to continue exploring.