並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 1825件

新着順 人気順

terraformの検索結果41 - 80 件 / 1825件

  • 『ソフトウェア設計のトレードオフと誤り』を読んで、”日付や時刻”を扱うことの難しさについて考えた - Magnolia Tech

    ソフトウェア設計のトレードオフと誤り ―プログラミングの際により良い選択をするには 作者:Tomasz Lelek,Jon SkeetオライリージャパンAmazon ソフトウェア開発経験の最初の段階で「一つの機能には複数の選択肢が有って、メリット・デメリットがそれぞれ有り、それらはトレードオフの関係に有り、容易には決めることができない」という事実を教えてもらえる機会に遭遇できていれば、その人はとても幸運だと思う。 先輩や上司が一方的に、「一つの確かな方法」をただ伝える、みたいな場面(それが必ずしも一般的にはそうとは言えない方法であったとしても)も多いのではないでしょうか。 どんなに設計上の意思決定ができている人でも、その頭の中では「色々な選択肢の中で悩んで、ベストではないかもしれないけど、前の前の課題に対してよりベターな方法」を選んでいる。でもその思考の過程を見せてくれる人はとても少ない。

      『ソフトウェア設計のトレードオフと誤り』を読んで、”日付や時刻”を扱うことの難しさについて考えた - Magnolia Tech
    • ITエンジニアが投票した「ITエンジニア本大賞2021」ベスト10発表。「オブジェクト指向UIデザイン」「Clean Agile」「思考法図鑑」など

      ITエンジニアが投票した「ITエンジニア本大賞2021」ベスト10発表。「オブジェクト指向UIデザイン」「Clean Agile」「思考法図鑑」など 「ITエンジニア本大賞」は翔泳社が主催するイベントです。ただし、対象となる書籍は出版社を問わず技術書、ビジネス書全般です。刊行年も関係なく、これまで大賞に選出された書籍を除き、この1年を振り返っておすすめしたい書籍を投票します。 今回発表されたのは技術書部門とビジネス書部門のそれぞれ10冊。 このなかから特に投票の多かった技術書3冊、ビジネス書3冊について、同社が2月18日、19日に開催するオンラインイベント「Developers Summit 2021(デブサミ2021)」において、書籍の著者、編集者、翻訳者などによるプレゼン大会が開催され、特別ゲストとイベント観覧者による最終投票を経て技術書・ビジネス書の各大賞が決定されます。 技術書部門

        ITエンジニアが投票した「ITエンジニア本大賞2021」ベスト10発表。「オブジェクト指向UIデザイン」「Clean Agile」「思考法図鑑」など
      • Slack のインフラはどのように進化してきたか?

        NewsPicksのエンジニア採用サイトです。さまざまな強みを持つエンジニアが、自分たちの個性を活かし、未来を創るための挑戦をしてる自由な環境で、一緒に世の中をおもしろくしてみませんか?

          Slack のインフラはどのように進化してきたか?
        • ソフトウェア設計を学びたい人々にまず教えるべきことはテスト技法ではないか - 余白

          根本の問題意識 ソフトウェアの設計スキルはどのように獲得する(させる)ことが効果的であるのか ソフトウェアアーキテクチャの目的 そもそもソフトウェアアーキテクチャはどのような欲望を満たすための方法か ソフトウェアアーキテクチャの目的は、求められるシステムを構築・保守するための必要な人材を最小限に抑えること である。 (CLEAN ARCHITECTURE) 「求められるシステムを構築・保守するための必要な人材を最小限に抑えたい」 => 構築容易性 と 保守容易性 を確保したい 構築容易性 「構築しやすさ」とは? ソフトウェアを構築するとはどういうことか ソフトウェアの2つの価値: 「振る舞い」と「構造」 振る舞い: 要件を満たすこと => いわゆる機能 構造: 振る舞いを簡単に変更できること => いわゆるアーキテクチャ 構築しやすさ=価値の生み出しやすさ 要件を満たしながら振る舞いを変更

            ソフトウェア設計を学びたい人々にまず教えるべきことはテスト技法ではないか - 余白
          • RESTful のウェブ API 設計で避けるべき 6 つのよくあるミス | Google Cloud 公式ブログ

            ※この投稿は米国時間 2022 年 12 月 1 日に、Google Cloud blog に投稿されたものの抄訳です。 オンラインで、組み立て式のテーブルを注文したとします。ところが、パッケージを開けてみると、組立説明書が入っていません。完成品がどんなものかはわかっていても、それぞれのパーツをどう組み立てればいいのか、まるでわかりません。設計が不十分な API を使うコンシューマ開発者も、同じような経験をしているといえます。適切に設計された API なら、容易に見つけ、検索してアクセスし、使用することができます。高品質の API は、コンシューマ開発者がアイデアをひらめき、新しいユースケースを作り上げる手助けになってさえくれます。 もちろん、API 設計を改善する方法はあります。たとえば、RESTful のプラクティスに従うなどです。しかし、お客様が知らず知らずのうちに、ちょっとした不便

              RESTful のウェブ API 設計で避けるべき 6 つのよくあるミス | Google Cloud 公式ブログ
            • 2021年の「オブジェクト指向」を考える

              きしださんが先日もたのしいお題を投下されていました。 出遅れましたがこのネタについて少し掘り下げてみます。 念のため個人的なスタンスをあらかじめ表明しておくと、オブジェクト指向に対してはそれなりに好意的ですが、別に時代の最先端だとかソフトウェア開発に必須の知識というほどではない(でも知っておくと便利というか、知らないと不便なこともあるかもしれないのでわざわざ避けるのはおすすめしない)というくらい温度感です。 オブジェクト指向 is 何 そもそも「オブジェクト指向」という言葉自体、座りの悪い言葉です。 意味が明確なのは「オブジェクト指向プログラミング(OOP)」、「オブジェクト指向プログラミング言語(OOPL)」、「オブジェクト指向設計(OOD)」「オブジェクト指向分析(OOA)」といった「オブジェクト指向なんとか」の方で、それらをふわっとまとめた(ような気がする)単語が「オブジェクト指向」

                2021年の「オブジェクト指向」を考える
              • AWSコンテナ系アーキテクチャの選択肢を最適化する | 外道父の匠

                これまでもコンテナ関連の記事はそれなりに書いてきましたが、改めて最新事情に合わせて練り直したり見渡してみると、大きなところから小さなところまで選択肢が多すぎると感じました。 コンテナ系アーキテクチャを丸っと他所の構成で真似することって、おそらくほとんどなくて、参考にしつつ自分流に築き上げていくでしょうから、今回は築くにあたってどういう選択肢があるのかにフォーカスした変化系で攻めてみようと思った次第です:-) 目次 今年一発目の長いやつです。半分は学習教材用、半分は道楽なテイストです。 はじめに 基盤 インスタンス or コンテナ ECS or EKS on EC2 or FARGATE X86 or ARM64 ロードバランサー メンテナンス:ALB or ECS Service 共有 or 1環境毎 アクセスログ:ALB or WEBサーバー ECS / EKS デプロイ:Blue/Gr

                  AWSコンテナ系アーキテクチャの選択肢を最適化する | 外道父の匠
                • Software Design連載 2021年9月号 「テストが無い」からの脱却 - MonotaRO Tech Blog

                  こんにちは、鈴木です。 「テストが無い」状態を脱却しました。 「いつの時代かよ!」と突っ込まれるかもしれませんが、モノタロウは創業から 20 年ほど EC をやっています。昨日書いたコードも、15 年前に書いたコードも、元気にビジネスを支えています。 本記事ではモノタロウの EC を支える API の話をします。「テストが無い」状態がスタートラインでした。そこから、CI を導入して、ローカル開発環境の整備して、テストコードを書いて、リリースマネジメントを導入しました。 目新しいことは書きません。長寿の大規模システムであっても、愚直に数年取り組むことで、「前進できる!」「変えられる!」という実例を書きます。 ※本記事の初出は、 Software Design2021年9月号「Pythonモダン化計画(第2回)」になります。第1回の記事は「Software Design連載 2021年8月号

                    Software Design連載 2021年9月号 「テストが無い」からの脱却 - MonotaRO Tech Blog
                  • スタートアップのためのコンテナ入門 – 導入編 | Amazon Web Services

                    AWS Startup ブログ スタートアップのためのコンテナ入門 – 導入編 こんにちは、スタートアップ ソリューションアーキテクトの松田 (@mats16k) です。 今回はコンテナのお話です。今日、多くのスタートアップのお客様が本番環境でコンテナを採用し、ビジネスに活かしております。その一方で、「そろそろコンテナやった方がいいか?」「なんとなく使い始めたけれどこれでいいのか?」「コンテナ自体は分かったけど、サービスでの利用に踏み切れていない」といったご相談も数多く頂いております。 本記事ではコンテナ技術のサービス利用を検討されている方向けに、AWS 上でどうコンテナ化を進めていけばいいのかをお話致します。 目次 コンテナとは コンテナオーケストレーション コンテナ利用時・検討時によくある誤解 コンテナへの移行ステップ コンテナとは まずはじめに改めてコンテナ技術についての復習です。

                      スタートアップのためのコンテナ入門 – 導入編 | Amazon Web Services
                    • 実はDDDってしっくりこないんです - タオルケット体操

                      DDD失敗パターン集 DDDという方法論それ自体に対する僕の立場はあんま好きじゃない寄りのフラット(といいつつほぼ忘れかけている)なんですが、過去何度もDDDでプロジェクトが爆死するのをみたり、爆破してしまったり……というのを見てきたので供養したいとおもいます。 メンバーの大半がDDDを知らない 「えっ!? ドメイン駆動を知らずにDDDを?」 「出来らぁっ!」 DDDを知らずにDDDをする、という前提がすでに禅問答じみてる気がしますが、たぶん一番よく見かける失敗パターンなんじゃあないでしょうか。 どういうことかというと、オニオンとかレイヤードとかクリーンなアーキテクチャのモジュールの命名ルールと構造を採用(採用できているとは言っていない)しただけの状態です。 私見ですが、アーキテクチャというのはメンバー全員がそれを理解できていない限り*1即破綻します。 理解できない人はどこに処理を書いてい

                        実はDDDってしっくりこないんです - タオルケット体操
                      • 『なっとく!関数型プログラミング』は読者の理解度の進捗を先読みして作り込まれた”プログラミング入門”の良書 - Magnolia Tech

                        なっとく!関数型プログラミング 作者:Michał Płachta翔泳社Amazon 良い、買おう、読もう、(コードを)書こう、以上! めっちゃ良いですよ、この本 中盤のプリミティブじゃやりづらい→直積→直和→二つ合わせてADT→値を取り出すためのパターンマッチの解説の流れの疾走感がいいですね— magnoliak🍧 (@magnolia_k_) 2023年8月6日 『なっとく!関数型プログラミング』は、2022年に出版された『Grokking Functional Programming』の邦訳版で、主にScalaを題材として関数型プログラミングを学んでいくための入門書("Grokking"は、完全に理解する、という意味)。あくまで関数型プログラミングの考え方、コードの書き方、良い設計の指針の解説が主眼に置かれているので、Scalaの言語機能の入門書ではない。Scalaの言語仕様を網羅

                          『なっとく!関数型プログラミング』は読者の理解度の進捗を先読みして作り込まれた”プログラミング入門”の良書 - Magnolia Tech
                        • GraphQLの全体像とWebApp開発のこれから - Qiita

                          TL;DR GraphQLはクライアント側とサーバー側の双方の複雑化を解決するために利用されてる フロントエンドにとってGraphQLはHTTP上で動く信頼できる唯一のリソースとして振る舞う フロントエンドの状態管理のベストプラクティスとしてのApollo Client クライアントファーストなAPI, GraphQLはWeb APIのベストプラクティスになり得る クラシックアプリケーションを改修することなくGraphQLとモダンフロントエンドで今どきのアプリを作れる はじめに GraphQLは非常に良く出来たソフトウェア(の仕様)ですが、複数の側面を持つことからすぐに理解することが難しくまだ日本ではあまり受け入れられていない印象があります。GraphQLを端的に何と言われると "全てのフロントエンドのためのAPI BFF" なのですが、それだけで理解出来る人はなかなか居ないように思います

                            GraphQLの全体像とWebApp開発のこれから - Qiita
                          • 【Vue.js】Web API通信のデザインパターン (個人的ベストプラクティス) - Qiita

                            はじめに Vue.jsを使用したアプリケーションでのWeb API呼び出しのデザインパターンについて調べてみました。 しかし検索して出てくるチュートリアルやサンプルは、コンポーネント内でaxiosをインスタンス化していたり、Vuexの中でaxiosを使用するというサンプルがほとんどでした。 しかし実際のプロダクトでこれをしてしまうと コンポーネント内でAPIアクセスの直書きによって単体テストが困難に Vuex(actions)の肥大化(使い回さない処理はStoreに記述しないほうがいいとする文献もある) API通信部分をPureJSでモジュール化しても依存度がイマイチ下がらない(コンポーネントでモジュールをインポートするため)。 などなど問題になることが多そうでした。 ある日、Jorge氏が投稿した「Vue API calls in a smart way」という記事にたどり着きました。

                              【Vue.js】Web API通信のデザインパターン (個人的ベストプラクティス) - Qiita
                            • AWSでバッチ処理を実装する際の選択肢とサービス比較

                              処理が複雑でジョブの依存関係を定義したい場合は、AWS Batch 単体で制御するか、より複雑な場合は Step Functions を用いて Lambda、ECS(Fargate)、AWS Batch(Fargate) を組み合わせる。 AWSにおけるバッチ処理の選択肢 ざっくりとした選択肢は下記。 Lambda ECS(Fargate) AWS Batch(Fargate) これらのサービスに実際は SQS や Step Functions を組み合わせることもあるので選択肢はさらに広がる。 ちなみに、SQS + Fargate(常時起動でポーリング) という構成や、SQS + Lambda + Fargate(都度実行) という構成は、AWS Batch が Fargate に対応した現在は特にメリットがないので取り扱わない。 2021/5/2 追記 「常時リクエストがくるユースケー

                                AWSでバッチ処理を実装する際の選択肢とサービス比較
                              • マイクロソフト、マイクロサービス開発を容易にする「Dapr」をオープンソースで公開。サービス間呼び出し、ステート管理、サービス間メッセージングなど提供

                                マイクロソフトは、マイクロサービスアプリケーションの開発を容易にするためのフレームワーク「Dapr」をオープンソースとして公開しました。現在アルファ版となっており、多くの開発者の協力を求めています。 マイクロサービスアプリケーションは、「マイクロサービス」あるいは単に「サービス」と呼ばれる、それぞれがアプリケーションを構成するための機能を提供する多数のプログラムが疎結合によって連係することで実現されます。 それぞれのサービスはWebサーバのようにステートレスなものもあれば、データベースサーバのように状態をつねに保持するステートフルなものもあります。 また、それぞれ異なるプログラミング言語で開発されたサービスがお互いを呼び出し、メッセージをやりとりする必要があります。 Daprは、こうしたマイクロサービスアプリケーションの開発を容易にするため、プログラミング言語に依存せず、サービス間の呼び出

                                  マイクロソフト、マイクロサービス開発を容易にする「Dapr」をオープンソースで公開。サービス間呼び出し、ステート管理、サービス間メッセージングなど提供
                                • 6年ぶりぐらいにクラウド使った結果、Kubernetes以外のマネージドサービスとか基本要らなくない?となった話 - データエンジニアの酩酊日記

                                  ここ半年ぐらい、かなり久々にクラウド使ってアプリやバッチの基盤作ったりしてきて、色々と思ったことを書き捨てる。 「ちょっと検証してみた」程度のものも含めれば、AWSとGCPは一通り主要なマネージドサービスを触ったし、実際に複数のアプリやらバッチやらをマネージドサービス上で本番稼働させて今も運用してるけど、結局DB以外は基本全部Kubernetesに乗せるのが一番楽だと強く思うようになった。 Kubernetesは学習コストや運用コストがそれなりに高く付くから安易に採用するのはどうなのか、みたいな論調もあるし、つい半年前までは自分もそう思ってた。サーバレスなマネージドサービスが色々出てきているのに、なんでわざわざKubernetesクラスタなんていう設計、運用に手間のかかるクラスタリングサーバーを立てて管理しないとならんのかと。 だけど、実際にいくつかのマネージドサービス使ってアプリやバッチ

                                    6年ぶりぐらいにクラウド使った結果、Kubernetes以外のマネージドサービスとか基本要らなくない?となった話 - データエンジニアの酩酊日記
                                  • 「それ、どこに出しても恥ずかしくないTerraformコードになってるか?」 / Terraform AWS Best Practices

                                    2021年9月30日AWS Dev Day Online Japanの登壇資料 動画はこちら: https://www.youtube.com/watch?v=0IQ4IScqQws

                                      「それ、どこに出しても恥ずかしくないTerraformコードになってるか?」 / Terraform AWS Best Practices
                                    • AWSの主要サービスをローカルでエミュレート、「LocalStack」が1.0に到達

                                      LocalStackを利用することで実際のAWSにアクセスすることなくローカルの環境で開発やテストを行えるようになるため、迅速な開発サイクルの実現やAWSの利用コスト削減などが期待できます。 LocalStackはオープンソースですが、無料で使える「Community」版では基本的なAPI群が利用可能、月額28ドルからの有償となる「Pro」版では全てのAPIが利用可能。さらに上位の「Team」版と「Enterprise」版も用意されています。 AWSの主要サービスをエミュレート LocalStackでエミュレートできるAWSのサービスは、Amazon S3、SQS、SNS、DynamoDB、Route53、AWS Lambdaなどをはじめとする80以上の主要なサービスです。 AWS Command Line Interface(AWS CLI)、AWS Cloud Development

                                        AWSの主要サービスをローカルでエミュレート、「LocalStack」が1.0に到達
                                      • AWSでAZ障害が起きたので困ったことを書いておく - なんかかきたい

                                        前にも似たようなこと書いたなと思ったけどもう一年半も前のことになるのか t-cyrill.hatenablog.jp ご存知の通り昨日 2021/02/19 23:20頃 AWSにて東京リージョンの一つ apne-az1 にて大規模な障害が発生。多くのAWSを利用していたサービスで影響があった。 そんな私はいつものように アラストリリィ アサルトリリィ ラストバレット というゲームを呑気にプレイしていたのだけど、23:25 から緊急メンテに入ってしまった。 どうしたんだろうと思っていたら、社内SlackにてAWSを利用しているサービスがたまに応答しなくなる、Elasticacheが切り替わったなどなどの報告が入り、もしかすると面倒ごとかなと思いながら対応することになった。 起きていたこと 既にAWSからも公開されていることであるが、今回は2019年8月に起きた障害と類似するタイプの障害だっ

                                          AWSでAZ障害が起きたので困ったことを書いておく - なんかかきたい
                                        • インフラ自動化の落とし穴と宣言的アーキテクチャ

                                          2020/07/14 Cybozu Tech Meetup #3

                                            インフラ自動化の落とし穴と宣言的アーキテクチャ
                                          • 実践! Typescript で DDD - マイクロサービス設計のすすめ - Leverages Tech Blog

                                            対象読者 マイクロサービス化を検討しており、実際に作る場合の構成を参考にしたい。 ドメイン駆動設計について、基本的な用語の知識がある。 TypeScript を多少触ったことがある。理解がある。 はじめに こんにちは。エンジニアの吉村です。 現在、弊社が運営する teratail というサービスに携わっており、CakePHP で動作しているモノリシックな既存サービスをマイクロサービスに移行するというプロジェクトを進行中です。 この記事では、実務を通して得た知見として、マイクロサービス化によりどんな恩恵があるのか、具体的にどのような構成で実装をしているのかについてご紹介します。 TL;DR マイクロサービスのバックエンドサービスの実装に焦点を絞って、ドメイン駆動設計 + オニオンアーキテクチャをベースに設計をしました。 本記事では、具体的に「ユーザ新規登録処理」の実装をする場合を例にとり、実

                                              実践! Typescript で DDD - マイクロサービス設計のすすめ - Leverages Tech Blog
                                            • バックエンド Web API に管理画面/管理機能を追加するアーキテクチャパターン - valid,invalid

                                              プレゼンテーションレイヤ、いわゆるフロントエンドがクライアントサイドで実装・実行されるアーキテクチャ (注 1) において、管理画面/管理機能をあとから追加する際にどのような実装パターンがあるのかを整理してみます。 注 1: Presentation Domain Separation の実践の中でも、物理的にプレゼンテーションロジックとドメインロジックを分離しているアーキテクチャです。 用語の整理 プレゼンテーションレイヤ 三層アーキテクチャにおける、システムの利用者へユーザインターフェイスを提供する層です。本記事では"フロントエンド"とほぼ同義で使います。 OSI 参照モデルの第六層ではないです。 バックエンド Web API とは プレゼンテーションを持たない Web API (HTTP プロトコルを用いてネットワーク越しに呼び出すアプリケーション) とします。 プレゼンテーションレ

                                                バックエンド Web API に管理画面/管理機能を追加するアーキテクチャパターン - valid,invalid
                                              • 現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング

                                                オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだの Hatena の件。基本的には同意。ただちょっと切り口が違うので自分の意見を言っておく。ただ、このテーマで何度か書こうとして失敗していて、今回も成功しているとはいえない。 宣言的プログラミングの時代 現代の主流は「宣言的プログラミング」であると思っている。これはリソースの宣言と、その状態遷移の手続きや振る舞いの付与が中心にある。 宣言型プログラミング - Wikipedia その代表的な例がフロントエンドの React と、バックエンドの k8s で、どちらも時系列に基づいた状態の宣言と、フレームワーク側による状態遷移処理、 Reconcillation(調停) が基礎にある。 フロントエンドとバックエンドという両極端な世界で、この変化が起きたのがこの時代を反映したものであると思う。 例えば、jQuer

                                                  現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング
                                                • 2019年のDevOps/MLOpsエンジニアの標準的スキルセット - Qiita

                                                  ちなみに、IT業界全体のシェアとしてはMicrosoftのAzureの方がGCPを上回っていますが、Web業界においてIaaSにAzureを採用している企業さんは2019年時点ではまだまだ少ないので、現状ではとりあえずAzureへのキャッチアップは後回しにしておいて問題ないと思われます。 クラウドアーキテクチャ設計 前述したAWSやGCPの各種マネージドサービスを適切に組み合わせてアーキテクチャ設計を行い、それを構成図に落とし込める能力は必須となります。 いわゆる「アーキテクト」という職種の担当領域でもありますが、「サービスを安定稼働させたまま、バリューをユーザに迅速に届ける」ためには、自動化のしづらい構成が採用されてしまったり、無駄な機能が開発されてしまったり、アンマネージドなツールやサービスが使用されて管理工数が肥大化したりしないように、アーキテクチャ設計の段階からDevOpsエンジニ

                                                    2019年のDevOps/MLOpsエンジニアの標準的スキルセット - Qiita
                                                  • 「Amazonでさえサーバレスやマイクロサービスを理解できない」とDHH氏が主張する一方で、「進化可能なアーキテクチャこそ重要」とAmazonのVogels博士

                                                    Ruby on Railsの作者として知られるDavid Heinemeier Hansson(DHH)氏が自身のブログに5月4日付けで投稿した記事「Even Amazon can't make sense of serverless or microservices」(Amazonでさえサーバレスやマイクロサービスを理解できない)が話題になっています。 これはAmazon Prime Videoの技術部門が3月に自社ブログに投稿した記事「Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%」(Prime Videoの音声映像監視サービスにおけるスケールアップと90%のコスト削減の実現)で紹介された、AWS Lambdaのサーバレスで作られたPrime Videoの監視サービス

                                                      「Amazonでさえサーバレスやマイクロサービスを理解できない」とDHH氏が主張する一方で、「進化可能なアーキテクチャこそ重要」とAmazonのVogels博士
                                                    • 「Pulumi AI」発表。自然言語でAWS、Azure、Cloudflare、Kubernetes、Datadogなど130以上のインフラやサービスのInfra-as-Codeを自動生成

                                                      「Pulumi AI」発表。自然言語でAWS、Azure、Cloudflare、Kubernetes、Datadogなど130以上のインフラやサービスのInfra-as-Codeを自動生成 クラウドをはじめとするITインフラの構成をコードで定義する、いわゆるInfrastructure as Codeツール「Pulumi」を提供するPulumi社は、自然言語からインフラ構成コードを自動生成する「Pulumi AI」を含む、AIを活用した新サービス群「Pulumi Insights」を発表しました。 Exciting news! Pulumi Insights - intelligence for cloud infrastructure – is here. We’ve tapped into the power of generative AI and GPT-4 to automate

                                                        「Pulumi AI」発表。自然言語でAWS、Azure、Cloudflare、Kubernetes、Datadogなど130以上のインフラやサービスのInfra-as-Codeを自動生成
                                                      • 安く早く開発するための個人開発アーキテクチャ

                                                        はじめに 最近趣味で個人開発をしながらアーキテクチャの検討を行なっていたのですが、自分なりにいい感じの結論に辿り着いたので今回はそのアーキテクチャの紹介しようと思います! インフラ、バックエンド、フロントエンドの各セクションに自分が使用しているテンプレートのリポジトリのリンクを載せてあるので興味のある方は参考にしてください。 また今回紹介するアーキテクチャはあくまで一例なので、間違いや不備などがあればご指摘いただければ幸いです。 前提条件 個人開発で使用するアーキテクチャを考える上で、自分の中でいくつか前提条件があります。 ランニングコストを抑える いくつか前提条件がある中で、個人的に一番重要な要素になります。 バズるサービスを作りたいという気持ちはありますが、そのためにいくらでもコストをかけられるかと言われるとそうではありません。むしろ個人開発となると、抑えられるコストはできる限り抑えた

                                                          安く早く開発するための個人開発アーキテクチャ
                                                        • スタートアップのためのコンテナ入門 – AWS Fargate 編 | Amazon Web Services

                                                          AWS Startup ブログ スタートアップのためのコンテナ入門 – AWS Fargate 編 こんにちは、スタートアップ ソリューションアーキテクトの松田 (@mats16k) です。 前回「スタートアップのためのコンテナ入門 – 導入編」という記事を公開致しましたが、今回はスタートアップ企業に特におすすめな AWS Fargate についてご紹介します。 前回もお話しましたが、「そろそろコンテナやった方がいいか?」「なんとなく使い始めたけれどこれでいいのか?」「コンテナ自体は分かったけど、サービスでの利用に踏み切れていない」といった漠然とした課題感をお持ちの方は「スタートアップのためのコンテナ入門 – 導入編」から目を通して頂ければと思います。 ※ 本記事は Amazon ECS を前提に書かれております。(執筆時点では Amazon EKS に未対応であったためです。)Amazo

                                                            スタートアップのためのコンテナ入門 – AWS Fargate 編 | Amazon Web Services
                                                          • マイクロサービスに次に来るかもしれない言葉について - arclamp

                                                            2021年9月18日に開催されたXP祭り2021で「マイクロサービスに至る歴史とこれから」という講演をしました。資料は次の通りです。本来は75分ぐらいかかるのを45分で話そうとして、余裕で時間オーバーしてすみませんでした。 テクノロジーとテクニックによる進化の流れ テクノロジーやテクニックは、ITの改善サイクルを向上させるために進化を続けています。「技術そのもの」であるところのテクノロジーに対して、テクニックというのは「人による技術の活かし方」を示します。なので、基本的にはテクノロジーが生まれ、それを使いこなしたテクニックが登場することになります。 テクノロジーとテクニックの進化の歴史現在、進化中のテクノロジーであるCloud NativeやServerlessを前提としたテクニックを示す用語、つまり、マイクロサービスに次に来るかもしれない言葉というのは、時間軸からすると再来年ぐらいに出て

                                                              マイクロサービスに次に来るかもしれない言葉について - arclamp
                                                            • 監視について思うとこ - y-ohgi's blog

                                                              TL;DR 監視はユーザーにサービスを提供できているかを観測するための行為 SLI/SLOを定めて、SLOを守れるようにモニタリングする ダッシュボードは定常的に表示しておくものと障害時に活用するものを作ると良い アラートはレベル分けして人間が対応しなければならないものだけ人間へ通知する 監視とは サービスを健全に動作させ続けるために監視を行います。 「健全に動作している」の定義はサービスによって異なり、ユーザーにWebページを見せることができることだったり、バッチが正常に終了することだったりします。 最終的にユーザーに正常にサービスを提供できていることを観測するために行うことに変わりはありません。 さてユーザーにサービスを提供するために何を監視しましょうか? クラウド前提であれば個人的にリソースベース(CPU/Memory)より、 SLI/SLOをベース に監視する事が望ましいと考えてい

                                                                監視について思うとこ - y-ohgi's blog
                                                              • 「オブジェクト指向神話からの脱却」という特集をWEB+DB PRESSで書きました - きしだのHatena

                                                                「オブジェクト指向神話からの脱却」というあおり気味タイトルの特集をWEB+DB PRESS vol.132で書きました。 12/24発売!クリスマスプレゼントです WEB+DB PRESS Vol.132 作者:きしだ なおき,加藤 尋樹,斉藤 洸紀,牟田 裕太郎,吉澤 政洋,朝日 リナ,鈴木 僚太(うひょ),川島 義隆,五十嵐 進士,末永 恭正,佐藤 雄太,吉井 健文,牧 大輔,西山 和広,吉田 花春,古川 雅大,岡林 大,池澤 春菜,和田卓人,日高 正博,はまちや2,竹原技術評論社Amazon 大まかには、「オブジェクト」でソフトウェアをぜんぶ考えるということに無理があったので、パーツそれぞれ適したやりかたでやっていこうぜ!という内容です。 ソフトウェアを切り出したときのパーツとしてのオブジェクトの特性が同質であるという暗黙の前提があって、だから「オブジェクトの話をすればソフトウェア開

                                                                  「オブジェクト指向神話からの脱却」という特集をWEB+DB PRESSで書きました - きしだのHatena
                                                                • ソフトウェア設計のトレードオフと誤り

                                                                  「プログラムを設計するときに行った技術的な判断や選択が、後日大きな制約となる」これはプログラマなら誰しも経験したことのあることでしょう。本書は、そんなプログラミングにおける各種の設計上の選択について、トレードオフの内容やそれがどのような誤りを招きうるのかという点を踏まえて紹介する書籍です。 コードの重複、エラーや例外処理、柔軟性と複雑性のバランスのようなコードレベルの選択から、APIの設計、時刻の扱い、データローカリティのようなシステム寄りの話題、またライブラリの選択、分散システムの一貫性と原子性、バージョニングのようなより抽象度の高い内容まで、さまざまなシチュエーションにおけるトレードオフの実態と、その失敗例をとり上げます。 本書は日々のプログラミングにおける解決策のヒントを得るだけでなく、より幅広い設計上の知見を広める上でも役に立つでしょう。 正誤表 ここで紹介する正誤表には、書籍発行

                                                                    ソフトウェア設計のトレードオフと誤り
                                                                  • 「Pragmatic Terraform on AWS」が神本だったので紹介する - Qiita

                                                                    はじめに Pragmatic Terraform on AWS、控えめにいって神本です。 AWSの知識がある程度ある人が、IaC入門するのに最適すぎる。 今週中にやり終わりそうなので、金曜あたりにレポ書きます。 — nari@エンタメ系エンジニア (@fukubaka0825) June 1, 2019 予定より、ちょっと遅くなってしまいましたが、宣言通り書評書いていこうと思います。。 ただただ「Pragmatic Terraform on AWS」を褒めちぎるだけの記事になってしまうことをご了承ください。。 こんな人にオススメ AWSの知識がある程度あって、IaC(Infratecture as Code)に入門してみたい人 他のIaCのツール(CloudFormationとか)を使っていてterraform使ってみたい人 AWSもIaCも全くわからん、、だとちょっと進めるのが辛いかもし

                                                                      「Pragmatic Terraform on AWS」が神本だったので紹介する - Qiita
                                                                    • 保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp

                                                                      保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発⁠⁠、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より 今回、Software Design 2022年3月号 第2特集「そろそろはじめるテスト駆動開発 JavaScriptでテストファーストに挑戦」の第1章「保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像」を本サイトに掲載します。第2章以降については、本誌『Software Design 2022年3月号』電子版(Gihyo Digital Publishing、Amazon Kindle)をご購読いただければ幸いです。 第1章では、混同されることの多い自動テスト関係の概念を、自動テスト、テストファースト、テスト駆動開発の3つの段階に分け、それぞれの効果や注意点を説明します。ソフ

                                                                        保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp
                                                                      • ソフトウェア設計原則は変更容易性に通ず - Shin x Blog

                                                                        色々な原則や方法論はあれど、つまるところいかに変更容易性を確保するかと言う話に帰結するのでは。極論すれは、正しく動いていて変更する必要が無ければどのような作りになっていても構わない。一方、Web アプリケーションを稼働し続ける上で全く変更しなくて良いということもない。— Masashi Shinbara (@shin1x1) 2021年5月30日 ソフトウェア設計、開発には多くの原則や方法論がある。例えば、DRY 原則や SOLID 原則、デザインパターンにレイヤードアーキテクチャ、クリーンアーキテクチャなどある。さらに DDD にも多くの原則や方法論が含まれている。これらを変更容易性を高めるための手段として原則や方法論を捉えるというのが本エントリの論旨である。 原則や方法論の捉え方 変更容易性 本質的な変更と副次的な変更 外部変更容易性と内部変更容易性 原則を適用する指針 さいごに 原則

                                                                          ソフトウェア設計原則は変更容易性に通ず - Shin x Blog
                                                                        • モダンなソフトウェア設計の書籍 - kawasima

                                                                          型駆動設計から始まるフォーマルなアプローチもカバーしているが、フォーマルな方法の簡単な紹介も含まれているもの。

                                                                            モダンなソフトウェア設計の書籍 - kawasima
                                                                          • 「ソフトウェアアーキテクチャの基礎」読書感想

                                                                            2010年代を乗り越えてきた経験者が読むと良さそうという噂を聞いたので読んでみた。 内容まとめではなく感想です。各章のタイトルだけは丸々記載してますが、目次として上記ページで全て公開されているものです。 ちなみにこれ書いている私はソフトウェアアーキテクトではなく、フロントエンドアプリケーションの設計を担当するテックリードぐらいのレイヤーです。この書籍の中でいう「開発者」です。 業務ではフロントエンドアプリケーションの設計・実装をしています。 全体的な感想 1章(イントロダクション)、22章(効果的なチームにする)、23章(交渉とリーダーシップのスキル)が特によかった。 やっぱ "結局人" の部分が刺さってしまう。 心に書きとめておきたい3つを挙げるとしたら以下。 ソフトウェアアーキテクチャとは「構造」「アーキテクチャ特性」「アーキテクチャ決定」「設計指針」の4つから成る 「一見どう見えよう

                                                                              「ソフトウェアアーキテクチャの基礎」読書感想
                                                                            • そんなことあるんだ AWS

                                                                              awswakaran.tokyo #1 で用いたスライドを一部修正したものになります。 間違えたことを言ってたら私を殴ってください。 PDF 化の影響で若干画像がズレてますがご愛嬌でよろしくおねがいします。

                                                                                そんなことあるんだ AWS
                                                                              • Infrastructure as Dataとは何か

                                                                                最近GCPから登場したKubernetes YAMLのPackage managerであるKptは「Infrastructure as Data(Configuration as Data)」という考えかたを基礎としてそれを推し進めようとしている.それ以外にもKubernetesのEcosystemには(明示はされていなくても)この考え方が中心にある.Infrastructure as Codeとは何が違うのかなど歴史を振り返りつつまとめてみる. (指針はBorg, Omega, and Kubernetesという論文にあるが「Infrastrcuture as Data(Configuration as Data)」という言葉を明確に定義した文章はない.この記事はReferencesに挙げるいくつかのPodcastにおける@kelseyhightowerの発言や,それに反応する@bgra

                                                                                • Terraform, Dockerfile, KubernetesなどIaCの脆弱な設定をCI/CDで検知する - knqyf263's blog

                                                                                  概要 自分の所属企業であるAqua SecurityがTFsecというOSSを買収しました。 blog.aquasec.com TFsecはどういうツールかというとTerraformの静的解析スキャナーです。Terraformの設定ファイルを渡すことでセキュリティに関する設定ミスを主に検知してくれます。 github.com そのアナウンスに伴い、TFsecは自分が開発している脆弱性スキャナーであるTrivyに統合されました。TrivyではTerraformに加えDockerfileやKubernetesなど、いわゆるInfrastructure as Code(IaC)の設定ミスを検知するマネージドポリシーも提供しています。他にもJSONやYAMLなど一般的なファイルフォーマットに対応しているため自分でポリシーを書くことでそれらの検知にも使えます。CloudFormationやAnsib

                                                                                    Terraform, Dockerfile, KubernetesなどIaCの脆弱な設定をCI/CDで検知する - knqyf263's blog