Google Cloud Certified Professional Cloud Architect Study Guide. Dan Sullivan
Чтение книги онлайн.
Читать онлайн книгу Google Cloud Certified Professional Cloud Architect Study Guide - Dan Sullivan страница 21
Application Design and Cost Considerations
In addition to specifying business and product strategy, business requirements may state things that you should consider in application design, such as a preference for managed services and the level of tolerance for disruptions in processing. Implicit in business requirements is the need to minimize costs while meeting business objectives.
One measure of costs is total cost of ownership (TCO). TCO is the combination of all expenses related to maintaining a service, which can include the following:
Software licensing costs
Cloud computing costs, including infrastructure and managed services
Cloud storage costs
Data ingress and egress charges
Cost of DevOps personnel to develop and maintain the service
Cost of third-party services used in an application
Charges against missed service-level agreements
Network connectivity charges, such as those for a dedicated connection between an on-premises data center and Google Cloud
While you will want to minimize the TCO, you should be careful not to try to minimize the cost of each component separately. For example, you may be able to reduce the cost of DevOps personnel to develop and maintain a service if you increase your spending on managed services. Also, it is generally a good practice to find a feasible technical solution to a problem before trying to optimize that solution for costs.
Some of the ways to reduce costs while meeting application design requirements include managed services, using preemptible virtual machines, and data lifecycle management. Google also offers sustained uses discounts and reserved VMs, which can help reduce costs.
Managed Services
Managed services are Google Cloud Platform services that do not require users to perform common configuration and maintenance operations. For example, Cloud SQL is a managed relational database service providing MySQL, SQL Server, and PostgreSQL databases. Database administration tasks, such as backing up data and patching operating systems, are performed by Google and not by customers using the service. Managed services are good options in the following cases:
Users do not need low-level control over the resources providing the service, such as choosing the operating system to run in a VM.
Managed services provide a functionality that would be difficult or expensive to implement, such as developing a machine vision application.
There is little competitive advantage to performing resource management tasks. For example, the competitive advantage that may come from using Apache Spark for analytics stems from the algorithms and analysis methodologies, not from the administration of the Spark cluster.
Architects do not necessarily need to know the details of how managed services work. This is one of their advantages. Architects do not need to develop an expertise in natural language processing to use the Natural Language AI, but they do need to understand what kinds of functions managed services provide. See Table 2.1 for brief descriptions of some of the Google Cloud Platform managed services.
TABLE 2.1 Examples of Google Cloud Platform managed services
Service Name | Service Type | Description |
---|---|---|
AutoML Tables | AI and machine learning | Machine learning models for structured data |
Recommendations AI | AI and machine learning | Personalized recommendations |
Natural Language AI | AI and machine learning | Entity recognition, sentiment analysis, and language identification |
Cloud Translation | AI and machine learning | Translate between languages |
Cloud Vision | AI and machine learning | Understand contents of images |
Dialogflow Essentials | AI and machine learning | Development suite for voice and text conversational apps |
BigQuery | Analytics | Data warehousing and analytics |
Cloud Datalab | Analytics | Interactive data analysis tool based on Jupyter Notebooks |
Dataproc | Analytics | Managed Hadoop and Spark service |
Cloud Data Fusion | Data management | Data integration and ETL tool |
Data Catalog | Data management | Metadata management service |
Dataflow | Data management | Stream and batch processing |
Cloud Spanner | Database | Global relational database |
Cloud SQL | Database | Regional relational database |
Cloud Deployment Manager | Development | Infrastructure-as-code service |
Cloud Pub/Sub | Messaging | Messaging service |
Cloud Composer | Orchestration | Data workflow orchestration service |
Bigtable | Storage | Wide column, NoSQL database |
Cloud Data Transfer
|