{"id":29174,"date":"2022-03-25T12:53:10","date_gmt":"2022-03-25T12:53:10","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=29174"},"modified":"2022-12-23T06:20:13","modified_gmt":"2022-12-23T06:20:13","slug":"what-is-hashicorp-boundary-and-how-it-works-an-overview-and-its-use-cases","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/what-is-hashicorp-boundary-and-how-it-works-an-overview-and-its-use-cases\/","title":{"rendered":"What is HashiCorp Boundary and How it works? An Overview and Its Use Cases"},"content":{"rendered":"<h3>History &amp; Origin of\u00a0 HashiCorp Boundary<\/h3>\n<p>Mitchell Hashimoto and Armon Dadgar, HashiCorp\u2019s co-founders, met at the University of Washington in 2008, where they worked on a research project together \u2014 an effort to make the groundbreaking public cloud technologies then being developed by Amazon and Microsoft available to scientists.<\/p>\n<p>After graduating, they both moved to San Francisco. There \u2014 recognizing early on the impact this technology was poised to have on the world \u2014 Mitchell founded HashiCorp, with Armon joining him as a co-founder the next year.<\/p>\n<p>As cloud adoption expanded, they recognized that organizations would eventually need to adopt multiple clouds, and would consequently require a consistent and reliable set of automation tools to seamlessly deploy and connect their applications to any combination of multiple cloud and on-premises environments.<\/p>\n<h3>What is HashiCorp Boundary<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-29176 size-full\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/03\/assets-1.png\" alt=\"\" width=\"1550\" height=\"545\" \/><\/p>\n<p>HashiCorp Boundary is an open-source identity access management (IAM) tool that facilitates secure user access to dynamic hosts and critical infrastructure across environments. However, if you need a simple and secure way to manage access to databases, Kubernetes clusters, cloud CLIs, switches, routers, or internal web applications, there are other services to consider. In this blog post, we\u2019ll take a look at a few alternatives and discuss the strengths and weaknesses of each. First, a quick side-by-side comparison of the features you may want to consider.<\/p>\n<h2><strong>Hashicorp Boundary<\/strong><\/h2>\n<h3>Brief product summary<\/h3>\n<p>HashiCorp released Boundary in 2020 as an answer to Vault users\u2019 need for a session management (as opposed to\u00a0credential management) solution. The project aims to simplify onboarding and create a dynamic workflow for system access, especially in high-automation environments, by granting authenticated and authorized users access to sensitive systems. It uses the principle of least privilege, allowing developers and operators just enough access to perform the required job. This limits access to larger networks, reducing the risk of compromise. Boundary also monitors and logs session metadata.<\/p>\n<h3>How HashiCorp Boundary works aka HashiCorp Boundary architecture?<\/h3>\n<p class=\"style_description__w2N4S g-type-body-small\">ashiCorp Boundary is a secure remote access solution that provides an easy way to allow access to applications and critical systems with fine-grained authorizations based on trusted identities. Across clouds, local data centers, low-trust networks, Boundary provides an easier way to protect and safeguard access to application and critical systems by trusted identities without exposing the underlying network<\/p>\n<ul class=\"style_items__7yL2i\">\n<li class=\"style_item__Ibdk3 g-type-display-5\">Platform-agnostic proxy for dynamic targets<\/li>\n<li class=\"style_item__Ibdk3 g-type-display-5\">No SSH keys or VPN credentials to manage<\/li>\n<li class=\"style_item__Ibdk3 g-type-display-5\">Just-in-time credentials via HashiCorp Vault<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.boundaryproject.io\/_next\/static\/images\/how-boundary-works-ec3acc0f18eb05b2182ff24dbe55e026.svg\" alt=\"How it works\" \/><\/p>\n<h3>Use case of HashiCorp Boundary<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-29177 size-full\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/03\/assets-2.png\" alt=\"\" width=\"1459\" height=\"702\" \/><\/p>\n<h3>Use cases<\/h3>\n<ul role=\"list\">\n<li>Hashicorp Boundary is open-source and free identity-based security.<\/li>\n<li>Role-based and logical service authorization.<\/li>\n<li>Uses SSO to manage, onboard, and offboard users.<\/li>\n<li>Integrate with existing tools and APIs.<\/li>\n<\/ul>\n<h3>Pluses<\/h3>\n<ul role=\"list\">\n<li>Dynamic resource catalogs.<\/li>\n<li>Planned integration with Terraform, AWS\/GCP\/Azure, Kubernetes for live updating of catalogs based on tags in v0.2.<\/li>\n<li>Dynamic credentials.<\/li>\n<li>Integration with Vault and others for end-to-end dynamic credentials.<\/li>\n<li>Authenticate with identity provider already in use.<\/li>\n<\/ul>\n<h3>Minuses<\/h3>\n<ul role=\"list\">\n<li>Tools are confusing.<\/li>\n<li>Complex setup with lots of &#8220;moving parts&#8221;. Users have trouble figuring out what to run together and how to integrate.<\/li>\n<li>Requires a third tool, Consul, to manage services and machine-to-machine access.<\/li>\n<\/ul>\n<h3>Feature and Advantage of using HashiCorp Boundary<\/h3>\n<div class=\"style_feature__hcduq\">\n<div class=\"style_featureIcon__geYI_\"><\/div>\n<div>\n<h3 class=\"style_featureHeading__VTE_x g-type-display-4\">Identity-based access<\/h3>\n<p class=\"style_featureContent__nf9DM g-type-body-small\">Enables privileged sessions for users and applications based on user identity and role.<\/p>\n<div class=\"style_icon__ihTKR style_size-medium__Mtp22 style_at-right__IKclo style_animation-inbound__2Qr_m\"><\/div>\n<\/div>\n<\/div>\n<div class=\"style_feature__hcduq\">\n<div class=\"style_featureIcon__geYI_\"><\/div>\n<div>\n<h3 class=\"style_featureHeading__VTE_x g-type-display-4\">Session visibility and audit logs<\/h3>\n<p class=\"style_featureContent__nf9DM g-type-body-small\">Visibility into session metrics, events, logs, and traces with the ability to export data to business intelligence and event monitoring tools.<\/p>\n<div class=\"style_icon__ihTKR style_size-medium__Mtp22 style_at-right__IKclo style_animation-inbound__2Qr_m\"><\/div>\n<\/div>\n<\/div>\n<div class=\"style_feature__hcduq\">\n<div class=\"style_featureIcon__geYI_\"><\/div>\n<div>\n<h3 class=\"style_featureHeading__VTE_x g-type-display-4\">Seamless IDP integration<\/h3>\n<p class=\"style_featureContent__nf9DM g-type-body-small\">Integrate with IDP of choice, including Azure Active Directory, Okta, and many others that support Open ID Connect.<\/p>\n<div class=\"style_icon__ihTKR style_size-medium__Mtp22 style_at-right__IKclo style_animation-inbound__2Qr_m\"><\/div>\n<\/div>\n<\/div>\n<div class=\"style_feature__hcduq\">\n<div class=\"style_featureIcon__geYI_\"><\/div>\n<div>\n<h3 class=\"style_featureHeading__VTE_x g-type-display-4\">Dynamic secrets management<\/h3>\n<p class=\"style_featureContent__nf9DM g-type-body-small\">Leverage Vault integration for the brokering of Vault secrets to Boundary clients via the command line and desktop clients for use in Boundary sessions.<\/p>\n<div class=\"style_icon__ihTKR style_size-medium__Mtp22 style_at-right__IKclo style_animation-inbound__2Qr_m\"><\/div>\n<\/div>\n<\/div>\n<div class=\"style_feature__hcduq\">\n<div class=\"style_featureIcon__geYI_\"><\/div>\n<div>\n<h3 class=\"style_featureHeading__VTE_x g-type-display-4\">Dynamic service discovery<\/h3>\n<p class=\"style_featureContent__nf9DM g-type-body-small\">Automate service discovery and access configuration as workloads are deployed or changed. Coming soon.<\/p>\n<p class=\"style_featureContent__nf9DM g-type-body-small\"><span style=\"font-size: 24px;font-weight: bold\">Infrastructure as code<\/span><\/p>\n<p>Define policies and manage Boundary with an Infrastructure as Code approach. Terraform provider supports the full breadth of Boundary configurations.<\/p>\n<\/div>\n<\/div>\n<h3 class=\"style_feature__hcduq\">Best Alternative of\u00a0 HashiCorp Boundary<\/h3>\n<div class=\"co8aDb\" role=\"heading\"><b>Top Alternatives to HashiCorp Boundary<\/b><\/div>\n<div class=\"RqBzHd\">\n<ul class=\"i8Z77e\">\n<li class=\"TrT0Xe\">AWS IAM. It enables you to manage access to AWS services and resources securely. &#8230;<\/li>\n<li class=\"TrT0Xe\">Teleport.<\/li>\n<li class=\"TrT0Xe\">AWS Service Catalog.<\/li>\n<li class=\"TrT0Xe\">SailPoint.<\/li>\n<li class=\"TrT0Xe\">BeyondTrust.<\/li>\n<li class=\"TrT0Xe\">Thycotic Secret Server.<\/li>\n<li class=\"TrT0Xe\">Oathkeeper.<\/li>\n<li class=\"TrT0Xe\">ManageEngine PAM360.<\/li>\n<\/ul>\n<h3>Best Resources, Tutorials and Guide for\u00a0 HashiCorp Boundary<\/h3>\n<ol>\n<li><a href=\"https:\/\/www.boundaryproject.io\/\" target=\"_blank\" rel=\"noopener\">boundaryproject.io<\/a><\/li>\n<li><a href=\"https:\/\/learn.hashicorp.com\/boundary\" target=\"_blank\" rel=\"noopener\">learn.hashicorp.com<\/a><\/li>\n<\/ol>\n<h3>Free Video Tutorials of\u00a0 HashiCorp Boundary<\/h3>\n<iframe loading=\"lazy\"  id=\"_ytid_15856\"  width=\"760\" height=\"427\"  data-origwidth=\"760\" data-origheight=\"427\" src=\"https:\/\/www.youtube.com\/embed\/ekNmSgEb4Ys?enablejsapi=1&autoplay=0&cc_load_policy=0&cc_lang_pref=&iv_load_policy=1&loop=0&rel=1&fs=1&playsinline=0&autohide=2&theme=dark&color=red&controls=1&disablekb=0&\" class=\"__youtube_prefs__  no-lazyload\" title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<iframe loading=\"lazy\"  id=\"_ytid_73710\"  width=\"760\" height=\"427\"  data-origwidth=\"760\" data-origheight=\"427\" src=\"https:\/\/www.youtube.com\/embed\/pGfSITzcTQ0?enablejsapi=1&autoplay=0&cc_load_policy=0&cc_lang_pref=&iv_load_policy=1&loop=0&rel=1&fs=1&playsinline=0&autohide=2&theme=dark&color=red&controls=1&disablekb=0&\" class=\"__youtube_prefs__  no-lazyload\" title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div>\n<h3>Interview Questions and Answer for\u00a0 HashiCorp Boundary<\/h3>\n<p><strong>Q1. What is Hashicrop Boundary?<\/strong><\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-27878\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1602530901-boundary-blog-1-edited-1024x550.png\" alt=\"\" width=\"1024\" height=\"550\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1602530901-boundary-blog-1-edited-1024x550.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1602530901-boundary-blog-1-edited-300x161.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1602530901-boundary-blog-1-edited-768x413.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1602530901-boundary-blog-1-edited-1536x826.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1602530901-boundary-blog-1-edited-2048x1101.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>The HashiCorp Boundary is a very safe remote access solution that gives you an easy way to allow access to applications and critical systems with fine-grained authorizations based on trusted identities.<\/p>\n<p><strong>Q2. What are the benefits of Boundary?<\/strong><\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-27879\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1603825753-boundary-diagram-1-1024x594.png\" alt=\"\" width=\"1024\" height=\"594\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1603825753-boundary-diagram-1-1024x594.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1603825753-boundary-diagram-1-300x174.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1603825753-boundary-diagram-1-768x446.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1603825753-boundary-diagram-1-1536x892.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/1603825753-boundary-diagram-1-2048x1189.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>It gives you to manage access to AWS services and resources securely. By Using (IAM), you can create and manage AWS users and groups, and use permissions to allow and deny their access to AWS resources. The Teleport makes it easy for users to securely access infrastructure and meet the toughest compliance requirements.<\/p>\n<p><strong>Q3. What is the use of Boundary?<\/strong><\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-27880\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/boundary-components-min-1024x370.png\" alt=\"\" width=\"1024\" height=\"370\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/boundary-components-min-1024x370.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/boundary-components-min-300x108.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/boundary-components-min-768x278.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/boundary-components-min.png 1192w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<p>The hashicrop Boundary provides a secure way to access hosts and critical systems without having to manage credentials or expose your network, and is fully open source.<\/p>\n<p><strong>Q4. What is an ORM tool?<\/strong><\/p>\n<p>It is basically a technique that maps the object that is stored in the database. An ORM tool helps in simplifying data creation, manipulation, and access. It internally uses the Java API to interact with the databases.<\/p>\n<p><strong>Q5. Why use Hibernate Framework?<\/strong><\/p>\n<ul>\n<li>Hibernate overcomes the shortcomings of other technologies like JDBC.<\/li>\n<li>It overcomes the database dependency faced in the JDBC.<\/li>\n<li>Changing of the databases cost a lot working on JDBC, hibernate overcomes this problem with flying colors.<\/li>\n<li>Code portability is not an option while working on JDBC. This is easily handled by Hibernate.<\/li>\n<li>Hibernate strengthens the object level relationship.<\/li>\n<li>It overcomes the exception-handling part which is mandatory while working on JDBC.<\/li>\n<li>It reduces the length of code with increased readability by overcoming the boilerplate problem.<\/li>\n<\/ul>\n<p><strong>Q6. What are the different functionalities supported by Hibernate?<\/strong><\/p>\n<ul>\n<li>Hibernate is an ORM tool.<\/li>\n<li>Hibernate uses Hibernate Query Language(HQL) which makes it database-independent.<\/li>\n<li>It supports auto DDL operations.<\/li>\n<li>This Java framework also has an Auto Primary Key Generation support.<\/li>\n<li>Supports cache memory.<\/li>\n<li>Exception handling is not mandatory in the case of Hibernate.<\/li>\n<\/ul>\n<p><strong>Q7. What are the technologies that are supported by Hibernate?<\/strong><\/p>\n<p><strong>Hibernate supports a variety of technologies, like:<\/strong><\/p>\n<ul>\n<li>XDoclet Spring<\/li>\n<li>Maven<\/li>\n<li>Eclipse Plug-ins<\/li>\n<li>J2EE<\/li>\n<\/ul>\n<p><strong>Q8. What is HQL?<\/strong><\/p>\n<p>HQL is the acronym of Hibernate Query Language. It is an Object-Oriented Query Language and is independent of the database.<\/p>\n<p><strong>Q9. How to achieve mapping in Hibernate?<\/strong><\/p>\n<p>Association mappings are one of the key features of Hibernate. It supports the same associations as the relational database model. They are:<\/p>\n<p>One-to-One associations<\/p>\n<p>Many-to-One associations<\/p>\n<p>Many-to-Many associations<\/p>\n<p>You can map each of them as a uni- or bidirectional association.<\/p>\n<p><strong>Q10. Name some of the important interfaces of the Hibernate framework?<\/strong><\/p>\n<p>Hibernate interfaces are:<\/p>\n<p>SessionFactory (org.hibernate.SessionFactory)<\/p>\n<p>Session (org.hibernate.Session)<\/p>\n<p>Transaction (org.hibernate.Transaction)<\/p>\n<p><strong>Q11. What is One-to-One association in Hibernate?<\/strong><\/p>\n<p>In this type of mapping, you only need to model the system for the entity for which you want to navigate the relationship in your query or domain model. You need an entity attribute that represents the association, so annotate it with an @OneToOne annotation.<\/p>\n<p><strong>Q12. What is the One-to-Many association in Boundary?<\/strong><\/p>\n<p>In this type of association, one object can be associated with multiple\/different objects. Talking about the mapping, the One-to-Many mapping is implemented using a collection that does not have any redundant elements. This One-to-Many element of the set indicates the relation of one object to multiple objects.<\/p>\n<p><strong>Q13. What is Many-to-Many association in Boundary?<\/strong><\/p>\n<p>Many-to-Many mapping requires an entity attribute and a @ManyToMany annotation. It can either be unidirectional and bidirectional. In Unidirectional, the attributes model the association and you can use it to navigate it in your domain model or JPQL queries. The annotation tells Hibernate to map a Many-to-Many association. bidirectional relationship, mapping allows you to navigate the association in both directions.<\/p>\n<p><strong>Q14. How to integrate boundary and Spring?<\/strong><\/p>\n<p>Boundary is also one of the most commonly used Java frameworks in the market today. Spring is a JavaEE Framework and Hibernate is the most popular ORM framework. This is why Spring Hibernate combination is used in a lot of enterprise applications.<\/p>\n<p>The following are the steps you should follow to integrate Spring and Hibernate.<\/p>\n<p>Add Hibernate-entity manager, Hibernate-core, and Spring-ORM dependencies.<\/p>\n<p>Create Model classes and corresponding DAO implementations for database operations. The DAO classes will use SessionFactory that will be injected by the Spring Bean configuration.<\/p>\n<p>Note that you don\u2019t need to use Hibernate Transaction Management, as you can leave it to the Spring declarative transaction management using @Transactional annotation.<\/p>\n<p><strong>Q15. What do you mean by Boundary Configuration File?<\/strong><\/p>\n<p>Boundary Configuration File mainly contains database-specific configurations and are used to initialize SessionFactory. Some important parts of the Hibernate Configuration File are Dialect information, so that hibernate knows the database type and mapping file or class details.<\/p>\n<p><strong>Q16. Mention some important annotations used for Boundary mapping?<\/strong><\/p>\n<p>Boundary supports JPA annotations. Some of the major annotations are:<\/p>\n<ul>\n<li>javax.persistence.Entity: This is used with model classes to specify they are entity beans.<\/li>\n<li>javax.persistence.Table: It is used with entity beans to define the corresponding table name in the database.<\/li>\n<li>javax.persistence.Access: Used to define the access type, field or property. The default value is field and if you want Hibernate to use the getter\/setter methods then you need to set it to a property.<\/li>\n<li>javax.persistence.Id: Defines the primary key in the entity bean.<\/li>\n<li>javax.persistence.EmbeddedId: It defines a composite primary key in the entity bean.<\/li>\n<li>javax.persistence.Column: Helps in defining the column name in the database table.<\/li>\n<li>javax.persistence.GeneratedValue: It defines the strategy to be used for the generation of the primary key. It is also used in conjunction with javax.persistence.GenerationType enum.<\/li>\n<\/ul>\n<p><strong>Q17. What is Session in Boundary and how to get it?<\/strong><\/p>\n<p>Boundary Session is the interface between the Java application layer and Hibernate. It is used to get a physical connection with the database. The Session object created is lightweight and designed to be instantiated each time an interaction is needed with the database. This Session provides methods to create, read, update, and delete operations for a constant object. To get the Session, you can execute HQL queries, SQL native queries using the Session object.<\/p>\n<p><strong>Q18. What is Hibernate SessionFactory?<\/strong><\/p>\n<p>SessionFactory is the factory class that is used to get the Session objects. The SessionFactory is a heavyweight object so usually, it is created during application startup and kept for later use. If you are using multiple databases then you would have to create multiple SessionFactory is a thread-safe object which is used by all the threads of an application. I SessionFactory objects.<\/p>\n<p><strong>Q19. What is the difference between openSession and getCurrentSession?<\/strong><\/p>\n<p>This getCurrentSession() method returns the session bound to the context and for this to work, you need to configure it in the Hibernate configuration file. Since this session object belongs to the context of Hibernate, it is okay if you don\u2019t close it. Once the SessionFactory is closed, this session object gets closed.<\/p>\n<p>openSession() method helps in opening a new session. You should close this session object once you are done with all the database operations. And also, you should open a new session for each request in a multi-threaded environment.<\/p>\n<p><strong>Q20. What do you mean by Boundary configuration file?<\/strong><\/p>\n<ul>\n<li>The following steps help in configuringHibernatefile:<\/li>\n<li>First, identify the POJOs (Plain Old Java Objects) that have a database representation.<\/li>\n<li>Identify which properties of POJOs need to be continued.<\/li>\n<li>Annotate each of the POJOs in order to map the Java objects to columns in a database table.<\/li>\n<li>Create a database schema using the schema export tool which uses an existing database, or you can create your own database schema.<\/li>\n<li>Add Hibernate Java libraries to the application\u2019s classpath.<\/li>\n<li>Create a Hibernate XML configuration file that points to the database and the mapped classes.<\/li>\n<li>In the Java application, you can create a Hibernate Configuration object that refers to your XML configuration file.<\/li>\n<li>Also, build a Hibernate SessionFactory object from the Configuration object.<\/li>\n<li>Retrieve the Hibernate Session objects from the SessionFactoryand write down the data access logic for your application (create, retrieve, update, and delete).<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div class=\"RqBzHd\">\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>History &amp; Origin of\u00a0 HashiCorp Boundary Mitchell Hashimoto and Armon Dadgar, HashiCorp\u2019s co-founders, met at the University of Washington in 2008, where they worked on a research project together \u2014&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-29174","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/29174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=29174"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/29174\/revisions"}],"predecessor-version":[{"id":32434,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/29174\/revisions\/32434"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=29174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=29174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=29174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}