Reader small image

You're reading from  Cloud Native Architectures

Product typeBook
Published inAug 2018
PublisherPackt
ISBN-139781787280540
Edition1st Edition
Concepts
Right arrow
Authors (4):
Tom Laszewski
Tom Laszewski
author image
Tom Laszewski

Tom Laszewski is a leader and cloud technologist who has helped ISVs, SIs, start-ups, and mid-market, and global customers modernization IT systems and develop innovative software solutions. He currently leads a team of Enterprise Technologists responsible for the business and IT transformation strategy with key AWS customers pursuing cloud modernization initiatives and digital transformation efforts utilizing cloud native architecture. He enjoys traveling the world with his teenage sons Slade and Logan.
Read more about Tom Laszewski

Kamal Arora
Kamal Arora
author image
Kamal Arora

Kamal Arora is an inventor, author, and technology leader with more than 15 years of IT experience. He currently works at Amazon Web Services and leads a diverse team of highly experienced solutions architects who enable global consulting partners and enterprise customers on their journey to cloud. Kamal has also led the creation of biggest global technical partnerships, set his team's vision and execution model, and incubated multiple new strategic initiatives. He's passionate about the latest innovations in the cloud and the AI/ML space, and their impact on our society and daily-life.
Read more about Kamal Arora

Erik Farr
Erik Farr
author image
Erik Farr

Erik Farr is a technology leader with over 18 years in the IT industry. He has been on the leading edge of cloud technology and enterprise architecture, working with some of the largest companies and system integrators in the world. In his current role at Amazon Web Services, he leads a team of experienced solution architects to help global system integrator partners design enterprise scale cloud native architectures. Before AWS, he has experience with Capgemini and The Walt Disney Company, always working to create highly valuable outcomes for customers.
Read more about Erik Farr

Piyum Zonooz
Piyum Zonooz
author image
Piyum Zonooz

Piyum Zonooz is a Global Partner Solution Architect at Amazon Web Services, where he works with companies across all industries to help drive cloud adoption and re-architect products to cloud native. He's led projects in TCO analysis, infrastructure design, DevOps adoption, and complete business transformation. Prior to AWS, Piyum was a Lead Architect as part of the Accenture Cloud Practice where he led large-scale cloud adoption projects. Piyum holds a BSc and MSc. degree in Engineering from the University of Illinois at Urbana-Champaign.
Read more about Piyum Zonooz

View More author details
Right arrow

Foreword

The purpose of this book is to find the intersection between practicality and cloud native. It's an exploration of what's possible, and includes the whys and the hows. This book is the jumping-off point for the next generation of cloud computing, nothing less.

The goal is to turbocharge the power of cloud computing, and have applications be all that they can be on the platform. Everyone related to cloud computing can benefit from this book, including developers, end users, and thus the business as a whole. Remember, it should always be the objective of IT to meet and exceed the needs of the business. This book will help IT make effective plans to meet those goals.

The pros of going to cloud-native features include the following:

  • Performance: You typically access native features of the public cloud services to provide better performance than is possible with non-native features. For example, you can deal with an I/O system that works with auto-scaling and load-balancing features.
  • Efficiency: Cloud-native applications' use of cloud-native features and APIs should provide more efficient use of underlying resources. That translates to better performance and/or lower operating costs.
  • Cost: Applications that are more efficient typically cost less to run. Cloud providers send you a monthly bill based upon the amount of resources consumed, so if you can do more with less, you save on dollars spent.
  • Scalability: Because you write the application to the native cloud interfaces, you also have direct access to the auto-scaling and load-balancing features of the cloud platform.

To take proper advantage of a cloud platform, including IaaS platforms such as AWS, you have to design the applications so that they're decoupled from any specific physical resource. For example, if you access I/O directly from a platform such as Linux, you need to access the cloud's abstraction layer, or their native APIs.

Clouds can provide an abstraction or virtualization layer between the application and the underlying physical (or virtual) resources, whether they're designed for cloud or not. But that's not good enough. If you're going truly cloud native, you need to directly control the native resources.

When this architecture is considered in the design, development, and deployment of an application, the utilization of the underlying cloud resources can be as much as 70 percent more efficient. This cloud computing efficiency equals money. You're paying for the resources you use, so applications that work more efficiently with those resources run faster and generate smaller cloud services bills at the end of the month.

Cloud native is not only about changing the code to follow the features of a specific cloud; it's also about changing your approach to architecture design. These cloud-aligned architectures can auto-scale, and are also distributed, stateless, and loosely coupled, just to name a few features. If you want to make applications truly cloud native, the architecture must be rethought before you begin refactoring the code. 

Does this new approach to application architecture suck resources and money, as well as add a great deal of risk? Yes. However, the risk-reward typically leans to the reward side, if the life of an application is 10 to 15 years (which it is for most enterprises). The effort of both re-architecture and refactoring for an application with long-term use will pay for itself many times over. 

When migrating applications to the cloud, the evidence is compelling for the cloud-native applications path. The benefits outweigh the costs for most applications that are picked to move to the cloud, but given that refactoring costs 30 times that of simple re-hosting, enterprises are reluctant to dive in with both feet.

So, this will be another learning process similar to what users saw when we made applications platform-native, Unix/Linux-native APIs. We had to fail before we succeeded.  Here I suspect we'll follow the same patterns. Meaning, in a few years, cloud native will become the best practice. However, that won't happen until we fall on our faces a few more times. Some things never change. 

So, cloud native that leverages cloud native architectures—is it the way to go? Judging by the fact that you're reading the foreword of this book, I suspect you're already convinced that it is. Reading the rest of the book will only seal the deal. When you deploy your first or second cloud-native architecture, you will have truly seen the light.

David Linthicum

Chief Cloud Strategy Officer, Deloitte Consulting LLP

As I write this, in the summer of 2018, cloud computing has become an accepted part of most corporate and enterprise computing strategies. By hosting applications in the cloud, companies can reduce spend and dependence on non-value-adding costs such as brick and mortar/physical facilities, servers, and networks. It's no wonder that nearly 90 percent of companies are tapping into cloud resources in some way, according to RightScale.

However, using the cloud simply as a cheap outsourced or virtualized data center leaves much of the value of cloud computing on the table. By adopting a cloud-native approach to systems and application architectures, companies can take advantage of the elastic and near-limitless compute, storage, and networking capacity of the modern public cloud, and by doing so, provide much better value to their customers.

What are cloud-native applications? Cloud-native apps, first and foremost, are defined by their ability to scale automatically as load increases and decreases. Today, most companies provision the maximum number of servers in their data centers in anticipation of a heavy load—and then watch as, most days, their CPU utilization remains in the single digits. By leveraging automated scale-out features in the cloud, applications can grow—and shrink—as needed without human intervention. If you need capacity, it's available; if you don't, that capacity is returned, and you are not charged for it.

A cloud-native application is also resilient in the face of errors or failures. If, for some reason, a piece of hardware, such as a server or a router, fails, or if a database experiences a catastrophic error, a cloud-native application should detect the error and heal itself, perhaps by creating a new instance of itself on another rack or even in another cloud data center in another region.

Cloud-native computing accelerates both IT and the business it serves, allowing IT to adopt Agile and DevOps-based development approaches faster and with less effort. This enables them to deploy new code more frequently—perhaps many times a day—and use automated testing pipelines for greater reliability. They can experiment with cloud capabilities such as machine learning and advanced analytics without having to make expensive procurement decisions. And, because of the acceleration in IT, businesses can provide better, faster responses to their customers, reach new customers through the cloud's global reach, and perhaps even change their core business models.

There are many new technologies—containers, API gateways, event managers, serverless—that, if properly implemented, can give you the benefits of cloud-native computing as envisioned. However, the shift to cloud native implies not only technological changes but also organizational and cultural changes: moving from a waterfall development model to Agile and lean approaches, implementing a continuous integration/continuous delivery automation, and building a culture of experimentation can help shift to a cloud-native mindset.

The rewards of adopting cloud-native methodologies and architectures include improved IT capability and, more importantly, potentially exponential new innovative opportunities for your business. These benefits make cloud-native computing imperative and a leading driver of modern cloud adoption.

I highly recommend you read Cloud Native Architectures. In it, you'll find recipes for creating applications that use the cloud as intended, opening a new world of intelligent innovative solutions.

Miha Kralj

Managing Director, Cloud Native Architecture, Accenture LLP

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Cloud Native Architectures
Published in: Aug 2018Publisher: PacktISBN-13: 9781787280540
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.
undefined
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 $15.99/month. Cancel anytime

Authors (4)

author image
Tom Laszewski

Tom Laszewski is a leader and cloud technologist who has helped ISVs, SIs, start-ups, and mid-market, and global customers modernization IT systems and develop innovative software solutions. He currently leads a team of Enterprise Technologists responsible for the business and IT transformation strategy with key AWS customers pursuing cloud modernization initiatives and digital transformation efforts utilizing cloud native architecture. He enjoys traveling the world with his teenage sons Slade and Logan.
Read more about Tom Laszewski

author image
Kamal Arora

Kamal Arora is an inventor, author, and technology leader with more than 15 years of IT experience. He currently works at Amazon Web Services and leads a diverse team of highly experienced solutions architects who enable global consulting partners and enterprise customers on their journey to cloud. Kamal has also led the creation of biggest global technical partnerships, set his team's vision and execution model, and incubated multiple new strategic initiatives. He's passionate about the latest innovations in the cloud and the AI/ML space, and their impact on our society and daily-life.
Read more about Kamal Arora

author image
Erik Farr

Erik Farr is a technology leader with over 18 years in the IT industry. He has been on the leading edge of cloud technology and enterprise architecture, working with some of the largest companies and system integrators in the world. In his current role at Amazon Web Services, he leads a team of experienced solution architects to help global system integrator partners design enterprise scale cloud native architectures. Before AWS, he has experience with Capgemini and The Walt Disney Company, always working to create highly valuable outcomes for customers.
Read more about Erik Farr

author image
Piyum Zonooz

Piyum Zonooz is a Global Partner Solution Architect at Amazon Web Services, where he works with companies across all industries to help drive cloud adoption and re-architect products to cloud native. He's led projects in TCO analysis, infrastructure design, DevOps adoption, and complete business transformation. Prior to AWS, Piyum was a Lead Architect as part of the Accenture Cloud Practice where he led large-scale cloud adoption projects. Piyum holds a BSc and MSc. degree in Engineering from the University of Illinois at Urbana-Champaign.
Read more about Piyum Zonooz